Поступило задание сделать сервер из обычного ПК. Ну вот так бывает, что в качестве серверной машины, до сих пор выступают "машинки", вышедшие из употребления у пользователей, и отданных на растерзание в качестве сервера, с установкой какой-нибудь *nix-системы. Почему *nix? Потому что она жрёт мало ресурсов.
После того, как такое решение принято, сразу же встаёт вопрос о живучести машины. Как мы знаем, самое уязвимое место в ПК, которые отдают под серверы - это жёсткие диски и информация, которая на этих жёстких дисках хранится.
Есть несколько решений по поводу сохранности информации на компьютерах. Один из них backup - то есть резервное копирование данных. Этот процесс запускается с некоторой периодичностью и сохраняет данные на каком-то другом сервере, для этого специально предназначненном.
Но нам это не подходит, так как строится сервер, который должен будет иметь актуальную информацию и изменяться ежеминутно. Собственно, BACKUP всё равно никто не отменяет и это будет, а для увеличения живучести машины было принято решение о создании RAID-массива. В нашем случае будет производиться зеркалирование.
Зеркалирование - это стандарт RAID1 и его мы сейчас рассмотрим. Хочу заметить сразу и обратить особое внимание на следующий факт: если вы поставили систему и сделали RAID-массив, и один из дисков вышел из строя, то менять шлейфы и перетыкать с одного интерфейса на другой нельзя, так как меняются названия дисков.
Для исключения и подключения новых дисков, взамен вышедших из строя существуют определённые команды, о которых мы поговорим в конце.
1. Подготовка железа
a. Для создания RAID диски должны быть примерно равного объёма
b. ПК нужно настроить так, что при отключении одного из дисков, всё равно один из дисков был бы доступен.
с. Если в ПК есть два слота IDE, то жёсткие диски подключить на разные порты IDE
2. Устанавливаем FreeBSD
a. Устанавливаем операционную систему на диск меньшей ёмкости
b. Программой fdisk разбивать только первый диск, на который устанавливаем операционную систему. Второй диск подключаем таким, какой он есть. Если на нём были какие-то разбивки, то это можно удалить.
3.Cоздаём программный RAID на сервере.
a. # echo 'geom_mirror_load=YES' >> /boot/loader.conf
b. # sysctl kern.geom.debugflags=16
c. # gmirror label -v -b round-robin gm0 /dev/ad0
(при условии, что диск, на который мы ставим ОС определился, как ad0
. Посмотреть это можно разными способами. Самый простой: # sysinstall=>configuration=>fdisk)
d. В /etc/fstab
меняем все устройства, начинающиеся с /dev/ad0XXX
на /dev/mirror/gm0XXX
.
Получаем следующее:
# Device |
Mountpoint |
FStype |
Options |
Dump |
Pass# |
/dev/mirror/gm0s1b |
none |
swap |
Sw |
0 |
|
/dev/mirror/gm0s1a |
/ |
ufs |
rw |
1 |
|
/dev/mirror/gm0s1e |
/tmp |
ufs |
rw |
2 |
|
/dev/mirror/gm0s1f |
/usr |
ufs |
rw |
2 |
|
/dev/mirror/gm0s1d |
/var |
ufs |
rw |
2 |
|
/dev/acd0 |
/cdrom |
cd9660 |
ro,noauto |
0 |
0
|
e. Перегружаемся.
4. Подключаем диск в RAID-массив.
a. # gmirror insert gm0 /dev/adX
, где adX
новый диск. Как определился диск также смотрим через fdisk
, или любым другим доступным способом.
b. Просматриваем процесс зеркалирования командой # gmirror status
. Результатом команды будет информация, показывающая уровень выполнения задачи зеркалирования в процентах.
c. О состоянии RAID-массива покажет команда: # gmirror list
Замена жёстких дисков
a. # gmirror forget gm0
- временно выключаем RAID
b. # gmirror insert gm0 /dev/adX
- подключаем новый диск
Справку по опциям gmirror
можно узать набрав просто: # gmirror
Проверить работоспособность RAID-массива можно путём поочерёдного отключения одного из дисков. Ваш сервер должен загрузиться в любом случае, если один из дисков находится в отключке.
Ссылки:
К содержанию