FreeBSD + ZFS + RAID10 + Boot

Статья описывает процесс установки FreeBSD на RAID10, с загрузкой с ZFS.
В системе имеется 4 HDD по 250GB

Нужно скачать образ: mfsBSD special edition рекомендую брать ZFS v15 иначе возможны проблемы с обновлением при помощи freebsd-update.
mfsBSD содержит в себе скрипт zfsinstall который делает все, что описано во множестве мануалов в сети с «ручной» установкой.

Итак, нарезаем образ на болванку и загружаемся с нее, root пароль mfsroot.

Чтобы посмотреть опции скрипта набираем команду:
zfsinstall --help

Перед началом установки вам нужно посмотреть какие имена система присвоила вашим 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

На всякий случай попробуем обновить пул:
zpool upgrade rpool
Создаем разделы для будущего 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мб, вполне достойный результат.

Опубликовано 14.12.2011 в 13:36 Просмотров: 332
Рубрики: FreeBSD

Написать комментарий