bsdinstallを使ったFreeBSDの自動インストールについて[ZFS編]
bsdinstallを使ったFreeBSDの自動インストールについて[基本編] - くんすとの備忘録 の続き。
今度は、bsdinstallを使ってZFSへインストールする方法を調べてみます。
ZFSの自動レイアウトでインストールする
マニュアルに記載されているように、前半(preamble)へ、環境変数「PARTITIONS」の代わりに「ZFSBOOT_DISKS」を記述すればZFSへインストールすることができます。
ただし、以下の2点の注意が必要です。
特に2点目については注意が必要です。
(freebsd/script at master · freebsd/freebsd · GitHubを覗いてみた感じではおそらく、DISTRIBUTIONSはexportされていたのにZFSBOOT_DISKSなどはexportされていなかったので、それが原因かと……)
前半(preamble)
export ZFSBOOT_DISKS=ada0 export nonInteractive="YES" DISTRIBUTIONS="base.txz kernel.txz"
上記の設定では、デフォルト設定でZFSパーティションが作成されました。
zroot none zroot/ROOT none zroot/ROOT/default / zroot/tmp /tmp zroot/usr /usr zroot/usr/home /usr/home zroot/usr/ports /usr/home zroot/usr/src /usr/home zroot/var /var zroot/var/crash /var/crash zroot/var/log /var/log zroot/var/mail /var/mail zroot/var/tmp /var/tmp
ZFSのカスタムレイアウトでインストールする
環境変数「ZFSBOOT_DATASETS」を設定することで、自由にZFSレイアウトを作成できるようです。
とりあえず、/・/tmp・/usr・/varで分割してみます。
前半(preamble)
export ZFSBOOT_DISKS=ada0 export ZFSBOOT_DATASETS=" /ROOT mountpoint=none /ROOT/default mountpoint=/ /tmp mountpoint=/tmp,exec=on,setuid=off /usr mountpoint=/usr,canmount=off /var mountpoint=/var,canmount=off " export nonInteractive="YES" DISTRIBUTIONS="base.txz kernel.txz"
上記の設定では、以下の設定でZFSパーティションが作成されました。
- マウントポイント
zroot none zroot/ROOT none zroot/ROOT/default / zroot/tmp /tmp zroot/usr /usr zroot/var /var
※自動インストール時のZFS設定の詳細は、zfsbootのソースコード(freebsd/zfsboot at master · freebsd/freebsd · GitHub)を確認すると良いと思います。