Клонирование FreeBSD ZFS root
При миграции сервера FreeBSD 8.2, c корневым разделом на ZFS в VMWare esxi, новый сервер не загружался. Процесс загрузки останавливался на сообщении "unsupported zfs version 28 (should be 15)".
Исходный сервер имел версию ФС 4, пула - 15. LiveCD mfsbsd создавал ФС - версию 5 и пул версии 28.
При создании пула требуется явно указать требуемые версии рабочего пула. В остальном всё скопировано из первоисточника http://www.aisecure.net/2011/03/26/cloning-a-zfs-bootable-system/
Качаем образ mfsbsd http://mfsbsd.vx.sk/ и загружаем с него него целевой сервер.
Настраиваем сетевой интерфейс.
mfsbsd#gpart create -s gpt da0
mfsbsd#gpart add -b 34 -s 64k -t freebsd-boot da0
mfsbsd#gpart add -t freebsd-zfs -l disk0 ad0
mfsbsd#gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
mfsbsd#zpool create -o version=15 -O version=4 -R /a -m legacy zroot /dev/gpt/disk0
mfsbsd#gpart add -b 34 -s 64k -t freebsd-boot da0
mfsbsd#gpart add -t freebsd-zfs -l disk0 ad0
mfsbsd#gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
mfsbsd#zpool create -o version=15 -O version=4 -R /a -m legacy zroot /dev/gpt/disk0
mfsbsd#zpool set bootfs=zroot zroot
Делаем актуальный снимок файловой системы на исходном сервере и копируем его.
zfs snapshot -r zroot@bck zfs send -R zroot@bck | ssh root@10.10.10.141 zfs recv -Fdv zrootМонтируем разделы и перезагружаем новый сервер.
mfsbsd#zfs destroy -r zroot@bck mfsbsd#zfs set mountpoint=/zroot zroot mfsbsd#zpool export -f zroot mfsbsd#zpool import -f zroot mfsbsd#cp /boot/zfs/zpool.cache /zroot/boot/zfs/zpool.cache mfsbsd#zfs umount -a mfsbsd#zfs set mountpoint=legacy zroot mfsbsd#zfs set mountpoint=/tmp zroot/tmp mfsbsd#zfs set mountpoint=/usr zroot/usr mfsbsd#zfs set mountpoint=/var zroot/var mfsbsd#reboot