Раздел: Админство

Собираем RAID5 на Debian

Решил собрать raid на Дебиан, заодно опубликую последовательность действий.
Дано: четыре диска по 2 ТБ. Нужно получить: software RAID5. Операционная система, естественно, стоит на отдельном жёстком диске.

Debian установлена на /dev/sda.. ; raid будем делать на /dev/sd[bcde].
И так, нам понадобятся следующие программы: которые не входят в базовый набор Debian Squeeze:
sgdisk, mdadm и rpm; причём rpm нужен именно для установки sgdisk, которого нет в родных репозиторях Дебиан.
Устанавливаем программы:

apt-get install rpm parted mdadm 

Скачиваем gptfdisk, в состав которого входит sgdisk:

wget http://download.opensuse.org/repositories/home:/srs5694/Debian_6.0/i386/gptfdisk_0.8.6-1_i386.deb

Устанавливаем:

dkkg -i gptfdisk_0.8.6-1_i386.deb

Создаём раздел на одном из дисков:

parted -a optimal /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 1 -1
(parted) align-check
alignment type(min/opt) [optimal]/minimal? optimal
Partition number? 1
1 aligned
(parted) quit

с помощью sgdisk бэкапим таблицу и копируем её на другие диски:

sgdisk --backup=table /dev/sdb
sgdisk --load-backup=table /dev/sdc
sgdisk --load-backup=table /dev/sdd
sgdisk --load-backup=table /dev/sde

Создаём RAID5:

mdadm --create /dev/md0 --level=5 --spare-devices=0 --raid-devices=4 /dev/sd[bcde] 

Иногда, ребилд рейда может не стартовать, пока его(рейд) не примонтировать куда-либо.
Создадим папку /home/raid и сонтируем, в неё:

mkdir /home/raid && mount /dev/md0 /home/raid

Смотрим, как собирается raid, ожидаем окончания:

watch -n 1 cat /proc/mdstat

Далее, создаём конфиг-файл для нашего рейда (вместо fileserver нужно вписать имя компьютера, вместо youremail — вашу почту):

cat /etc/mdadm/mdadm.conf
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
echo "HOMEHOST fileserver" >> /etc/mdadm/mdadm.conf
echo "MAILADDR youruser@gmail.com" >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Корректность собранного рейда можно посмотреть так:

mdadm -D /dev/md0

Результат должен быть примерно такой:

/dev/md0:
Version : 1.2
Creation Time : Fri Mar 8 09:53:09 2013
Raid Level : raid5
Array Size : 5860538880 (5589.05 GiB 6001.19 GB)
Used Dev Size : 1953512960 (1863.02 GiB 2000.40 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri Mar 8 21:36:24 2013
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : fileserver:0 (local to host fileserver)
UUID : 61d6fe49:c6ab07f6:fe374216:3181834f
Events : 29

Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde

Теперь, создаём файловую систему на собранном рейде.
Raid не должен быть куда-либо смонтирован.

umount /home/raid

Например, выберем ext4. По умолчанию, команда mkfs при форматировании раздела создаст зарезервированное место для root (5%), но, если операционная система находится на отдельном диске, то мы можем принудительно указать не делать этого, указав параметр -m равный нулю:

mkfs.ext4 -m 0 /dev/md0

Далее, редактируем fstab для того, чтобы raid автоматически монтировался при загрузке:

vi /etc/fstab

Добавляем строчку:

/dev/md0 /home/raid ext4 defaults 1 2

Всё, можно смонтировать Raid и пользоваться им:

mount -a

Комментировать

Комментарии

17 − четрынадцать =