*[[man ZFS:http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=zfs&dir=jpman-10.1.2%2Fman§=0]] [[man ZPOOL:http://www.jp.freebsd.org/cgi/mroff.cgi?sect=8&cmd=&lc=1&subdir=man&dir=jpman-10.1.2%2Fman&subdir=man&man=zpool]] [#m7f7cc15] #contents ---------------------------- ** zpool.cache [#r242bd4f] -ブート用の一番目にあるプールはキャッシュファイル不要! # インストーラを使わないでZFSインストールの解説サイトで # cachefile の取扱いに工夫されていますがまったく不要です。 # -R /media は cachefile=none,altroot=/media # -N マウントしない altroot= は保存されない # altroot と cachefile=none がなぜセットか # 無理に作ると思わぬ二重マウントが起きるそれが / の場合 # 別メディアで起動して修正しないといけない -ブート時に第一プール以外のプールを読み込んでおきたい場合は必要で&br;/boot/zfs/以下にcreateやimport時に自動的に作成される。 ** snapshot [#a84f1a1b] zfs snap -r zroot/ROOT@08 # -r で再帰的に子供スナップも作成可能 ** rollback [#x25edb0c] zfs rollback -r zroot/ROOT@05 # 直前のsnapより前に戻すときは -r が必須 zfs rollback -r zroot/ROOT/data@05 # 再帰的に出来ないので子供スナップも ** 外部へのバックアップとリストア [#t3d72672] ***バックアップ [#v9633c29] zfs send -vR zroot/ROOT@40 > /mnt/20150523.zfs ***リストア [#a9830ae6] gpart bootcode -p /boot/gptboot -i 1 ada0 # GPTまたは別メディアで起動する shutdown -r now # 今回はGPTから起動させる mount /dev/ada1p1 /media # バックアップしたのをマウント file /media/20150519.zfs # どんなsnapか確認 zpool import # 作成しようとしているプール名が残っていたら zpool labelclear -f /dev/ada0p3 # 強制削除 zpool create -R /mnt -m none zroot ada0p3 # -R で -o altroot=/mnt -o cschefile=none zfs recv -v zroot/ROOT < /media/20150523.zfs # リストア zfs list -t all # 確認 zpool set bootfs=zroot/ROOT zroot # ブートの設定 gpart bootcode -p /boot/gptzfsboot -i 1 ada0 # ZFSブートへ戻す shutdown -r now ** ZFS GPT ブート切替 [#s9aa3fb8] ZFSブートへ gpart bootcode -p /boot/gptzfsboot -i 1 ada0 GPTブートへ gpart bootcode -p /boot/gptboot -i 1 ada0 ** zpool作成時 予想外のzpoolの残骸削除 [#n47c87e4] # #--destroyされてる残骸 # zpool import -D # zpool labelclear /dev/ada0p3 # #--普通に残ってる残骸 # zpool import # zpool labelclear -f /dev/ada0p3 # #--異常な物は最終的には場所を探して # dd if=/dev/zero of=/dev/ada0p3 bs=1M count=10 ** ZFS共有 [#td2a62cd] /etc/rc.conf rpcbind_enable="YES" nfs_server_enable="YES" # NFS共有設定・開始 zfs set sharenfs="-maproot=root -network 192.168.0.0/24" zroot/ROOT/data # 共有設定確認 zfs get -r sharenfs zroot # 共有停止 zfs unshare zroot/ROOT/data # 共有再開 zfs share zroot/ROOT/data # 初期値に戻す zfs inherit sharenfs zroot/ROOT/data ** pool名を変えてインポート [#p9721676] zpool import -f -R /mnt oldname newname ** pool の詳細確認 [#x95fcbb6] zpool get all zroot ** 未整理 [#i18dd429] /boot/loader.conf kern.geom.label.gptid.enable="0" kldstat [[FreeBSD]]