pure ZFS 環境の構築 (後編)
pure ZFS 環境の構築 (前編)の続きです。
前編では、pure ZFS 環境を構築する上でのパーティショニングまでしました。
後編では、OSのインストールを行います。
OSのインストール
OSのインストールはパーティショニングと同じFixit上で行います。
通常のインストール方法だと、最小環境(minimal install)と全ソースを選んだ状態とほぼ同じ状態になるかと思います。
- 環境変数のセット
- base のインストール
- kernel のインストール
- src のインストール
- 環境変数のアンセット
Fixit# export DESTDIR='/pzkw/system' Fixit# echo $DESTDIR /pzkw/system
echo コマンドを実行した際に、export で指定した値が出ればOK。
Fixit# cd /dist/8.0-RELEASE/base Fixit# ./install.sh You are about to extract the base distribution into /pzkw/system - are you SURE you want to do this over your installed system (y/n) ? y
y と返答
Fixit# cd /dist/8.0-RELEASE/kernels Fixit# ./install.sh generic Fixit# cd $DESTDIR/boot Fixit# rmdir kernel Fixit# mv GENERIC kernel
Fixit# cd /dist/8.0-RELEASE/src Fixit# ./install.sh all
Fixit# unset DESTDIR Fixit# echo $DESTDIR
echo コマンドの結果は空白であればOK。
ブートローダの再構築
初期の /boot/loader だと pure ZFS 起動が出来ないらしいので、LOADER_ZFS_SUPPORT オプションを付けて再構築を行う必要があります。
- 設定前準備
- make.conf の設定
- 現在の loader 確認
- ZFS 対応 loader の再構築
Fixit# mount -t devfs devfs /pzkw/system/dev Fixit# chroot /pzkw/system tcsh
# echo 'LOADER_ZFS_SUPPORT="YES"' > /etc/make.conf
# ls -al /boot/loader -r-xr-xr-x 1 root wheel 262144 Nov 21 14:56 /boot/loader
# cd /usr/src/sys/boot/ # make clean # make obj # make depend # make # cd i386/loader # make install install: /usr/share/man/man5: No such file or directory *** Error code 71
エラーで終わってしまうが、必要な /boot/loader は置き換わっているのでOKとします。
置き換わった /boot/loader を確認してみると・・・
# ls -al /boot/loader -r-xr-xr-x 1 root wheel 282624 1 17 18:48 /boot/loader
ファイルサイズが変わっているので、おそらく変わってるかと・・・
設定
コマンドでもできますが、ここではsysinstallで設定していきます。
# sysinstall
- sysinstall Main Menu
- FreeBSD Configuration Menu
- root (管理者)のパスワード設定
「Configure」を選択
「Root Password」を選択
Changing local password for root
New Password : Retype New Password:
パスワードは入力しても表示されません。
「User Management」を選択
User and group management
- グループの追加
「Group」を選択
Group name: hoge (適当なもの 追加するユーザー名でOK) GID: 1001 (初期値) Group members: なし
「User」を選択
Login ID: hogehoge UID: 1001(初期値) Group: 1001 Password: ****** Confirm Password: ****** Full name: User &(初期値) Member groups: wheel Home directory: /home/hogehoge (自動的に記述される) Login shell: /bin/tcsh
「Time Zone」を選択
Select local or UTC (Greenwich Mean Time) clock
「No」を選択
Time Zone Selecter
「5 Asia」を選択
「18 Japan」を選択
Confirmation
「Yes」を選択
「Networking」を選択
Network Services Menu
「Interfaces」を選択
Network interface information required
「em0」を選択
User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
「No」を選択
Do you want to try DHCP configuration of the interface?
「No」を選択
Network Configuration
Host: blueberry.iex3.local Domain: iex3.local (自動的に記述される) IPv4 Gateway: 192.168.24.1 Name server: 192.168.24.1 IPv4 Address: 192.168.24.45 Netmask: 255.255.255.0 (自動的に記述される) Extra options: なし
User Confirmation Requested
Would you like to bring the em0 interface up right now?
「No」を選択。
Network Services Menu
「Exit」を選択。
sysinstallを終了します。
「Exit」を選択。
tabキーを押下し、「Exit install」を選択。
- セキュアログインの有効化
# echo 'sshd_enable="YES"' >> /etc/rc.conf
# echo 'dumpdev="YES"' >> /etc/rc.conf
# echo 'cpufreq_load="YES"' >> /boot/loader.conf # echo 'powerd_enable="YES"' >> /etc/rc.conf
chroot環境から出て、デバイスをアンマウントします。
# exit Fixit# umount /pzkw/system/dev
pure ZFS boot の設定
- ブートファイルシステムの設定
ZFSプール pzkw にブートする Root データセット(ファイルシステム)を設定します。
Fixit# zpool set bootfs=pzkw/system pzkw
Fixit# mkdir /boot/zfs Fixit# zpool export pzkw && zpool import pzkw Fixit# cp /boot/zfs/zpool.cache /pzkw/system/boot/zfs
Fixit# echo 'zfs_enable="YES"' >> /pzkw/system/etc/rc.conf
Fixit# echo 'zfs_load="YES"' >> /pzkw/system/boot/loader.conf Fixit# echo 'vfs.root.mountfrom="zfs:pzkw/system"' >> /pzkw/system/boot/loader.conf
メモリ量によって設定する。
Fixit# echo 'vm.kmem_size="512M"' >> /pzkw/system/boot/loader.conf Fixit# echo 'vm.kmem_size_max="512M"' >> /pzkw/system/boot/loader.conf Fixit# echo 'vfs.zfs.arc_max="100M"' >> /pzkw/system/boot/loader.conf
Fixit# echo 'pzkw/system / zfs rw 0 0' >> /pzkw/system/etc/fstab
Fixit# zfs set mountpoint=none pzkw
Fixit# zfs set mountpoint=legacy pzkw/system
Fixit# zfs set mountpoint=/home pzkw/system/home Fixit# zfs set mountpoint=/usr pzkw/system/usr Fixit# zfs set mountpoint=/usr/src pzkw/system/usr/src Fixit# zfs set mountpoint=/var pzkw/system/var
Fixit# exit
tab キーを押して、 Exit Install を選択。
Are you sure wish to exit?
「Yes」を選択。
再起動がかかったら、DVDドライブよりDVDを取り出します。
再起動後は、pure ZFS な環境になっているかと思います。