Ухудшенный RAID5 и отсутствие суперблока md на одном из оставшихся дисков
Это на самом деле на NAS QNAP TS-509. RAID - это в основном Linux RAID.
NAS был настроен на RAID 5 с 5 дисками (/md0 с /dev/sd[abcde]3). В какой-то момент произошел сбой / dev / sde, и диск был заменен. При перестройке (и не завершении) NAS перезагрузился, и / dev / sdc выпал из массива. Теперь массив не может запуститься, потому что, по сути, выпало 2 диска. Я отключил / dev / sde и надеялся, что / md0 может возобновиться в ухудшенном режиме, но не повезло. Дальнейшие исследования показывают, что /dev/sdc3 не имеет суперблока md. Данные должны быть хорошими, так как массив не смог собрать после удаления / dev / sdc.
Все поиски, которые я сделал, показали, как собрать массив, предполагая, что 1 плохой диск. Но я думаю, что мне просто нужно восстановить суперблок в /dev/sdc3, и это должно привести массив к ухудшенному режиму, который позволит мне делать резервные копии данных, а затем приступить к восстановлению с добавлением / dev / sde.
Любая помощь будет принята с благодарностью.
mdstat не показывает / dev / md0
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md5 : active raid1 sdd2[2](S) sdc2[3](S) sdb2[1] sda2[0]
530048 blocks [2/2] [UU]
md13 : active raid1 sdd4[3] sdc4[2] sdb4[1] sda4[0]
458880 blocks [5/4] [UUUU_]
bitmap: 40/57 pages [160KB], 4KB chunk
md9 : active raid1 sdd1[3] sdc1[2] sdb1[1] sda1[0]
530048 blocks [5/4] [UUUU_]
bitmap: 33/65 pages [132KB], 4KB chunk
mdadm show / dev / md0 все еще там
# mdadm --examine --scan
ARRAY /dev/md9 level=raid1 num-devices=5 UUID=271bf0f7:faf1f2c2:967631a4:3c0fa888
ARRAY /dev/md5 level=raid1 num-devices=2 UUID=0d75de26:0759d153:5524b8ea:86a3ee0d
spares=2
ARRAY /dev/md0 level=raid5 num-devices=5 UUID=ce3e369b:4ff9ddd2:3639798a:e3889841
ARRAY /dev/md13 level=raid1 num-devices=5 UUID=7384c159:ea48a152:a1cdc8f2:c8d79a9c
При удалении / dev / sde, здесь вывод mdadm exam, показывающий, что sdc3 не имеет суперблока md
# mdadm --examine /dev/sda3
/dev/sda3:
Magic : a92b4efc
Version : 00.90.00
UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
Creation Time : Sat Dec 8 15:01:19 2012
Raid Level : raid5
Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
Raid Devices : 5
Total Devices : 4
Preferred Minor : 0
Update Time : Sat Dec 8 15:06:17 2012
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0
Checksum : d9e9ff0e - correct
Events : 0.394
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 3 0 active sync /dev/sda3
0 0 8 3 0 active sync /dev/sda3
1 1 8 19 1 active sync /dev/sdb3
2 2 8 35 2 active sync /dev/sdc3
3 3 8 51 3 active sync /dev/sdd3
4 4 0 0 4 faulty removed
[~] # mdadm --examine /dev/sdb3
/dev/sdb3:
Magic : a92b4efc
Version : 00.90.00
UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
Creation Time : Sat Dec 8 15:01:19 2012
Raid Level : raid5
Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
Raid Devices : 5
Total Devices : 4
Preferred Minor : 0
Update Time : Sat Dec 8 15:06:17 2012
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0
Checksum : d9e9ff20 - correct
Events : 0.394
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 19 1 active sync /dev/sdb3
0 0 8 3 0 active sync /dev/sda3
1 1 8 19 1 active sync /dev/sdb3
2 2 8 35 2 active sync /dev/sdc3
3 3 8 51 3 active sync /dev/sdd3
4 4 0 0 4 faulty removed
[~] # mdadm --examine /dev/sdc3
mdadm: No md superblock detected on /dev/sdc3.
[~] # mdadm --examine /dev/sdd3
/dev/sdd3:
Magic : a92b4efc
Version : 00.90.00
UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
Creation Time : Sat Dec 8 15:01:19 2012
Raid Level : raid5
Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
Raid Devices : 5
Total Devices : 4
Preferred Minor : 0
Update Time : Sat Dec 8 15:06:17 2012
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0
Checksum : d9e9ff44 - correct
Events : 0.394
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 3 8 51 3 active sync /dev/sdd3
0 0 8 3 0 active sync /dev/sda3
1 1 8 19 1 active sync /dev/sdb3
2 2 8 35 2 active sync /dev/sdc3
3 3 8 51 3 active sync /dev/sdd3
4 4 0 0 4 faulty removed
Вывод fdisk показывает, что раздел /dev/sdc3 все еще там.
[~] # fdisk -l
Disk /dev/sdx: 128 MB, 128057344 bytes
8 heads, 32 sectors/track, 977 cylinders
Units = cylinders of 256 * 512 = 131072 bytes
Device Boot Start End Blocks Id System
/dev/sdx1 1 8 1008 83 Linux
/dev/sdx2 9 440 55296 83 Linux
/dev/sdx3 441 872 55296 83 Linux
/dev/sdx4 873 977 13440 5 Extended
/dev/sdx5 873 913 5232 83 Linux
/dev/sdx6 914 977 8176 83 Linux
Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 66 530113+ 83 Linux
/dev/sda2 67 132 530145 82 Linux swap / Solaris
/dev/sda3 133 182338 1463569695 83 Linux
/dev/sda4 182339 182400 498015 83 Linux
Disk /dev/sda4: 469 MB, 469893120 bytes
2 heads, 4 sectors/track, 114720 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/sda4 doesn't contain a valid partition table
Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 66 530113+ 83 Linux
/dev/sdb2 67 132 530145 82 Linux swap / Solaris
/dev/sdb3 133 182338 1463569695 83 Linux
/dev/sdb4 182339 182400 498015 83 Linux
Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 66 530125 83 Linux
/dev/sdc2 67 132 530142 83 Linux
/dev/sdc3 133 182338 1463569693 83 Linux
/dev/sdc4 182339 182400 498012 83 Linux
Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 66 530125 83 Linux
/dev/sdd2 67 132 530142 83 Linux
/dev/sdd3 133 243138 1951945693 83 Linux
/dev/sdd4 243139 243200 498012 83 Linux
Disk /dev/md9: 542 MB, 542769152 bytes
2 heads, 4 sectors/track, 132512 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md9 doesn't contain a valid partition table
Disk /dev/md5: 542 MB, 542769152 bytes
2 heads, 4 sectors/track, 132512 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md5 doesn't contain a valid partition table
1 ответ
Ой!
Все поиски, которые я сделал, показали, как собрать массив, предполагая, что 1 плохой диск.
Это связано с тем, что RAID5 не будет работать с несколькими сбойными дисками. Вы не можете гарантировать восстановление всех данных с двух отсутствующих дисков. Фактически, если оба диска полностью недоступны, восстановление не удастся. Простых данных больше нет.
Две заметки:
- Я полностью записал. Как и на мертвом диске, диск удален из системы. Не только один плохой сектор.
- Обычные разговоры о том, что RAID не является резервной копией. Если происходит сбой RAID, вам просто нужно поддерживать систему до 5 вечера, резервное копирование файлов, измененных с момента последнего резервного копирования (с использованием инкрементного резервного копирования), а затем вы можете попробовать перестроить слишком долго или перестроить RAID и восстановить из резервной копии. Очевидно, что как домашний пользователь вы делаете вещи немного по-другому, но та же проблема сохраняется при повторном построении RAID5 и получении URE.
(Также см. Этот канонический пост Serverfault и этот пост на SU и этот пост на SU)
В вашем случае я вижу эти варианты:
- Отправьте диски в очень дорогую лабораторию восстановления данных. Эти вещи действительно дорогие.
- Откажитесь и восстановите из старой резервной копии.
- Попробуйте смонтировать RAID-массивы при отсутствии двух дисков.
Прежде чем попробовать вариант 3: сделайте резервную копию дисков. Поместите их в другую систему и скопируйте диски с помощью dd или ddrescue. Сохраните эти изображения. Если что-то не получается, вы можете восстановить текущую ситуацию из этих. (читай: хуже не будет).
Затем вы можете попытаться восстановить данные либо с NAS, либо из системы, в которой вы сохранили изображения. Сделайте из них рабочую копию и используйте петлевое устройство. Если у вас достаточно дискового пространства, то это предпочтительный способ, хотя вам потребуется место с удвоенным свободным дисковым пространством всего NAS.
Затем прочтите этот довольно длинный блог по адресу http://blog.al4.co.nz/2011/03/recovering-a-raid5-mdadm-array-with-two-failed-devices/.
Основные шаги в этом: mdadm --create /dev/md1 --level=5 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 missing
Это отметило бы диск 5 как отсутствующий. Я выбрал этот, потому что я понятия не имею, в каком состоянии он находится после частичного восстановления.
Если вам повезет, теперь вы можете смонтировать его как деградированный массив. Скопируйте все данные с него, затем удалите массив и перестройте. Может зависать при копировании данных. В этом случае перезагрузите компьютер, пропустите несколько файлов и продолжайте. Это далеко от совершенства, но если восстановление стоит дорого, и у вас нет резервных копий, то это может быть единственный путь.