Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
В некоторых нештатных ситуациях может получиться так, что после некорректного завершения работы Linux-системы или при внезапном временном отключении дисков, из которых собран RAID-массив Linux Software RAID (mdraid), имя массива (устройство mdraid) меняется с ранее назначенного, например md0, на имя md127. В этой заметке мы рассмотрим пример того, как исправить эту ситуацию и вернуть прежнее имя RAID-массива.
В нашем примере в системе имеется RAID-массив уровня RAID-6 из 4-дисков. При создании массива, ему было назначено имя md0. После некорректного выключения системы массив изменил своё имя на md127
# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md127 : active (auto-read-only) raid6 dm-9[2] dm-6[0] dm-1[1] dm-7[3] 4882206720 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUUUUUUUUUU] bitmap: 0/4 pages [0KB], 65536KB chunk unused devices: none
Посмотрим на текущее состояние массива и обратим внимание на идентификатор UUID (он не меняется при смене имени md-устройства):
# mdadm --detail /dev/md127 /dev/md127: Version : 1.2 Creation Time : Mon Nov 28 21:09:22 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 : 4 Total Devices : 4 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Dec 25 14:02:36 2016 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Consistency Policy : bitmap Name : 1 UUID : 3161ebbe:a270f3e8:376f17d0:41130125 Events : 12196 Number Major Minor RaidDevice State 0 253 6 0 active sync /dev/dm-6 1 253 1 1 active sync /dev/dm-1 2 253 9 2 active sync /dev/dm-9 3 253 7 3 active sync /dev/dm-7
Останавливаем текущий массив /dev/md127:
/dev/md127
# mdadm --stop /dev/md127 mdadm: stopped /dev/md127
Запускаем массив заново, но уже назначив ему желаемое имя:
# mdadm --assemble --update=name --name=0 /dev/md0 /dev/dm-1 /dev/dm-6 /dev/dm-7 /dev/dm-9 mdadm: /dev/md0 has been started with 4 drives.
Проверяем состояние массива с прежним именем:
# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid6 dm-1[0] dm-6[1] dm-7[2] dm-9[3] 4882206720 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUUUUUUUUUU] bitmap: 0/4 pages [0KB], 65536KB chunk unused devices: none
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Nov 28 21:09:22 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 : 4 Total Devices : 4 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Dec 25 14:02:36 2016 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Consistency Policy : bitmap Name : 0 UUID : 3161ebbe:a270f3e8:376f17d0:41130125 Events : 12196 Number Major Minor RaidDevice State 0 253 5 0 active sync /dev/dm-1 1 253 0 1 active sync /dev/dm-6 2 253 3 2 active sync /dev/dm-7 3 253 4 3 active sync /dev/dm-9
Отредактируем конфигурационный файл mdadm.conf, который используется при старте системы, таким образом, чтобы UUID массива указывал на нужное нам имя (md0). Также обратите внимание на значение name=0 (оно должно соответсвовать тому, что мы указали при перезапуске массива в параметре –name=0 и тому, что мы видим в свойствах массива при выполнении команды mdadm –detail /dev/md0)
name=0
–name=0
mdadm –detail /dev/md0
# nano /etc/mdadm.conf
DEVICE /dev/dm* DEVICE /dev/mapper/mpath* ARRAY /dev/md0 metadata=1.2 name=0 UUID=3161ebbe:a270f3e8:376f17d0:41130125 MAILADDR DST-Linux-Administrators@holding.com MAILFROM KOM-AD01-FS03@holding.com
Пересоберём загрузочный образ системы initial ramdisk, так как в его состав включается файл /etc/mdadm.conf
/etc/mdadm.conf
На CentOS для этого выполним команду:
# dracut --force
После этого перезагружаем систему и убеждаемся в том, что RAID-массив запустился с нужным нам именем устройства (md0).
md0
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Автор первичной редакции: Алексей Максимов Время публикации: 19.06.2018 13:30