Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
В этой статье мы произведём расширение ранее созданного программного RAID 6 /dev/md0, в котором на текущий момент участвует 10 дисков. Мы добавим 2 дополнительных диска, которые также будут представлены в системе как multipath-устройства
Итак, предполагаем, что 2 новых диска уже презентованы нашему файловому серверу на уровне SAN, и каждый из дисков доступен по двум путям (multipath).
Получим список каналов подключений (scsi_host):
# ls -la /sys/class/scsi_host/ ... host0 -> ../../devices/pci0000:00/0000:00:1f.1/ata1/host0/scsi_host/host0 ... host1 -> ../../devices/pci0000:00/0000:00:1f.1/ata2/host1/scsi_host/host1 ... host2 -> ../../devices/pci0000:00/0000:00:04.0/0000:13:00.0/host2/scsi_host/host2 ... host3 -> ../../devices/pci0000:00/0000:00:04.0/0000:13:00.1/host3/scsi_host/host3 ... host4 -> ../../devices/platform/host4/scsi_host/host4
Проверим список устройств, доступных системе:
# cat /proc/scsi/scsi
Если добавленные диски не отображается, то попробуем обновить информацию соответствующих каналов:
# echo "- - -" > /sys/class/scsi_host/host2/scan # echo "- - -" > /sys/class/scsi_host/host3/scan
Снова посмотрим список устройств. Добавленные диски должны появиться (вывод команды сокращён):
# cat /proc/scsi/scsi ... Host: scsi2 Channel: 00 Id: 00 Lun: 11 Vendor: HP Model: MSA VOLUME Rev: 7.20 Type: Direct-Access ANSI SCSI revision: 04 Host: scsi2 Channel: 00 Id: 00 Lun: 12 Vendor: HP Model: MSA VOLUME Rev: 7.20 Type: Direct-Access ANSI SCSI revision: 04 Host: scsi3 Channel: 00 Id: 00 Lun: 11 Vendor: HP Model: MSA VOLUME Rev: 7.20 Type: Direct-Access ANSI SCSI revision: 04 Host: scsi3 Channel: 00 Id: 00 Lun: 12 Vendor: HP Model: MSA VOLUME Rev: 7.20 Type: Direct-Access ANSI SCSI revision: 04 ...
Как видно, в моём примере в систему добавлено 2 диска (Lun11 и Lun12), каждый из которых доступен по двум путям (scsi2 и scsi3) Если после последней команды добавленные диски всё же не появились, то можно попробовать перезагрузить сервер.
Теперь посмотрим, что нам покажет служба multipathd:
# multipath -ll
В выводе команды мы должны увидеть наши 2 добавленных multupath-диска (вывод команды сокращён) :
... mpathv (3600508b30091bb409d8550206947004a) dm-11 HP ,MSA VOLUME size=466G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 3:0:0:11 sdx 65:112 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- 2:0:0:11 sdv 65:80 active ready running mpathu (3600508b30091bb406c4d212983eb004a) dm-10 HP ,MSA VOLUME size=466G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 2:0:0:12 sdw 65:96 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- 3:0:0:12 sdy 65:128 active ready running ...
В нашем примере:
Посмотрим список устройств /dev/dm*. Эти устройства мы будем использовать для расширения нашего RAID-массива (вывод команды сокращён):
# ls -la /dev/mapper/ ... rwxrwxrwx. 1 root root 8 Nov 27 08:28 mpathu -> ../dm-10 lrwxrwxrwx. 1 root root 8 Nov 27 08:28 mpathv -> ../dm-11
Посмотрим состояние нашего программного RAID-массива и увидим то, какие /dev/dm* устройства уже включены в него:
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Aug 31 11:05:49 2016 Raid Level : raid6 Array Size : 3905765376 (3724.83 GiB 3999.50 GB) Used Dev Size : 488220672 (465.60 GiB 499.94 GB) Raid Devices : 10 Total Devices : 10 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Nov 27 08:32:28 2016 State : clean, checking Active Devices : 10 Working Devices : 10 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Check Status : 74% complete Name : 0 UUID : 5baba46f:31132696:5f8b64f3:1e9605d9 Events : 23854 Number Major Minor RaidDevice State 0 253 4 0 active sync /dev/dm-4 1 253 3 1 active sync /dev/dm-3 2 253 7 2 active sync /dev/dm-7 3 253 5 3 active sync /dev/dm-5 4 253 8 4 active sync /dev/dm-8 5 253 1 5 active sync /dev/dm-1 6 253 6 6 active sync /dev/dm-6 7 253 2 7 active sync /dev/dm-2 8 253 0 8 active sync /dev/dm-0 9 253 9 9 active sync /dev/dm-9
Добавляем в RAID-массив /dev/md0 первое multupath-устройство dm-10 (mpathu)
#mdadm --add /dev/md0 /dev/dm-10 mdadm: added /dev/dm-10
Добавляем в RAID-массив /dev/md0 второе multupath-устройство dm-11 (mpathv)
# mdadm --add /dev/md0 /dev/dm-11 mdadm: added /dev/dm-11
Устройства будут добавлены как spare-диски. В нашем примере эти диски имеют номера 10 и 11 внутри массива md0:
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Aug 31 11:05:49 2016 Raid Level : raid6 Array Size : 3905765376 (3724.83 GiB 3999.50 GB) Used Dev Size : 488220672 (465.60 GiB 499.94 GB) Raid Devices : 10 Total Devices : 12 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Nov 27 09:04:03 2016 State : clean, checking Active Devices : 10 Working Devices : 12 Failed Devices : 0 Spare Devices : 2 Layout : left-symmetric Chunk Size : 512K Check Status : 83% complete Name : 0 UUID : 5baba46f:31132696:5f8b64f3:1e9605d9 Events : 23908 Number Major Minor RaidDevice State 0 253 4 0 active sync /dev/dm-4 1 253 3 1 active sync /dev/dm-3 2 253 7 2 active sync /dev/dm-7 3 253 5 3 active sync /dev/dm-5 4 253 8 4 active sync /dev/dm-8 5 253 1 5 active sync /dev/dm-1 6 253 6 6 active sync /dev/dm-6 7 253 2 7 active sync /dev/dm-2 8 253 0 8 active sync /dev/dm-0 9 253 9 9 active sync /dev/dm-9 10 253 10 - spare /dev/dm-10 11 253 11 - spare /dev/dm-11
Как видим автоматически запущена процедура проверки состояния (State : …, checking ) Следим за статусом окончания процедуры командой (процесс может занять длительное время):
# watch cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid6 dm-11[11](S) dm-10[10](S) dm-5[3] dm-4[0] dm-1[5] dm-3[1] dm-9[9] dm-2[7] dm-6[6] dm-8[4] dm-0[8] dm-7[2] 3905765376 blocks super 1.2 level 6, 512k chunk, algorithm 2 [10/10] [UUUUUUUUUU] [=========>...] check = 83.2% (406424328/488220672) finish=98.7min speed=13803K/sec bitmap: 0/4 pages [0KB], 65536KB chunk unused devices: <none>
Когда процедура проверки массива будет окончена, можно приступать к преобразованию spare-дисков в активные диски RAID-массива. С учётом добавленных дисков в массиве будет 12 дисков, поэтому используем команду:
# mdadm --grow /dev/md0 --raid-devices=12
Команда может выполниться, а может вызвать ошибку типа
mdadm: Failed to initiate reshape! unfreeze
Тогда можно просто попробовать выполнить команду повторно.
После этого можно следить за преобразованием RAID-массива (процесс может занять длительное время)
# watch cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid6 dm-11[11] dm-10[10] dm-5[3] dm-4[0] dm-1[5] dm-3[1] dm-9[9] dm-2[7] dm-6[6] dm-8[4] dm-0[8] dm-7[2] 3905765376 blocks super 1.2 level 6, 512k chunk, algorithm 2 [12/12] [UUUUUUUUUUUU] [>............] reshape = 0.1% (518144/488220672) finish=1577.2min speed=5153K/sec bitmap: 0/4 pages [0KB], 65536KB chunk
Когда процесс перестроения массива закончен, снова посмотрим его свойства:
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Aug 31 11:05:49 2016 Raid Level : raid6 Array Size : 4882206720 (4656.04 GiB 4999.38 GB) Used Dev Size : 488220672 (465.60 GiB 499.94 GB) Raid Devices : 12 Total Devices : 12 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Mon Nov 28 20:50:44 2016 State : clean Active Devices : 12 Working Devices : 12 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : 0 UUID : 5baba46f:31132696:5f8b64f3:1e9605d9 Events : 35875 Number Major Minor RaidDevice State 0 253 4 0 active sync /dev/dm-4 1 253 3 1 active sync /dev/dm-3 2 253 7 2 active sync /dev/dm-7 3 253 5 3 active sync /dev/dm-5 4 253 8 4 active sync /dev/dm-8 5 253 1 5 active sync /dev/dm-1 6 253 6 6 active sync /dev/dm-6 7 253 2 7 active sync /dev/dm-2 8 253 0 8 active sync /dev/dm-0 9 253 9 9 active sync /dev/dm-9 11 253 11 10 active sync /dev/dm-11 10 253 10 11 active sync /dev/dm-10
Как видим, размер нашего RAID-массива увеличен на объём добавленных дисков.
Дополнительные источники информации: