Centos
1.Установка необходимой утилиты mdadm
(если до этого не было никаких raid-устройств в системе)
1 |
# yum install mdadm |
Просмотр текущих RAID-устройств (в данном случае в системе уже есть два raid-устройства /dev/md0 (из sda1 и sdb1) и /dev/md1 (из sda2 и sdb2))
1 |
# cat /proc/mdstat |
1 2 3 4 5 6 7 |
Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 524224 blocks super 1.0 [2/2] [UU] md1 : active raid1 sda2[0] sdb2[1] 9952128 blocks super 1.1 [2/2] [UU] bitmap: 1/1 pages [4KB], 65536KB chunk |
Создание бекапа файла с настройками уже существующих RAID-устройств
1 |
# cp /etc/mdadm.conf /etc/mdadm.conf~ |
2.Подготовка дисков к созданию RAID-массива
Просмотр дисков в системе
1 |
# fdisk -l | less |
Создание раздела и форматирование его в Raid-формат(fd)
1 |
# fdisk /dev/sdc |
1 |
n->p->1->отдаем весь диск->t->fd->w |
Аналогично для другого диска
1 |
# fdisk /dev/sdd |
1 |
n->p->1->отдаем весь диск->t->fd->w |
1 |
# fdisk -l | grep -iE 'sdc|sdd' |
1 2 3 4 |
Device Boot Start End Blocks Id System /dev/sdc1 1 652 5237158+ fd Linux raid autodetect Device Boot Start End Blocks Id System /dev/sdd1 1 652 5237158+ fd Linux raid autodetect |
3.Создание RAID-массива /dev/md2 типа RAID-1
1 |
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1 |
1 2 3 4 5 6 7 8 9 |
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 5233024K Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md2 started. |
Просмотр состояния RAID- устройств
1 |
# watch cat /proc/mdstat |
1 2 3 4 |
Personalities : [raid1] md2 : active raid1 sdd1[1] sdc1[0] 5233024 blocks super 1.2 [2/2] [UU] …………………………………………………………… |
4.Создание файловой системы на логическом диске массива (/dev/md2) и монтирования ее в каталог
1 |
# mkfs.ext4 /dev/md2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 327680 inodes, 1308256 blocks 65412 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override |
Создание точки монтирования RAID-массива
1 |
# mkdir /raid |
Добавление автоматического монтирования файловой системы RAID-массива при загрузке
1 |
# nano /etc/fstab |
1 |
/dev/md2 /raid ext4 defaults 0 0 |
Монтирование файловой системы нового RAID-массива
1 |
# mount –a |
Запишим для проверки произвольную информацию в точку монтирования RAID-массив(папка /raid)
1 |
# cp -pr /etc /raid/ |
5. Настройка конфигурационного файла утилиты mdadm /etc/mdadm.conf
Просмотр уже существующего файла конфигурации RAID-массивов в системе.
1 |
# cat /etc/mdadm.conf |
1 2 3 4 5 |
# mdadm.conf written out by anaconda MAILADDR root AUTO +imsm +1.x -all ARRAY /dev/md0 level=raid1 num-devices=2 UUID=f1922d77:feb7d354:7f0f6af3:2c13b7fa ARRAY /dev/md1 level=raid1 num-devices=2 UUID=ad3e78d2:743b59b1:ad6174e0:792daa25 |
1 |
# mdadm --detail --scan |
1 2 3 |
ARRAY /dev/md1 metadata=1.1 name=centos64raidlvm.kamaok.org.ua:1 UUID=ad3e78d2:743b59b1:ad6174e0:792daa25 ARRAY /dev/md2 metadata=1.2 name=centos64raidlvm.kamaok.org.ua:2 UUID=fee1aaf9:8afb8432:d012f5b7:d21579f6 ARRAY /dev/md0 metadata=1.0 name=centos64raidlvm.kamaok.org.ua:0 UUID=f1922d77:feb7d354:7f0f6af3:2c13b7fa |
Добавление нового RAID-массива /dev/md2 в mdadm.conf
1 |
# nano /etc/mdadm.conf |
1 |
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=fee1aaf9:8afb8432:d012f5b7:d21579f6 |
Либо,чтобы не добавлять новый массив вручную в файл /etc/mdadm.conf, выполним команду для
сканирование массивов системой и запись нового актуального конфигурационного файла mdadm
1 |
# mdadm --examine --scan >> /etc/mdadm.conf |
6.Перезагрузка и проверка корректности создания RAID-массива и его монтирования в папку /raid
1 |
# reboot |
Состояние RAID-массива /dev/md2
1 |
# cat /proc/mdstat |
Personalities : [raid1]
1 2 3 4 5 6 7 8 9 |
md0 : active raid1 sdb1[1] sda1[0] 524224 blocks super 1.0 [2/2] [UU] mdd2 : active raid1 sdd1[1] sdc1[0] 5233024 blocks super 1.2 [2/2] [UU] md1 : active raid1 sdb2[1] sda2[0] 9952128 blocks super 1.1 [2/2] [UU] bitmap: 1/1 pages [4KB], 65536KB chunk |
Корректность монтирования в папку/raid
1 |
# ls -l /raid/ |
1 2 3 |
total 28 drwxr-xr-x 77 root root 4096 Oct 19 23:28 etc drwx------ 2 root root 16384 Oct 19 23:05 lost+found |
7.Замена одного из дисков в RAID-1(например, /dev/sdc1)
a)помечаем диск /dev/sdc1 как сбойный
1 |
# mdadm --manage /dev/md2 --fail /dev/sdc1 |
1 |
mdadm: set /dev/sdc1 faulty in /dev/md2 |
Просмотр состояния RAID-массива
1 |
# cat /proc/mdstat |
1 2 3 |
……………………………………………………… md2 : active raid1 sdd1[1] sdc1[0](F) 5233024 blocks super 1.2 [2/1] [_U] |
1 |
# mdadm --detail /dev/md2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/dev/md2: Version : 1.2 Creation Time : Sat Oct 19 22:50:02 2013 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sun Oct 27 23:22:01 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 Name : centos64raidlvm.kamaok.org.ua:2 (local to host centos64raidlvm.kamaok.org.ua) UUID : fee1aaf9:8afb8432:d012f5b7:d21579f6 Events : 18 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 49 1 active sync /dev/sdd1 0 8 33 - faulty spare /dev/sdc1 |
b) удаление проблемного диска /dev/sdc1 с массива
1 |
# mdadm --manage /dev/md2 --remove /dev/sdc1 |
1 |
mdadm: hot removed /dev/sdc1 from /dev/md2 |
с) Очистка суперблоков на разделах жесткого диска /dev/sdc1
1 |
# mdadm --zero-superblock /dev/sdc1 |
Просмотр состояния RAID-массива
1 |
# cat /proc/mdstat |
1 2 |
md2 : active raid1 sdd1[1] 5233024 blocks super 1.2 [2/1] [_U] |
1 |
# mdadm --detail /dev/md2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/dev/md2: Version : 1.2 Creation Time : Sat Oct 19 22:50:02 2013 Raid Level : raid1 Array Size : 5233024 (4.99 GiB 5.36 GB) Used Dev Size : 5233024 (4.99 GiB 5.36 GB) Raid Devices : 2 Total Devices : 1 Persistence : Superblock is persistent Update Time : Sun Oct 27 23:25:20 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 0 Spare Devices : 0 Name : centos64raidlvm.kamaok.org.ua:2 (local to host centos64raidlvm.kamaok.org.ua) UUID : fee1aaf9:8afb8432:d012f5b7:d21579f6 Events : 21 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 49 1 active sync /dev/sdd1 |
d)Добавление нового диска /dev/sdc1 в RAID-массив /dev/md2
1 |
# mdadm --manage --add /dev/md2 /dev/sdc1 |
Просмотр состояния RAID-массива(проверка синхронизации)
1 |
# cat /proc/mdstat |
1 2 3 |
md2 : active raid1 sdc1[2] sdd1[1] 5233024 blocks super 1.2 [2/1] [_U] [======>..............] recovery = 32.1% (1684992/5233024) finish=0.2min speed=210624K/sec |
Для online проверки состояния синхронизации используем утилиту watch c ежесекундным обновлением.
1 |
# watch -d -n 1 cat /proc/mdstat |
Итого: набор команд для замены диска в Raid-1(если это не системные диски)
1 |
# mdadm --manage /dev/md2 --fail /dev/sdc1 |
1 |
# mdadm --manage /dev/md2 --remove /dev/sdc1 |
1 |
# mdadm --manage --add /dev/md2 /dev/sdc1 |
1 |
# watch -d -n 1 cat /proc/mdstat |
Если диски являются системными/загрузочными,то необходимо установить загрузчик на оба диска
Например,если при наличии системных дисков /dev/sda и /dev/sdb при замене любого из них необходимо выполнить после синхронизации дисков
1 |
# grub-install /dev/sda |
1 |
# grub-install /dev/sdb |
8.Удаление RAID-массива
Остановить все процессы, использующие массив
1 |
# fuser -kmv /raid |
Отмонтировать подключенный raid-массив
1 |
# umount /dev/md2 |
Остановить отмонтированный RAID-массив
1 |
# mdadm --manage --stop /dev/md2 |
1 |
mdadm: stopped /dev/md2 |
Очистить суперблоки на разделах жестких дисков, из которых состоит массив
1 |
# mdadm --zero-superblock /dev/sdc1 |
1 |
# mdadm --zero-superblock /dev/sdd1 |
Или, как вариант
1 |
# dd if=/dev/zero of=/dev/sdc1 bs=512 count=1 |
1 |
# dd if=/dev/zero of=/dev/sdd1 bs=512 count=1 |
Ubuntu/Debian (все аналогично)
1 |
# apt-get install initramfs-tools mdadm |
Загружаем необходимые модули
1 |
# modprobe linear |
1 |
# modprobe multipath |
1 |
# modprobe raid0 |
1 |
# modprobe raid1 |
1 |
# modprobe raid6 |
1 |
# modprobe raid10 |
Просмотр состояния RAID-массива
1 |
# cat /proc/mdstat |
Создание разделов на дисках и изменение типа разделов на Linux raid autodetect(fd)
1 |
# fdisk /dev/sdb->n->p->1->отдаем весь диск->t->fd->w |
1 |
# fdisk /dev/sdc->n->p->1->отдаем весь диск->t->fd->w |
1 |
# fdisk -l | grep -iE 'sdc|sdb' |
1 2 3 4 |
Disk /dev/sdb: 5368 MB, 5368709120 bytes /dev/sdb1 2048 10485759 5241856 fd Linux RAID autodetect Disk /dev/sdc: 5368 MB, 5368709120 bytes /dev/sdc1 2048 10485759 5241856 fd Linux RAID autodetect |
Создание RAID-массива
1 |
# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 |
где missing ключ позволяет создать массив при реальном наличии только одного диска, второй мы добавим позже
1 2 3 4 5 6 7 8 |
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. |
Просмотр состояния RAID-массива
1 |
# cat /proc/mdstat |
1 2 3 4 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[1] 5237696 blocks super 1.2 [2/1] [_U] unused devices: <none> |
Создание файловой системы на логическом диске массива
1 |
# mkfs.ext4 /dev/md0 |
Сохраним копию конфигурационного файла mdadm, если до этого существовали настроенные массивы
1 |
# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf~ |
Выполняем сканирование массивов системой и запись нового актуального конфигурационного файла mdadm
1 |
# mdadm --examine --scan >> /etc/mdadm/mdadm.conf |
Создаем точку монтирования, куда будет смонтирован наш RAID-массив
1 |
# mkdir /raid |
Настройка автоматического монтирования массива при перезапуске сервера
1 |
# nano /etc/fstab |
1 |
/dev/md0 /raid ext4 defaults 0 0 |
Монтируем/проверяем корректность добавенной строки в /etc/fstab
1 |
# mount -a |
Просмотр статуса массива
1 |
# cat /proc/mdstat |
1 2 3 4 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[1] 5237696 blocks super 1.2 [2/1] [_U] unused devices: <none> |
Добавление второго диска в массив
1 |
# mdadm --add /dev/md0 /dev/sdc1 |
1 |
mdadm: added /dev/sdc1 |
Просмотр статуса массива
1 |
# cat /proc/mdstat |
1 2 3 4 5 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdc1[2] sdb1[1] 5237696 blocks super 1.2 [2/1] [_U] [============>........] recovery = 64.7% (3392512/5237696) finish=0.1min speed=212032K/sec unused devices: <none> |
После успешной синхронизации
1 |
# cat /proc/mdstat |
1 2 3 4 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdc1[2] sdb1[1] 5237696 blocks super 1.2 [2/2] [UU] unused devices: <none> |
Источник:
http://xgu.ru/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B9_RAID_%D0%B2_Linux
http://blog.102web.ru/howto/debian-mdadm/