Сервер недавно был перевезен из точки А в точку Б - долгий путь, который занял шесть месяцев. Что-то пошло не так из-за того, что перед отправкой ничего не было маркировано. Да, я знаю - это сделали другие, но я расплачиваюсь за это.
Я должен спасти данные и мне нужна помощь!
Раньше система загружалась нормально, но теперь она не загружается (даже не спасение grub - BIOS просто ничего не делает, и я попытался выбрать каждый отдельный член массива).
Итак, я загрузился с Debian 7 ISO на USB-накопитель и начал работать в режиме восстановления. Пока без особого успеха.
Первое, что я заметил, это то, что массив был поврежден и перестроен на запасной. Похоже, это связано с отсутствием одного из исходных элементов массива.
Во-первых, подробности о массиве в его текущем состоянии после того, как я загрузился в режиме восстановления:
# mdadm --detail /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Array Size : 26370335232 (25148.71 GiB 27003.22 GB)
Used Dev Size : 2930037248 (2794.30 GiB 3000.36 GB)
Raid Devices : 11
Total Devices : 11
Persistence : Superblock is persistent
Update Time : Sat Sep 13 01:55:51 2014
State : clean, degraded, recovering
Active Devices : 10
Working Devices : 11
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 45% complete
Name : media:0
UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Events : 2216394
Number Major Minor RaidDevice State
0 8 82 0 active sync /dev/sdf2
1 8 97 1 active sync /dev/sdg1
2 8 129 2 active sync /dev/sdi1
3 8 33 3 active sync /dev/sdc1
4 8 161 4 active sync /dev/sdk1
12 8 192 5 spare rebuilding /dev/sdm
6 8 145 6 active sync /dev/sdj1
7 8 49 7 active sync /dev/sdd1
8 8 65 8 active sync /dev/sde1
10 8 224 9 active sync /dev/sdo
11 8 208 10 active sync /dev/sdn
Теперь попробуем установить grub в / dev / md127.
# grub-install /dev/md127
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
Segmentation fault
Ой, это нехорошо. Что тут с этими «найдены два диска с индексом» и «лишний RAID-член»? Оказалось, что диски были перепутаны, и в систему было установлено несколько дополнительных дисков, потому что было неясно, принадлежали они к RAID или нет.
Что произойдет, если мы попытаемся установить на отдельный диск? Кажется, / dev / sdc - первый член (самый низкий):
# grub-install /dev/sdc
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required for cross-disk install.
Хорошо, теперь я начинаю нервничать. Я также пробовал другие диски, такие как SDM последнего диска:
# grub-install /dev/sdm
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
error: found two disks with the index 9 for RAID md/0.
error: found two disks with the index 9 for RAID md/0.
error: superfluous RAID member (10 found).
error: superfluous RAID member (10 found).
/usr/sbin/grub-setup: error: unable to identify a filesystem in hd12; safety check can't be performed.
Теперь мы получаем еще одну ошибку: невозможно идентифицировать файловую систему. Файловая система BTW - это XFS для этого массива mdadm, и она работает нормально (к счастью).
# mdadm --examine /dev/sd?
/dev/sda:
MBR Magic : aa55
Partition[0] : 15633380 sectors at 13340 (type 0c)
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Name : media:0
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Raid Devices : 10
Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
Array Size : 23440297984 (22354.41 GiB 24002.87 GB)
Used Dev Size : 5860074496 (2794.30 GiB 3000.36 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 8042b1e3:d9e305aa:f53be8b4:b74cc247
Update Time : Mon Nov 18 18:05:25 2013
Checksum : 5762ae4a - correct
Events : 2197822
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 9
Array State : AAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdc:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdd:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sde:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdf:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdg:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdh:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdi:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdj:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdk:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
mdadm: No md superblock detected on /dev/sdl.
/dev/sdm:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x2
Array UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Name : media:0
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Raid Devices : 11
Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
Array Size : 26370335232 (25148.71 GiB 27003.22 GB)
Used Dev Size : 5860074496 (2794.30 GiB 3000.36 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Recovery Offset : 2563782648 sectors
State : clean
Device UUID : c436476d:6e6dbc43:de4e9c83:d697fbf7
Update Time : Sat Sep 13 02:03:42 2014
Checksum : db87180b - correct
Events : 2216444
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 5
Array State : AAAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdn:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Name : media:0
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Raid Devices : 11
Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
Array Size : 26370335232 (25148.71 GiB 27003.22 GB)
Used Dev Size : 5860074496 (2794.30 GiB 3000.36 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 235097a3:7c8a32b8:f1c73a25:9c149239
Update Time : Sat Sep 13 02:03:42 2014
Checksum : d0b20c55 - correct
Events : 2216444
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 10
Array State : AAAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdo:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Name : media:0
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Raid Devices : 11
Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
Array Size : 26370335232 (25148.71 GiB 27003.22 GB)
Used Dev Size : 5860074496 (2794.30 GiB 3000.36 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : f382773b:08814775:542a5a1e:d2515115
Update Time : Sat Sep 13 02:03:42 2014
Checksum : fa85d548 - correct
Events : 2216444
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 9
Array State : AAAAAAAAAAA ('A' == active, '.' == missing)
Перед созданием этого запроса stackoverflow я выполнил указанную выше команду mdadm explore и обнаружил, что disk / dev / sdl и disk / dev / sdo показывают «активное устройство 9». Но disk / dev / sdl не использовался со старым временем обновления. Я сохранил вывод:
/dev/sdl:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Name : media:0
Creation Time : Wed Nov 7 16:06:02 2012
Raid Level : raid6
Raid Devices : 10
Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
Array Size : 23440297984 (22354.41 GiB 24002.87 GB)
Used Dev Size : 5860074496 (2794.30 GiB 3000.36 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 8e3499b6:b3baae34:af56fde9:f5d7bc87
Update Time : Fri Nov 15 15:52:20 2013
Checksum : 29fed1f5 - correct
Events : 2183610
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 9
Array State : AAAAAAAAAA ('A' == active, '.' == missing)
Перед созданием этого запроса я выдал mdadm --zero-superblock / dev / sdl, который был успешным, и этот диск больше не отображается как «активное устройство 9», поэтому теперь в mdadm - только один член «disk 9» - -изучить вывод.
Однако grub-install по-прежнему жалуется на «обнаружено два диска с индексом 9».
Мне действительно нужна помощь, я провел последние 12 часов, пытаясь решить эту проблему безрезультатно. Естественно, для этих данных нет резервной копии, поэтому очень важно спасти массив.
ИЗМЕНИТЬ ДОБАВИТЬ
Я заметил третье «активное устройство 9» и обнуил этот суперблок, что устранило проблему с двумя индексами, затем я очень внимательно изучил и нашел дополнительный диск, который был старым элементом, и обнуил его, что устранило лишний диск.
Теперь grub-install не сообщает об этих ошибках.
Однако теперь он сообщает об ошибке сегментации.
# grub-install --recheck /dev/md0
Segmentation fault
Затем я установил старый диск емкостью 750 ГБ, который никогда не был частью какого-либо массива, и установил его непосредственно на SATA материнской платы, минуя контроллеры LSI 9201. Я использовал parted и удалил все, затем установил раздел bios_grub.
Model: ATA ST3750330AS (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB primary bios_grub
Затем я установил grub на это устройство (sda) и перезагрузился, выбрав устройство в BIOS. И GRUB перешел в режим восстановления с сообщением «такого диска нет».
Я не уверен, что делать дальше, и мне нужна помощь! Я также хочу упомянуть, что после перезагрузки спасательная программа Debian показывает / dev / md / 0, а не / dev / md127.
РЕДАКТИРОВАТЬ 2
Все еще работая над этим, я планирую исправить ошибку сегментации, чтобы сделать все разделы для каждого физического диска идентичными.
Итак, это выглядит примерно так:
mdadm --manage /dev/md0 --fail /dev/disk
mdadm --manage /dev/md0 --remove /dev/disk
dd if=/dev/zero of=/dev/disk
sgdisk -R /dev/dest /dev/source
sgdisk -G /dev/dest
mdadm --manage /dev/md0 --add /dev/disk
Я использую следующую схему раздела:
# parted /dev/sdc print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub bios_grub
2 2097kB 3001GB 3001GB raid raid
Это означает, что по одному диску я удаляю каждый член, выполняю описанную выше процедуру, затем повторно добавляю его и позволяю ему синхронизироваться. Это большой массив RAID 6, каждая синхронизация занимает почти день, поэтому это будет долгий процесс. Но я хочу вернуть все в нормальное и идеальное состояние, и я думаю, что это лучший вариант, чтобы попытаться устранить ошибку сегментации.
Если у кого-то есть совет, дайте мне знать.
РЕДАКТИРОВАТЬ 3
При замене каждого диска я устанавливаю grub, чтобы убедиться, что он работает успешно. Ниже приведены два сообщения об ошибках, которые я получаю на текущих дисках-членах (до замены), поэтому я считаю, что получаю ошибку ошибки сегментации:
# grub-install /dev/sdl
/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required for cross-disk install.
# grub-install /dev/sdn
/usr/sbin/grub-setup: error: unable to identify a filesystem in hd13; safety check can't be performed.
Конечно, это повторяется много раз на всех старых членах в массиве, но это всегда одна из этих двух ошибок. Но после того, как я выполнил перечисленные выше шаги по их удалению, настройке новых разделов и повторному добавлению их в массив, grub установился правильно.
Теперь это просто вопрос времени. Я обновляю эту статью по ходу работы, надеясь, что она поможет другим, и что через несколько дней, когда все диски будут заменены, я смогу сообщить об успехе!
РЕДАКТИРОВАТЬ 4
Эти операции предложил друг. Они не работали, мне все еще нужна помощь!
Мне действительно нужна была помощь от кого угодно / каждого, чтобы помочь мне заставить GRUB работать над этим ящиком.
У кого-нибудь есть другие предложения и исправления?
РЕДАКТИРОВАТЬ 5
Отчет об ошибке Grub:
Вы должны ответить на свой вопрос и отметить его как таковой, поскольку кажется, что вы идете к решению. Несколько предложений:
Некоторое время назад я писал кое-что о настройке mdadm raid10, который позволяет загружаться с каждого диска в рейде, он может дать некоторые полезные указатели:
Как создать загрузочную резервную систему Debian с программным raid10 с 3 или 4 (или более) дисками?