Установка FreeBSD 9 на софт-рейд
Для установки FreeBSD 9.x на программный рейд (gmirror) необходимо загрузиться с live-CD. В нашем случае проще всего воспользоваться отличным продуктом mfsBSD, который доступен в PXE-меню. Загружаемся (пароль root’a по умолчанию mfsroot), далее можно работать через ssh.
В начале — удаляем существующие партиции на дисках (если они там есть, конечно):
1 2 |
gpart destroy -F ada0 gpart destroy -F ada1 |
Теперь запускаем bsdinstall, первые шаги проходим, как обычно. В диалоге «Partitioning» нам будут предложены варианты методики разбивки диска — Guided, Manual, Shell. Выбираем Shell и попадаем в командную строку. Создаем партиции и устанавливаем загрузчик:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# ---- Setup 1st disk # gpart create -s gpt ada0 gpart add -s 64k -t freebsd-boot -l boot0 ada0 gpart add -s 8G -t freebsd-swap -l swap0 ada0 gpart add -t freebsd-ufs -l root0 ada0 # -- Install boot code to first disk gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0 # ---- Setup 2nd disk # gpart create -s gpt ada1 gpart add -s 64k -t freebsd-boot -l boot1 ada1 gpart add -s 8G -t freebsd-swap -l swap1 ada1 gpart add -t freebsd-ufs -l root1 ada1 # -- Install boot code to 2nd disk gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1 |
Сообщаем дисковой подсистеме, что у нас есть новая метки на дисках:
1 2 |
true > /dev/ada0 true > /dev/ada1 |
Проверить, что система перечитала информацию о наших дисках можно следующей командой:
1 |
ls -l /dev/gpt/ |
Далее — загружаем модуль в ядро и создаем RAID1 («зеркало») с использованием gmirror.
1 2 3 4 5 6 7 8 9 10 |
# -- Load the geo_mirror KLD kldload geom_mirror # -- Build gmirrors gmirror label boot /dev/gpt/boot0 /dev/gpt/boot1 gmirror label swap /dev/gpt/swap0 /dev/gpt/swap1 gmirror label root /dev/gpt/root0 /dev/gpt/root1 # -- Check status gmirror status |
Теперь воспользуемся newfs для создания файловой системы, монтируем ее. Обратите внимание на флаги newfs: -U включает soft-updates, -L root указывает метку раздела.
1 2 |
newfs -U -L root /dev/mirror/root mount /dev/mirror/root /mnt |
Пришло время создать правильный fstab. Для этого открываем с помощью самого правильного текстового редактора vi файл /tmp/bsdinstall_etc/fstab. Скопируйте в fstab следующее:
1 2 3 |
# Device Mountpoint FStype Options Dump Pass# /dev/mirror/swap none swap sw 0 0 /dev/mirror/root / ufs rw 1 1 |
Подготовка дисков завершена. Набирайте в командной строке exit для возврата в инсталлятор и продолжайте установку. В конце инсталлятор покажет диалог «Manual Configuration» и спросит, не желаем ли мы что-то изменить в свежеустановленной системе. Выбираем Yes — нам необходимо указать системе на необходимость загружать дополнительный модуль ядра. Модифицируем loader.conf и включаем генерацию отчетов о состоянии дисковой подсистемы:
1 2 3 4 5 |
# -- Make sure gmirror module comes up on boot echo 'geom_mirror_load="YES"' >> /boot/loader.conf # -- Enable daily status reporting echo 'daily_status_gmirror_enable="YES"' >> /etc/periodic.conf |
На этом установка, фактически, закончена. Командой exit выходим из командной строки, инсталлятор завершает свою работу. После этого перезагружаемся и если все сделано по данной инструкции — вы получите FreeBSD 9, установленную на softraid на базе gmirror. Если же нет — mfsBSD поможет найти причину проблем и устранить.
Данная инструкция построена на базе прекрасной заметки Adam Strohl на сайте ateamsystems.com. Спасибо!