Как я настраивал себе сервер на FreeBSD (часть 3)
А вот и третья статья. Сегодня, наконец-то, разберемся с raid1. Вообще-то, его по правилам надо было делать либо перед самой установкой, либо сразу после. Хотя сейчас это тоже можно сделать. Да и, если вы хотите увидеть настройку чего-то определенного, что вам нужно, просьба отписаться в комментах. А теперь немного по поводу Raid и FreeBSD. К сожалению, ну или к радости, метод описанный на официальной вики-странице приводит FreeBSD9 в нерабочее состояние, так что его не используйте.
К тому же, это предупреждение присутствует только в англоязычной версии вики, а в русскоязычной отсутствует. Все это в связи с добавлением в девятую версию нового стандарта размещения разделов на диске - GPT. Так что, теперь настройка программного raid выглядит несколько иначе. Приступим же.
При установке мы разбивали только первый диск, который определяется, как ada0. На него же и была установлена система. Значит, зеркалить будем на ada1. Итак, подгружаем необходимые модули и сразу же добавляем в автозагрузку gmirror.
kldload geom_mirror
echo 'geom_mirror_load="YES"' >> /boot/loader.conf
Теперь же начинается самое интересное. Создаем само зеркало, которое будет называться gm0, на диске /dev/ada1
gmirror label gm0 ada1
и проверяем его статус:
gmirror list
вывод должен быть примерно таким:
Geom name: gm0
State: COMPLETE
Components: 1
Balance: load
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 928302552
Providers:
1. Name: mirror/gm0
Mediasize: 160040803328 (149G)
Sectorsize: 512
Mode: r2w2e3
Consumers:
1. Name: ada1
Mediasize: 160041885696 (149G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: NONE
GenID: 0
SyncID: 1
ID: 3076536610
если, конечно, у вас не стоит какое-нибудь серверное решение в виде дискового массива состоящего из более чем 2-х дисков.
Теперь создадим разметку на зеркале gm0, аналогичную ada0 методом копирования:
gpart backup /dev/ada0 > /tmp/new
gpart restore /dev/mirror/gm0 < /tmp/new
Также делаем его загрузочным:
gpart bootcode -b /boot/pmbr /dev/mirror/gm0
Наблюдая вывод:
bootcode written to mirror/gm0
И записываем код в загрузочный сектор:
gpart bootcode -p /boot/gptboot -i 1 mirror/gm0
Инициализируем наше зеркало:
newfs -U /dev/mirror/gm0p2
После успешного выполнения команды копируем файлы системы на зеркало:
mount /dev/mirror/gm0p2 /mnt
cd /
tar --one-file-system -cpf - . | (cd /mnt; tar -xvpf -)
Далее нужно изменить fstab следующим образом. Было /dev/ada0p2
- станет /dev/mirror/gm0p2
. Это можно сделать, как вручную, так и с помощью соответствующей команды. Открываем fstab на зеркале:
vi /mnt/etc/fstab
и вводим команду:
:%s/ada/mirror\/gm/g
Далее отмонтируем зеркало:
umount /mnt
и перезагрузим сервер, при этом ОБЯЗАТЕЛЬНО выбрав в BIOS загрузку со второго диска, на который была скопирована система:
reboot
После смотрим смонтированные устройства, они должны начинаться с gm, а не с ada:
mount
/dev/mirror/gm0p2 on / (ufs, local, soft-updates)
devfs on /dev (devfs, local, multilabel)
swapinfo
Device 1K-blocks Used Avail Capacity
/dev/mirror/gm0p3 4194304 0 4194304 0%
Теперь нужно добавить в созданное зеркало первый диск:
gmirror insert gm0 ada0
и смотрим статус синхронизации, процесс это долгий. У меня он проходил ~1,5 часа.
gmirror status
Name Status Components
mirror/gm0 DEGRADED ada1 (ACTIVE)
ada0 (SYNCHRONIZING, 98%)
По окончании синхронизации перезагружаемся (возвращая в BIOS загрузку с первого диска) и смотрим статус зеркала:
gmirror status
Name Status Components
mirror/gm0 COMPLETE ada1 (ACTIVE)
ada0 (ACTIVE)
Если он такой, то все работает. А делал я все это вот по этому мануалу.
Комментарии
# - Panda, 25.08.2012 в 13:24
Как всё сложно черт побери
# - cheshir, 25.08.2012 в 14:52, в ответ на комментарий
а по-моему, не сложно, а весело, особенно в отличиях, русской и английской, вики-страницах
# - Гость, 27.08.2012 в 15:39, в ответ на комментарий
А в каких целях вы используете сервер, если не секрет?
# - cheshir, 27.08.2012 в 18:53, в ответ на комментарий
скорее всего будет использоваться как мультимедиа сервер в перемешку с файловым.
# - Гость, 09.09.2012 в 14:57, в ответ на комментарий
4 часть будет?
# - cheshir, 10.09.2012 в 03:49, в ответ на комментарий
да
# - Гость, 08.10.2012 в 15:22
Полезные статьи. Спасибо)
Добавить комментарий