ひとりごと

新しい記事:[3024]  古い記事:[3022] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2016/05/01 (日)

・ イマドキの ZFS Root システム

最近の FreeBSD はインストーラでインストール先のファイルシステムとしてZFSが選択できるようになっています。しかも ZFS Root です。とはいえ、稼働中のサーバを止めてクリーンインストールして復元なんてのは面倒クサすぎなので、 Mac上でVirtualBoxから走らせた仮想PCにFreeBSD 10.3 をインストールして様子を見てみました。

ZFSを使うといっても昔みたいに難しいことは無く、デフォルト設定でポンポンキーを押して進んでいき、UFSの代わりにZFSを選択すると後は普通にインストール完了します。実は sysinstall が使われなくなってから初めて FreeBSD をインストールしたのですが、同じような手順でインストールできるのですな。てことでインストール後のシステムは下記のようになっていました。

- gpart show
=>       34  251658173  ada0  GPT  (120G)
         34          6        - free -  (3.0K)
         40       1024     1  freebsd-boot  (512K)
       1064        984        - free -  (492K)
       2048    4194304     2  freebsd-swap  (2.0G)
    4196352  247459840     3  freebsd-zfs  (118G)
  251656192       2015        - free -  (1.0M)
- zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zroot   117G  1.04G   116G         -     0%     0%  1.00x  ONLINE  -
- zfs list
NAME                 USED  AVAIL  REFER  MOUNTPOINT
zroot               1.04G   112G    96K  /zroot
zroot/ROOT           451M   112G    96K  none
zroot/ROOT/default   451M   112G   451M  /
zroot/tmp             96K   112G    96K  /tmp
zroot/usr            613M   112G    96K  /usr
zroot/usr/home       136K   112G   136K  /usr/home
zroot/usr/ports      613M   112G   613M  /usr/ports
zroot/usr/src         96K   112G    96K  /usr/src
zroot/var            624K   112G    96K  /var
zroot/var/audit       96K   112G    96K  /var/audit
zroot/var/crash       96K   112G    96K  /var/crash
zroot/var/log        144K   112G   144K  /var/log
zroot/var/mail        96K   112G    96K  /var/mail
zroot/var/tmp         96K   112G    96K  /var/tmp
- /boot/loader.conf
kern.geom.label.gptid.enable="0"
zfs_load="YES"
- /etc/rc.conf
hostname="testBSD"
ifconfig_em0="DHCP"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
- /etc/fstab
# Device		Mountpoint	FStype	Options		Dump	Pass#
/dev/ada0p2		none	swap	sw		0	0

まとめると下記になります。

という感じ。うちのサーバは GPTのHDD から起動して同一HDDの別パーティションに入ってるUFS にカーネルファイルを入れています。これと比較して完全 ZFS Root ではカーネル部分が入った部分でセクタ不良が起こったとしても ZFS ですからチェックサムやミラーリングにて正常に読み出せる可能性が高く、いくらか強固になります。が、ブートローダーの部分でたまたまセクタ不良が起きればブート不可能なのは変わりませんから、今のシステムをシングルユーザモードで起動して呪文を唱える(そして失敗するかもしれない)ことを考えれば、現行通りの運用でも特に問題はないでしょう。

ちなみに、この完全 ZFS Root では上記のような理由で起動不能になった場合にどうやって修復するんでしょうね。なんちゃって ZFS Root と違って起動用パーティションというのがありませんし、完全に別のシステムで起動しても頼りの zpool.cache が zpoolの中にあるというジレンマ(笑)。gptzfsboot が別ドライブのZFSを探してきてくれるのであれば、MBRと gptzfsboot だけ入れたHDDをでっち上げてBIOSでそのHDDから起動するように仕向ければよいのかな? ここらへんはちょっと調べておいたほうが良いかもですね。

160501

□ 関連記事

[つっこみ]

新しい記事:[3024]  古い記事:[3022] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)