FreeBSD ручная разметка диска с помощью gpart+ZFS

gpart create -s gpt ada0
gpart add -t freebsd-boot -s 512 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart add -t freebsd-swap -s 1024M ada0
gpart add -t freebsd-zfs ada0

Создание zfs пула с именем zroot на 3ем разделе, монтируя в каталог /mnt
zpool create -m /mnt zroot /dev/ada0p3

Посмотреть пул:
zpool list

Создим файловые разделы на пуле zroot:
zfs create zroot/var
zfs create zroot/usr
zfs create zroot/tmp

Смотрим созданные разделы:
df -H

Выходим из установки:
exit

Добавляем настройки zfs в загрузку:
echo ‘zfs_enable=»YES»‘ >> /etc/rc.conf
echo ‘vfs.zfs.prefetch_disable=0’ >> /boot.loader.conf
echo ‘vm.kmem_size=330M’ >> /boot.loader.conf
echo ‘vm.kmem_size_max=330M’ >> /boot.loader.conf

Добавим swap раздел:
ee /etc/fstab
/dev/ada0p2 none swap sw 0 0

Перезагружаемся, при загрузке заходим под Boot Single User Mode (2й пункт)

Подгружаем zfs пул с именем «zroot»:
zpool import -f zroot

Выводим его информацию:
zpool list

Выводим разделы:
df -H

В данный момент разделы смонтированы в каталог /mnt, перенастроим:
zfs umount -a
zfs set moutpoint=legacy zroot
zfs set moutpoint=/var zroot/var
zfs set moutpoint=/usr zroot/usr
zfs set moutpoint=/tmp zroot/tmp

Пезапускаем сервер

После пезапуска смотрим разделы:
df -H
zpool list

Проверяем на наличие проблем:
zpool status -x

Пример создания снапшота раздела tmp:
zfs snapshot zroot/tmp@01-01-14

Просмотр снапшотов:
zfs list -t snapshot

Пример восстановления раздела tmp из снапшота:
zfs rollback zroot/tmp@01-01-14

Источник: http://snakeproject.ru/rubric/article.php?art=freebsd_gpart_zfs&ysclid=lq6gaz8cgj465582639