Восстановление RAID6 с двумя проблемами с дисками mdadm
У меня было два сбоя диска в моем массиве RAID6. Я добавил два новых диска и сделал следующее:
- Я запустил mdadm /dev/md1 - удалить на двух дисках
- Я установил свой RAID на 1-й раздел каждого диска (для выравнивания). Поскольку сменные диски выровнены одинаково, я сделал dd if=/dev/sdg (рабочий диск) из =/dev/sde (новый диск) bs=512 count=1, чтобы скопировать макет раздела. Я не уверен, что это правильно, поскольку я, вероятно, скопировал данные суперблока mdadm.
- Затем я запустил mdadm /dev/md1 --add и два диска.
Теперь у меня есть это, когда я запускаю mdadm --detail / dev / md1:
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
6 8 65 2 spare rebuilding /dev/sde1
3 0 0 3 removed
4 8 97 4 active sync /dev/sdg1
5 8 113 5 active sync /dev/sdh1
7 8 81 - spare /dev/sdf1
/ proc / mdstat показывает один диск как перестраиваемый, но не другой. Я не думаю, что это правильно, так как я думаю, что один диск "удален" и не был заменен должным образом. Буквы дисков точно такие же, как на последних двух дисках. Здесь mdstat.
root@precise:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[0] sdd1[1]
1953379136 blocks super 1.2 [2/2] [UU]
md1 : active raid6 sdf1[7](S) sde1[6] sdb1[1] sdh1[5] sda1[0] sdg1[4]
11720521728 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/4] [UU__UU]
[>....................] recovery = 2.2% (65163484/2930130432) finish=361.0min speed=132257K/sec
unused devices: <none>`
Я хотел бы знать (если это кажется правильным), и что мне нужно сделать, чтобы исправить запись № 3 и получить /dev/sdf1, чтобы занять ее место? Затем я предполагаю, что у меня снова будет правильный массив. Что я нахожу странным, так это то, что добавление / dev / sde1, по-видимому, позволило начать синхронизацию, но /dev/sdf1 не занял место Major 3 Major (RaidDevice 3)
Вся помощь приветствуется
ура
1 ответ
Во-первых, позвольте мне заверить вас: если ваши диски mdadm основаны на разделах (например, sda1 и т. Д.), Первый "dd" был в порядке, и он не вызывал копирование метаданных mdadm (метаданные находятся внутри самого раздела, а не внутри МБР).
То, что вы наблюдаете, - это нормальное поведение MDRAID. Вы заново добавили новые диски, используя две отдельные команды mdadm -a, верно? В этом случае mdadm сначала повторно синхронизирует первый диск (переводит второй в "резервный" режим), а затем переводит второй диск в состояние "восстановление резервного". Если вы повторно добавите два диска с помощью одной команды (например, mdadm /dev/mdX -a /dev/sdX1 /dev/sdY1), сборка будет выполняться одновременно.
Позвольте взглянуть на мой (тестируемый) сбой RAID6:
[root@kvm-black test]# mdadm --detail /dev/md200
/dev/md200:
Version : 1.2
Creation Time : Mon Feb 9 18:40:59 2015
Raid Level : raid6
Array Size : 129024 (126.02 MiB 132.12 MB)
Used Dev Size : 32256 (31.51 MiB 33.03 MB)
Raid Devices : 6
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Feb 9 18:51:03 2015
State : clean, degraded
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : localhost:md200 (local to host localhost)
UUID : 80ed5f2d:86e764d5:bd6979ed:01c7997e
Events : 105
Number Major Minor RaidDevice State
0 7 0 0 active sync /dev/loop0
1 7 1 1 active sync /dev/loop1
2 7 2 2 active sync /dev/loop2
3 7 3 3 active sync /dev/loop3
4 0 0 4 removed
5 0 0 5 removed
Повторное добавление дисков с использованием двух отдельных команд (mdadm /dev/md200 -a /dev/loop6; sleep 1; mdadm /dev/md200 -a /dev/loop7) вызвало следующий подробный отчет:
[root@kvm-black test]# mdadm --detail /dev/md200
/dev/md200:
Version : 1.2
Creation Time : Mon Feb 9 18:40:59 2015
Raid Level : raid6
Array Size : 129024 (126.02 MiB 132.12 MB)
Used Dev Size : 32256 (31.51 MiB 33.03 MB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Mon Feb 9 18:56:40 2015
State : clean, degraded, recovering
Active Devices : 4
Working Devices : 6
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 9% complete
Name : localhost:md200 (local to host localhost)
UUID : 80ed5f2d:86e764d5:bd6979ed:01c7997e
Events : 134
Number Major Minor RaidDevice State
0 7 0 0 active sync /dev/loop0
1 7 1 1 active sync /dev/loop1
2 7 2 2 active sync /dev/loop2
3 7 3 3 active sync /dev/loop3
6 7 6 4 spare rebuilding /dev/loop6
5 0 0 5 removed
7 7 7 - spare /dev/loop7
Через некоторое время:
[root@kvm-black test]# mdadm --detail /dev/md200
/dev/md200:
Version : 1.2
Creation Time : Mon Feb 9 18:40:59 2015
Raid Level : raid6
Array Size : 129024 (126.02 MiB 132.12 MB)
Used Dev Size : 32256 (31.51 MiB 33.03 MB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Mon Feb 9 18:57:43 2015
State : clean
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : localhost:md200 (local to host localhost)
UUID : 80ed5f2d:86e764d5:bd6979ed:01c7997e
Events : 168
Number Major Minor RaidDevice State
0 7 0 0 active sync /dev/loop0
1 7 1 1 active sync /dev/loop1
2 7 2 2 active sync /dev/loop2
3 7 3 3 active sync /dev/loop3
6 7 6 4 active sync /dev/loop6
7 7 7 5 active sync /dev/loop7
Добавление двух дисков в одну команду (mdadm /dev/md200 -a /dev/loop6 /dev/loop7) приводит к этому отчету:
[root@kvm-black test]# mdadm --detail /dev/md200
/dev/md200:
Version : 1.2
Creation Time : Mon Feb 9 18:40:59 2015
Raid Level : raid6
Array Size : 129024 (126.02 MiB 132.12 MB)
Used Dev Size : 32256 (31.51 MiB 33.03 MB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Mon Feb 9 18:55:44 2015
State : clean, degraded, recovering
Active Devices : 4
Working Devices : 6
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 90% complete
Name : localhost:md200 (local to host localhost)
UUID : 80ed5f2d:86e764d5:bd6979ed:01c7997e
Events : 122
Number Major Minor RaidDevice State
0 7 0 0 active sync /dev/loop0
1 7 1 1 active sync /dev/loop1
2 7 2 2 active sync /dev/loop2
3 7 3 3 active sync /dev/loop3
7 7 7 4 spare rebuilding /dev/loop7
6 7 6 5 spare rebuilding /dev/loop6
Итак, в конце: пусть mdadm сделает свое дело, а затем проверьте, все ли диски помечены как "активные".