Массив MD raid5, похоже, внезапно перестал работать. Симптомы немного похожи наЭта проблемав том, что я получаю ошибки, говорящие о недостаточном количестве устройств для запуска массива, однако в моем случае счетчики событий на всех трех дисках равны. Это массив raid 5, который должен иметь 2 активных диска и один четный, однако mdadm --examine на каждом диске показывает, что два из них имеют роль, указанную как запасной, и только один как активный диск.
я пробовалmdadm --стоп /dev/md1с последующимmdadm --assemble /dev/md1(включая попытки с флагами --force и --run).
Данные SMART не указывают на какие-либо проблемы с дисками (а текущие счетчики ожидающих и переназначенных секторов равны нулю), я попробовалруководство raid.wiki.kernel.orgссылка ниже от frostschutz с описанием шагов, включающих настройку сопоставленных наложенных устройств.
Затем я предположил бы, что выполнение следующей команды создаст raid-массив, который я затем мог бы попытаться смонтировать в режиме только для чтения и посмотреть, приведет ли это к читаемой файловой системе или просто к искаженному беспорядку (т. е. чтобы определить, была ли моя догадка о том, что sdf1 является диском четности, или мне следует повторить попытку с sde1) - но вместо этого выдается ошибка, показанная ниже (также пробовал с соответствующими петлевыми устройствами согласноlosetup --list, с тем же результатом).
mdadm --create /dev/md2 --assume-clean --level=5 --chunk=64K --metadata=1.2 --data-offset=261888s --raid-devices=3 отсутствует /dev/mapper/sdh1 /dev/mapper/sdf1
mdadm: super1.x cannot open /dev/mapper/sdh1: Device or resource busy
mdadm: /dev/mapper/sdh1 is not suitable for this array.
mdadm: super1.x cannot open /dev/mapper/sdf1: Device or resource busy
mdadm: /dev/mapper/sdf1 is not suitable for this array.
mdadm: create aborted
Также, в то время какmdadm --detail /dev/md1ранее давал вывод (далее) ниже, теперь он дает:
/dev/md1:
Version : 1.2
Raid Level : raid0
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : bob:1 (local to host bob)
UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Events : 373364
Number Major Minor RaidDevice
- 253 11 - /dev/dm-11
- 253 10 - /dev/dm-10
- 253 9 - /dev/dm-9
Еще я заметилстатус dmsetupпредоставляет одну и ту же информацию для всех трех наложений и имеет число, которое выглядит подозрительно, как будто оно относится к размеру исходного RAID-массива (16 ТБ), а не к отдельному диску (8 ТБ) — не уверены, так ли это должно быть?
sde1: 0 15627528888 snapshot 16/16777216000 16
sdh1: 0 15627528888 snapshot 16/16777216000 16
sdf1: 0 15627528888 snapshot 16/16777216000 16
Не уверен, как двигаться дальше, вплоть до попытки создать устройство, смонтировать и проверить файловую систему, чтобы подтвердить, угадал ли я правильное устройство четности или нет, используя оверлей, чтобы предотвратить запись чего-либо на реальные диски.
ОБНОВЛЯТЬ: Согласно предложению frostschutz ниже, массив каким-то образом находился в состоянии, когда --stop необходимо было выдать до того, как можно было что-либо сделать с базовыми дисками. Ранее я исключил такую возможность, так каккот /proc/mdstatотображал массив как неактивный, что, как я предполагал, означало, что он не мог быть причиной блокировки дисков, но на самом деле это было не так (я также ранее запускал --stop, но, похоже, что-то было сделано после этого, что вызвало возврат в не остановленное состояние). После получения правильного порядка дисков (не с первой попытки, рад, что использовал оверлеи) массив прошел проверку fsck без сообщений об ошибках итеперь работает как ни в чем не бывало.
Результат выполнения других диагностических команд:
кот /proc/mdstat:
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdh1[1](S) sde1[3](S) sdf1[0](S)
23440900500 blocks super 1.2
mdadm --detail /dev/md1:
/dev/md1:
Version : 1.2
Raid Level : raid0
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : bob:1 (local to host bob)
UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Events : 373364
Number Major Minor RaidDevice
- 8 113 - /dev/sdh1
- 8 81 - /dev/sdf1
- 8 65 - /dev/sde1
строки, появляющиеся в dmesg при попыткеmdadm --assemble /dev/md1:
md/raid:md1: device sdh1 operational as raid disk 1
md/raid:md1: not enough operational devices (2/3 failed)
md/raid:md1: failed to run raid set.
md: pers->run() failed ..
иmdadm --исследоватьс
/dev/sde1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261808 sectors, after=312 sectors
State : clean
Device UUID : e856f539:6a1b5822:b3b8bfb7:4d0f4741
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 40 sectors
Checksum : 9b5703bc - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : spare
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261800 sectors, after=312 sectors
State : clean
Device UUID : 7919e56f:2e08430e:95a4c4a6:1e64606a
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : d54ff3e1 - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : spare
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261800 sectors, after=312 sectors
State : clean
Device UUID : 0c9a8237:7e79a439:d4e35b31:659f3c86
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 6ec2604b - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 1
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)
решение1
Выглядит странно. Возможно, вам придетсяmdadm --create с наложениямидля этого (с правильным смещением данных, размером фрагмента и порядком дисков). И, возможно, с отсутствием первого диска, поскольку он, похоже, вышел из строя первым...
По сути, нет способа восстановить обычными средствами, если диск больше не помнит свою роль устройства. Оба говорят, что они «запасные», поэтому неизвестно, была ли у диска роль 0, или роль 2, или вообще ничего (некоторые конфигурации raid5 на самом деле используют запасные по какой-то причине). Поэтому неясно: есть ли на них вообще полезные данные, и если да, то в каком порядке они будут. Вы должны определить сами.
Пока вы этим заняты, проверьте данные SMART и используйте их ddrescue
в первую очередь, если на каком-либо из этих дисков действительно есть перераспределенные или ожидающие секторы, которые могли способствовать сбою RAID.