Вышла FreeBSD 9.0 c новым установщиком, а поддержки freebsd-zfs разделов как не было так и нет. Так что ставить придется вручную.
Замечания: оперативки лучше, чтобы было много — 4Гб и больше. При нынчешних ценах это не проблема, соответственно и ставить надо amd64. Не то чтобы система не будет работать на 1 гиге оперативки и на i386 — но лучше не рисковать. Жестких дисков будет 2 и из них надо собрать RAID1 — получится сервер для небольшого офиса. SWAP-файл будет размещаться на zfs-разделе — пожертвуем возможность поковыряться в дампах swap-а в случае креша системы.
Загружаемся с LIVE-CD диска FreeBSD 9.0 и выбираем последний пункт — live cd, логинимся под root-ом.
Первое что нужно сделать — организовать место для для хранения кеша zpool.cache. Для этого позаимствуем совсем малость у оперативки.
Небольшое отступление: Дело в том, что почти все мануалы описывают механиз экспорта и последующего импорта кеша zpool-а в установленную систему. Но в 9-тке вылезла одна особенность — после экспорта&импорта zpool начинает оперировать физическими именами разделов и соответтсвенно пул будет собраться из дисков ada0 и ada1. Проблем особых нет, но если нумерация дисков по какой-то причине измениться пул развалиться.
Для примера:
или вот так
А вот как должно быть
Парадоксально, но все 3 системы ставились по одной и той же инструкции, разница лишь в том, что в 2-ух первых случаях был выполнен zpool export && zpool import
Теперь необходимо создать разделы диска. Для разбивки лучше использовать GPT. Разделы выравниваем под диски с секторами по 4К — актуально для больших дисков. Игнорирование чревато падением производительности, насколько я понял.
Далее создаем сам пул:
Дальше можно создать кучу разделов, а можно и не создавать — в любом случае все это можно изменять на лету, и если у Вас появится задача ограничить какую-нибудь директорию в чем-то это можно сделать в процессе работы системы без потерь данных. Мне больше нравиться все одним контейнером.
Создаем файл подкачки, подключаем его и отключаем проверку контрольных сумм
Монтируем пул в /mnt
Распаковываем систему
Включаем поддержку zfs системой:
Включаем автозагрузку модуля поддержки zfs
Правим fstab
Далее необходимо скопировать кеш zpoll-а в установленную систему
Отмонтируем zfs-разделы
И перегружаемся. После перезагрузки логинимся под рутом и ставим пароль на рута
не забываем про временную зону
P.S. реально статья написана для вот этого
Замечания: оперативки лучше, чтобы было много — 4Гб и больше. При нынчешних ценах это не проблема, соответственно и ставить надо amd64. Не то чтобы система не будет работать на 1 гиге оперативки и на i386 — но лучше не рисковать. Жестких дисков будет 2 и из них надо собрать RAID1 — получится сервер для небольшого офиса. SWAP-файл будет размещаться на zfs-разделе — пожертвуем возможность поковыряться в дампах swap-а в случае креша системы.
Загружаемся с LIVE-CD диска FreeBSD 9.0 и выбираем последний пункт — live cd, логинимся под root-ом.
Первое что нужно сделать — организовать место для для хранения кеша zpool.cache. Для этого позаимствуем совсем малость у оперативки.
mdmfs -s 1m md99 /boot/zfs
Небольшое отступление: Дело в том, что почти все мануалы описывают механиз экспорта и последующего импорта кеша zpool-а в установленную систему. Но в 9-тке вылезла одна особенность — после экспорта&импорта zpool начинает оперировать физическими именами разделов и соответтсвенно пул будет собраться из дисков ada0 и ada1. Проблем особых нет, но если нумерация дисков по какой-то причине измениться пул развалиться.
Для примера:
# zpool status
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
dev/ada0 ONLINE 0 0 0
или вот так
# zpool status
config:
NAME STATE READ WRITE CKSUM
system ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0p2 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
А вот как должно быть
# zpool status
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/rpool0 ONLINE 0 0 0
gpt/rpool1 ONLINE 0 0 0
Парадоксально, но все 3 системы ставились по одной и той же инструкции, разница лишь в том, что в 2-ух первых случаях был выполнен zpool export && zpool import
Теперь необходимо создать разделы диска. Для разбивки лучше использовать GPT. Разделы выравниваем под диски с секторами по 4К — актуально для больших дисков. Игнорирование чревато падением производительности, насколько я понял.
gpart create -s gpt ada0
gpart create -s gpt ada1
gpart add -t freebsd-boot -s 128k -a 4k ada0
gpart add -t freebsd-boot -s 128k -a 4k ada1
gpart add -t freebsd-zfs -a 4k -l rpool0 ada0
gpart add -t freebsd-zfs -a 4k -l rpool1 ada1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
Далее создаем сам пул:
zpool create -O mountpoint=legacy rpool mirror /dev/gpt/rpool0 /dev/gpt/rpoll1
zpool set bootfs=rpool rpool
Дальше можно создать кучу разделов, а можно и не создавать — в любом случае все это можно изменять на лету, и если у Вас появится задача ограничить какую-нибудь директорию в чем-то это можно сделать в процессе работы системы без потерь данных. Мне больше нравиться все одним контейнером.
Создаем файл подкачки, подключаем его и отключаем проверку контрольных сумм
zfs create -V 1GB rpoll/swap
zfs set org.freebsd:swap=on rpoll/swap
zfs set checksum=off rpoll/swap
Монтируем пул в /mnt
mount -t zfs rpool /mnt
Распаковываем систему
cd /usr/freebsd-dist
cat base.txz | tar --unlink -xpJf - -C /mnt
cat kernel.txz | tar --unlink -xpJf - -C /mnt
cat lib32.txz | tar --unlink -xpJf - -C /mnt
cat ports.txz | tar --unlink -xpJf - -C /mnt
cat src.txz | tar --unlink -xpJf - -C /mnt
Включаем поддержку zfs системой:
ee /mnt/etc/rc.conf
zfs_enable="YES"
Включаем автозагрузку модуля поддержки zfs
ee /mnt/boot/loader.conf
zfs_load="YES"
Правим fstab
ee /mnt/etc/fstab
rpool / zfs rw,noatime 0 0
Далее необходимо скопировать кеш zpoll-а в установленную систему
cp /boot/zfs/zpoll.cache /mnt/boot/zfs/
Отмонтируем zfs-разделы
zfs umount -a
(возможно понадобиться ключ -f)И перегружаемся. После перезагрузки логинимся под рутом и ставим пароль на рута
passwd root
не забываем про временную зону
tzsetup
P.S. реально статья написана для вот этого
mdmfs -s 1m md99 /boot/zfs
cp /boot/zfs/zpoll.cache /mnt/boot/zfs/
и напомнить, что сектора на больших дисках нынче по -a 4k при разбиении диска на разделы
zpool create -O mountpoint=legacy rpool mirror /dev/gpt/rpool0 /dev/gpt/rpoll1
ОтветитьУдалитьrpoll, две буквы LL это ваши ошибки? и в последующих командах.