Вообще для этого можно практически дословно вспользоваться инструкцией http://wiki.freebsd.org/RootOnZFS/UFSBoot , но наличие дополнительного ufs раздела мне не нравится: это fsck после unclean shutdown, отсутствие дешевых снапшотов (к хорошему привыкаешь быстро). Поэтому была взята за основу эта статья, http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot и вместе творчески доработаны до получения конфигурации с двумя zfs pool.
# gpart show ada0 => 34 976773101 ada0 GPT (466G) 34 30 - free - (15K) 64 128 1 freebsd-boot (64K) 192 1856 - free - (928K) 2048 16777216 2 freebsd-swap (8.0G) 16779264 2097152 3 freebsd-zfs (1.0G) 18876416 957896719 4 freebsd-zfs (457G)Тут опять напоминаю владельцам дисков WesternDigital о желательности выравнивания начала разделов по 4K границе (gpart сам этого не делает).
swap в принципе может размещаться на zpool, но при этом не будет возможности получить crash dump ядра.
Понятно что на ada0 надо накатить pmbr и gptzfsboot
На 3-й раздел я повесил gpt label zboot для удобства. Использовать метку на 4-м разделе не получится: он должен быть размечен через geli с -b , а при этом ядро как только увидит geli label на ada0p4 , так сразу и запросит для него пароль, не зависимо от наличия gpt label
# geli list Geom name: ada0p4.eli EncryptionAlgorithm: AES-CBC KeyLength: 128 Crypto: software UsedKey: 0 Flags: BOOT Providers: 1. Name: ada0p4.eli Mediasize: 490443119616 (457G) Sectorsize: 512 Mode: r1w1e1 Consumers: 1. Name: ada0p4 Mediasize: 490443120128 (457G) Sectorsize: 512 Mode: r1w1e1Кстати geli label содержит определенные метаданные, без которых получить данные с раздела не возможно. Поэтому не забывайте о необходимости сохранить их с помощью чего-нибудь типа
# geli backup ada0p4 /boot/geli.metaНу а дальше можно создавать два пула:
# zpool status pool: zboot state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM zboot ONLINE 0 0 0 gpt/zboot ONLINE 0 0 0 errors: No known data errors pool: zdata state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM zdata ONLINE 0 0 0 ada0p4.eli ONLINE 0 0 0 errors: No known data errors # zpool get bootfs zboot NAME PROPERTY VALUE SOURCE zboot bootfs zboot local # zpool get bootfs zdata NAME PROPERTY VALUE SOURCE zdata bootfs - default # zfs list -o name,mountpoint zboot NAME MOUNTPOINT zboot /zboot # zfs list -o name,mountpoint,exec,compression -r zdata NAME MOUNTPOINT EXEC COMPRESS zdata legacy on off zdata/usr /usr on off zdata/usr/home /usr/home on off zdata/usr/local /usr/local on off zdata/usr/local/arch /usr/local/arch on lzjb zdata/usr/local/jails /usr/local/jails on off zdata/usr/local/tinderbox /usr/local/tinderbox on off zdata/usr/ports /usr/ports on lzjb zdata/usr/ports/distfiles /usr/ports/distfiles off off zdata/usr/ports/packages /usr/ports/packages off off zdata/usr/src /usr/src off lzjb zdata/var /var on off zdata/var/crash /var/crash off lzjb zdata/var/db /var/db off off zdata/var/db/pkg /var/db/pkg on lzjb zdata/var/empty /var/empty off off zdata/var/log /var/log off lzjb zdata/var/mail /var/mail off gzip zdata/var/run /var/run off off zdata/var/tmp /var/tmp on lzjb # ls -l /boot lrwxr-xr-x 1 root wheel 11 12 кві 18:30 /boot -> /zboot/boot # fgrep zfs /boot/loader.conf zfs_load="YES" vfs.root.mountfrom="zfs:zdata" vfs.zfs.debug=1 # # cat /etc/fstab # Device Mountpoint FStype Options Dump Pass# /dev/gpt/swap none swap sw 0 0 0 tmpfs /tmp tmpfs rw,size=3221225472 0 0 proc /proc procfs rw 0 0 fdescfs /dev/fd fdescfs rw 0 0 linproc /usr/compat/linux/proc linprocfs rw,late 0 0 /dev/cd0 /cdrom cd9660 ro,noauto,-CKOI8-U 0 0Вот так оно и живет на моем ноутбуке. Уже больше месяца как.
Немає коментарів:
Дописати коментар