Статья описывает процесс установки FreeBSD на RAID10, с загрузкой с ZFS.
В системе имеется 4 HDD по 250GB
Нужно скачать образ: mfsBSD special edition рекомендую брать ZFS v15 иначе возможны проблемы с обновлением при помощи freebsd-update.
mfsBSD содержит в себе скрипт zfsinstall который делает все, что описано во множестве мануалов в сети с «ручной» установкой.
Итак, нарезаем образ на болванку и загружаемся с нее, root пароль mfsroot.
Чтобы посмотреть опции скрипта набираем команду:
Перед началом установки вам нужно посмотреть какие имена система присвоила вашим HDD, в моем случае ad6, ad8, ad10, ad12
Монтируем:
mount_cd9660 /dev/cd0 /cdrom
Параметры разбивки разделов будут такими:
10GB root раздел
4GB swap
436GB все остальное
Такой вариант предполагает установку root раздела на все 4 HDD в режиме зеркала.
Итак поехали:
zfsinstall -d ad6 -d ad8 -d ad10 -d ad12 -t /cdrom/8.2-RELEASE-amd64.tar.xz -r mirror -p rpool -s 4G -z 10G
После того как скрипт отработает, перезагружаем систему и проверяем все ли в порядке:
zpool status
zpool list
zpool get all pool-name
zfs list
На всякий случай попробуем обновить пул:
Создаем разделы для будущего RAID10
# gpart show ad6
=> 34 490350605 ad6 GPT (234G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 20971520 3 freebsd-zfs (10G)
29360290 460990349 4 - free - (220G)
Создаем раздел на каждом диске, в команде только меняется название диска:
gpart add -b 29360290 -s 460990349 -t freebsd-zfs ad6
Создаем zfs raid10
zpool create raid10 mirror ad6p4 ad8p4
zpool add raid10 mirror ad10p4 ad12p4
Убедимся, что все в порядке:
# zpool status
pool: raid10
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
raid10 ONLINE 0 0 0
mirror ONLINE 0 0 0
ad6p4 ONLINE 0 0 0
ad8p4 ONLINE 0 0 0
mirror ONLINE 0 0 0
ad10p4 ONLINE 0 0 0
ad12p4 ONLINE 0 0 0
errors: No known data errors
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
ad6p3 ONLINE 0 0 0
ad8p3 ONLINE 0 0 0
ad10p3 ONLINE 0 0 0
ad12p3 ONLINE 0 0 0
errors: No known data errors
Если все в порядке, начнем перемещать разделы /usr, /var, /tmp на raid10 пул.
Рекомендую проделывать это в single mode!
zfs mount -a
zfs create raid10/usr
rsync -a /usr /raid10
mv /usr /old.usr
mkdir /usr
zfs set mountpoint=/usr raid10/usr
Теперь раздел /usr находится на нашем пуле raid10 , проделаем такие же манипуляции с разделами /var и /tmp
zfs create raid10/tmp
zfs create raid10/var
rsync -a /var /raid10
rsync -a /tmp /raid10
zfs set mountpoint=none rpool/root/var
zfs set mountpoint=none rpool/root/tmp
zfs set mountpoint=/var raid10/var
zfs set mountpoint=/tmp raid10/tmp
После всех манипуляций система должна выглядеть так:
# mount
rpool/root on / (zfs, local)
devfs on /dev (devfs, local, multilabel)
raid10 on /raid10 (zfs, local)
raid10/tmp on /tmp (zfs, local)
raid10/usr on /usr (zfs, local)
raid10/var on /var (zfs, local)
Вот собственно и все.
ЗЫ swap раздел монтируется только на один HDD, если нужно поправьте fstab
Статья является переводом, ибо долго искал в рунете что то похожее но безуспешно, в итоге нашел статью на английском, свою систему я ставил по этуму мануалу и все работает, одно отличие что у меня были 4 HDD по 1Тб, swap я сделал 2Гб, ибо физической памяти было 32Гб.
По тестам bonnie++ скорость 180мб, вполне достойный результат.