ZFS实现快速部署(作弊条)
FreeBSD从8.0开始支持从ZFS引导系统,因此,可以使用ZFS的快照功能来实现快速部署。
新机器使用LiveFS启动,Fix it,CDROM。
kldload /dist/boot/kernel/nullfs.ko
mount_nullfs /dist/boot /boot
kldload tmpfs
kldload zfs
如果需要,此时用dd抹除硬盘内容,例如 dd if=/dev/zero of=/dev/da0 bs=1m count=1
gpart create -s gpt da0(重复此步直到所有硬盘皆包含GPT分区表)
gpart add -b 34 -s 128 -t freebsd-boot da0(实际上只有启动盘需要,不过64K空间对现代硬盘来说基本上可以忽略不计)
gpart add -b 162 -s 8388608 -t freebsd-swap da0(根据需要酌情配置)
gpart add -b 8388770 -t freebsd-zfs da0
cd /boot
gpart bootcode -b pmbr da0(建议所有盘有freebsd-boot分区的盘都做)
gpart bootcode -p gptzfsboot -i 1 da0(所有有freebsd-boot分区的盘都做)
glabel label swap0 /dev/da0p2(swap1,2,3,4,…类推)
glabel label vdsk0 /dev/da0p3(vdsk1…类推)
zpool create -m legacy 集群名 raidz2 /dev/label/vdsk0 /dev/label/vdsk1 .. spare /dev/label/vdskn
ifconfig em0 inet x.x.x.x/m
nc -l 80 | zfs receive -vF 集群名
在样本机上执行:zfs send 集群名@快照名 | nc 客户机IP 80
之后,在安装的机器上mount -t zfs 集群名 /mnt,然后把/boot/zfs内容复制到/mnt/boot/zfs,修改etc/rc.conf等,即可。如果配置时使用的是DHCP,则此过程可进一步简化。