[[FrontPage]]
#contents

http://www.aisecure.net/2011/11/28/root-zfs-freebsd9/
*FreeBSD 9.0C+ZFS [#a4e725b3]
今回はNEC Express5800/S70タイプPJ を使ってバックアップファイルサーバ

http://wiki.kinusati.net/index.php/FreeBSD:FreeBSD9.0(amd64)_on_ZFS

**(1) FreeBSD 9.0のインストールDVDで起動します。 [#dba33730]
ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/
からインストールイメージ FreeBSD-9.0-RC3-i386-disc1.iso をDL。
CD-Rに焼いてプート。

**(2) Installを選択します [#cecef1bd]

**(3) KeymapをJapanese 106にします [#w3da15aa]
**(4) ホスト名をつけます [#i74453e3]
**(5) パーティショニングを行います。ここでは「Shell」を選択します。 [#wb3889fb]



 gpart add -b 34 -s 64k -t freebsd-boot ada0
 gpart add -b 34 -s 64k -t freebsd-boot da0
の時に 4036byte でないので??みたいなエラーあった

**(6) zpool.cacheを書き込む必要があるため、/tmpを書き込み可能にします。 [#zdc18c03]

 # umount -f /dev/md1
 # mdmfs -s 512M md1 /tmp
**(7) デバイス名を調査します [#r647529f]

 # dmesg | fgrep MB
=> ada0/da0等出力されるので、それがデバイス名になります。今回の場合はada0になります。

**(8) GPT形式で、パーティションを切ります。4GB swapで、それ以外は全領域を割り当てます。 [#d3e84d11]
 # gpart create -s gpt da0
 # gpart add -b 34 -s 64k -t freebsd-boot da0
 # gpart add -s 4G -t freebsd-swap -l swap0 da0
 # gpart add -t freebsd-zfs -l disk0 da0
 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
 
**(9) zpoolを作成します。エラーが出ますが、気にせず進めましょう。 [#s957c632]
後ほどの手順でexport -> importすることで問題解決するからです。 
 # zpool create zroot /dev/gpt/disk0
 # zpool set bootfs=zroot zroot
 # zfs set checksum=fletcher4 zroot


**(10) ZFSパーティションを作成します。ここでもエラーが出ますが、気にせず進めましょう。 [#jeac79e3]
 # zfs set mountpoint=/mnt zroot
 # zfs create zroot/usr
 # zfs create zroot/usr/home
 # zfs create zroot/var
 # zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp
 # zfs create -o compression=lzjb -o setuid=off zroot/usr/ports
 # zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles
 # zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
 # zfs create -o exec=off -o setuid=off zroot/var/db
 # zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
 # zfs create -o exec=off -o setuid=off zroot/var/empty
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log
 # zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
 # zfs create -o exec=off -o setuid=off zroot/var/run
 # zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
**(11) poolをexportしたのちimportします。 [#r2a0b139]
キャッシュファイルは、書き込み許可を与えた/tmp上に作成します。 
 # zpool export zroot
 # zpool import -o cachefile=/tmp/zpool.cache zroot
 
**(12) symlink/sticky bitをたてます。 [#u8d9b761]
 # chmod 1777 /mnt/tmp
 # cd /mnt ; ln -s usr/home home
 # chmod 1777 /mnt/var/tmp
 
**(13) FreeBSDのKernel/バイナリ等を展開します [#t30fbbaf]
 # sh
 # cd /usr/freebsd-dist
 # export DESTDIR=/mnt
 # for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz;
 # do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/}); done
 
**(14) zpool.cacheをコピーします [#bbf54ef4]
 # cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
 
**(15) ZFSで起動する設定を加えます。 [#fade0e63]

 echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
 echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
 echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
 cat << EOF > /mnt/etc/fstab
 # Device Mountpoint FStype Options Dump Pass#
 /dev/gpt/swap0 none swap sw 0 0
 EOF

 # echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
 # echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
 # cat << EOF > /mnt/etc/fstab
 # #Device Mountpoint FStype Options Dump Pass#
   /dev/gpt/swap0 none swap sw 0 0
   EOF
 # echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
 
**(16) すべての領域をアンマウントします。 [#h923a145]
 # zfs set readonly=on zroot/var/empty
 # zfs umount -a
 
アンマウントが失敗した場合は強制アンマウントします 
 # umount -f /mnt
 
**(17) マウントポイントをセットします。 [#o7641c98]
 # zfs set mountpoint=legacy zroot
 # zfs set mountpoint=/tmp zroot/tmp
 # zfs set mountpoint=/usr zroot/usr
 # zfs set mountpoint=/var zroot/var
 
**(18) 再起動します。 [#gc71e70e]
 # sync;sync;sync
 # reboot
 
**(19) OS再起動後、キーマップ・インタフェースを設定します [#u43f1d08]
 # vi /etc/rc.conf
=> 以下を追加する。適宜自分の環境に合わせて設定する。
 hostname="host1.example.com"
 ifconfig_re0="DHCP"
 keymap="jp.106"
 
**(20) rootアカウントのパスワード設定・タイムゾーン設定を行う [#o3d3cb4e]
 # passwd
 # tzsetup
 
**(21) 再起動します。 [#oe54c38f]
 # sync;sync;sync
 # reboot
 
以上で完成です。お疲れ様でした。ZFS生活をおもう存分楽しめます。 


----
http://www.aisecure.net/2011/05/01/root-on-zfs-freebsd-current/

http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot

http://sns.openpne.jp/communityTopic/7955

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS