Часто бывает необходимо организовать безотказное хранилище данных.Для этих целей как раз и подойдет RAID. Однако не все материнские платы поддерживают аппаратный RAID-массив.В особенности если у нас сервер не полноценный,а из обычного ПК )) Тут как раз нас и выручит программный RAID,который позволяет создать рабочий массив из практически любый одинаковых дисков.

Начнем. Установим утилиту-драйвер:

apt-get install mdadm

Теперь принимаем за константу что у нас два жестких диска с именами /dev/sdb и /dev/sdc. Разобьем диски программой fdisk.Если у вас там были разделы,то сначала удалим их все.

fdisk /dev/sdb

Затем посмотрим какие разделы у нас есть.Вводим в приглашение англ. букву p.

Command (m for help): p

Device Boot Start End Blocks Id System
/dev/sdc1 1 1216 9767488+ 83 Linux
/dev/sdc2 1217 1277 489982+ 82 Linux swap / Solaris
/dev/sdc3 1278 19457 146030850 5 Extended
/dev/sdc5 3224 19457 130399573+ 83 Linux
/dev/sdc6 1278 3223 15631213+ 83 Linux

В этом примере у нас 5 разделов.Удаляем их.Вводим в приглашение букву d и номер раздела.И так по очереди все.

После этого создаем новый раздел.Вводим букву n.

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Вводим тут букву p - это значит раздел будет Первичным.

Partition number (1-4): 1

Тут номер раздела.Первый конечно же.

First cylinder (1-41610, default 1):

жмем просто Ентер.

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-31510, default 31510):

Тут тоже просто жмем Ентер.У вас в зависимости от размера диска будут другие конечные цифры,но суть не меняется.

Using default value 31510

Раздел создан.Можно посмотреть его информацию введя букву p. Далее мы изменим тип раздела - сейчас там тип 83 Linux. А нам надо fd Linux autodetect. Вводим букву t и в приглашении буквы fd и жмем Ентер.Тип раздела изменится.Теперь записываем все изменения введя букву w. Готово! Первый диск разбит.Тоже самое делаем со вторым.

Теперь создаем зеркальный RAID 1-массив :

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/hdb1 /dev/hdс1

mdadm: size set to 16041518K

mdadm: array /dev/md0 started.

После этого вводим cat /proc/mdstat и смотрим статус - диски должны начать синхронизацию:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

md0 : active raid1 hdс1[1] hdb1[0]

      20971328 blocks [2/2] [UU]

      [==>..................]  resync = 10.7% (2260416/20971328) finish=8.4min speed=36824K/sec

 unused devices: <none>

Этот процесс занимает много времени.Тем больше,чем больше размер дисков.Ждем завершения.После завершения надо записать конфигурацию нашего массива в файл конфига,иначе после перезагрузки он потеряется.Это проще всего сделать коммандой:

 mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Теперь настраиваем что б наш массив монтировался при загрузке системы. Создаем папку,например mkdir /media/raid. Теперь добавляем строчку в /etc/fstab:

/dev/md0   /media/raid   ext3    defaults  0  0

Заметка: на этом месте во многих мануалах настройка и заканчивается.Массив должен уже монтироватсья.Однако лично я столкнулся с тем,что он не монтировался - писал что не найдена файловая система.Решилось все просто:

mkfs.ext3 /dev/md0

Готово! Теперь пробуем смонтировать его:

mount /media/raid

Если все смонтировалось без ошибок,поздравляю! Все работает и будет работать. Теперь у вас есть отказоустойчивый массив дисков.Если один из них выйдет из строя,то информация останется на втором.

Добавить комментарий

%d такие блоггеры, как: