転載・引用について

ユーザ用ツール

サイト用ツール


tweet:2016:0212_01

さくらのVPSにFreeBSD 10.2を入れてみる

背景とまくら

自宅鯖缶をやっている場合、いわゆるCloudサービスやDataCenterを利用している場合と違って、対外接続環境は一般に貧弱になる。 我が家も例に漏れず、対外接続環境はSPoFだし、対外接続用機器だってSPoFである。 しかし、

  • 自宅環境で
  • AS取って
  • Addressブロックも取って
  • BGPでMulti-Homing

などという大げさな事、やっていられるわけも無い。

ISPとの接続は2本あるのだが、Flet'sを利用したMulti-Sessionなので、当然、回線終端は工事業者が設置した終端装置。

とはいえ、終端装置はただのONUとして使っていて、Routerとしての機能はまるで利用せず、ONU→手元のSwitch→pfSense。

おかげさまで、終端装置の機能をまるで利用していないから、終端装置のSecurity Updateとか考える必要が(ほぼ)無い。

ツッコミが来たので書いておくと、ISPとの契約は2本あるが、1本のFlet's回線上にMulti-Sessionで接続している。

1つは、某ISPから/28の空間を割り当ててもらって、試験用サーバーやMail Serverなどを置いてあるService Network

1つは、某々ISPの普通のInternet接続を買い、自分や家族の生活用に利用している。

つまり、実質的には、複数のNetworkを独立して使っている。

このような環境において面倒なのは、

  • 自宅鯖や自宅鯖基盤(仮装基盤)の更新における停止
  • 雷などの天災による瞬停によるシステム再起動による停止
  • 機器故障などによる物理的停止

である。

これらのサービス停止要因は、多くの場合、停止時間も短いから、まぁ、それなりになんとかなる(なってほしい)わけだが、それでも停止時間がかなり長くなる可能性は否定できない。

というわけで、やはりあまり止まって欲しく無いサービスに関しては、自宅環境が散っても最小限動作する環境が欲しいわけである。

以上から、とりあえず、DNS鯖(Contents鯖)とSMTP鯖(Backup MX)を外部のVPS上に置こうと決心した。

という状況はすでに10年以上前からあるので、当然外部に置いている鯖があったのだが、まぁ、心機一転。1から作ろうかと。

選択肢はいっぱいあるのだが、今回は、さくらの一番安いプラン(さくらのVPS 512)を選んだ、 理由は、

  • 安い (¥635/月)
  • FreeBSD 10.2を動かすことができる(保証は無いが、動作実績はある)
  • 2week お試し無料(但しクレジットカード決済の場合のみ)
    • 最低契約期間が3month。
  • VNCを利用して、Console画面が握れる
  • Diskが20GとはいえSSD

である。 お試し期間中ならいつでもやめられるから、試してみるに最適という事もある。 但し、プラン変更する場合、VM instanceを解約し、新しく作らなければならない(鯖の移行や、メモリー/Disk容量の増設、削減はできない)ということをちゃんと認識しておくこと

Installの流れ

実は、それほど難しい事はなく、以下の流れでやるだけ。

  1. さくらインターネットの http://vps.sakura.ad.jpから申し込む。
    1. はじめてのばあい、「初めて利用する」と「同意する」にチェックを入れた上で「次へ」をクリック。
      • あとは、必要情報などを入力して、どんどん進めば良い
    2. で、リージョンとプランを選択し、支払い方法を入力していけば、契約ができる。
  2. 手続き類が全部終わったら、http://vps.sakura.ad.jpからコントロールパネルログインをクリックする
    1. 認証方法選択画面に飛ぶので、「会員IDでログイン」から「ログイン」をクリック
    2. 会員IDとパスワードを入力して「ログイン(認証)」をクリックする
    3. サーバー一覧画面が表示される。
  3. 今回契約したサーバーをクリックする
    1. 諸元を確認する
    2. 右上のOSインストール(Pull down Menu)からISOイメージインストールを選択
    3. SFTPアカウントを作成
    4. 指定された場所にISOイメージをsftpでputする
    5. 書かれている通りに作業すれば、putしたISOイメージから起動するので、あとは普通にFreeBSD 10.2をInstallする
      1. この時、HTML5を解釈できるWeb Browserを利用して、VNC CosoleをHTML5から操作できるのが便利。
    6. Installが終了したら、VM instanceをshutdown(HALT)する。
    7. OSインストール(Pull down Menu)からISOイメージインストールを選択
    8. SFTPアカウントを削除(ISOイメージも削除される)する
    9. Instanceを起動する

手順的に面倒そうに見えるが、実際はとても簡単にInstallできた。

さて、ちょっとだけ落穂拾い

このプラン、Main Memoryが512MiBしかないので、ちょっとメモリー負荷が上がると色々面倒なことになりそうな気がする。 しかし、たかだかほとんどRequestのないサイトのNSとBackup MXやるくらいでお値段1.8倍払うのもちょっと癪である。

しかし、このプランは「SSD」なので、Disk Accessは「それなりに高速」であることが期待出来る。

ならば… 「いざという時のために、SwapをFilesystem側に置いてしまえばいい!」という(ある意味でとても酷い)解決策を採る事にした。

以下に作業を。

  1. まずswapinfoを実行し、Swapがどうなっているかを確認
    # swapinfo 
    Device          1K-blocks     Used    Avail Capacity
    /dev/vtbd0p3      1048540      416  1048124     0%
    # 
  2. 次に、一応Diskのパラメータも見ておく
    # gpart show /dev/vtbd0
    =>      34  41942973  vtbd0  GPT  (20G)
            34      1024      1  freebsd-boot  (512K)
          1058  39844864      2  freebsd-ufs  (19G)
      39845922   2097084      3  freebsd-swap  (1.0G)
      41943006         1         - free -  (512B)
    
    #
    • これで、Swapが、Geom管理されているvtbd0下に1G確保されている事が分かった。
      • 実はこれを見て、拡張するかどうか少し迷ったが、今後の事も考えてあと1Gほどswapを追加する事にした。
  3. ddでswapfileを作成する
    • どこにファイルを置くかは悩んだのだが、/var/cache下にした。
  4. dd if=/dev/zero of=/var/cache/swapfile1 bs=1m count=1024
    1. 一応ファイルサイズを確認しておく。
    2. Owner/Group/Permissionを設定
      • chmod 0600 /var/cache/swapfile1
      • chown root:wheel /var/cache/swapfile1
    3. で、新しく作ったSwapfileをSwapに追加する
      1. mdconfig -a -t vnode -f /var/cache/swapfile1 -u 0 && sudo swapon /dev/md0
    4. Swapの状態を確認する
      # swapinfo -m
      Device          1M-blocks     Used    Avail Capacity
      /dev/vtbd0p3         1023       11     1012     1%
      /dev/md0             1024        0     1024     0%
      Total                2047       11     2036     1%
      #
  5. 最後に、rc.confを設定
    • 以下を追加
      swapfile="/var/cache/swapfile1"

以上。

このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
tweet/2016/0212_01.txt · 最終更新: 2018/05/14 13:50 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki