Вопрос или проблема
У меня есть существующий массив RAID 6, в котором один из дисков вышел из строя, но когда я пытаюсь заменить его с помощью mdadm --manage /dev/md1 --add /dev/sde3
, mdadm выдает ошибку, и я получаю следующее сообщение в журнале ядра:
md: sde3 does not have a valid v1.2 superblock, not importing!
Обратите внимание, что я обнулить заменяющий диск и неоднократно обнулял суперблок с помощью mdadm --zero-superblock -e 1.2 --force /dev/sde3
. Возможно, имеет значение, что команда добавления, похоже, записывает новый суперблок на диск, помечая его как резервный, но на самом деле не добавляет его в массив.
Я думаю, что ошибка, которую я допустил, заключается в том, что я удалил вышедший из строя диск с помощью mdadm --manage md1 --remove /dev/sde3
после его выхода из строя и до попытки добавить замену.
Я пробовал различные комбинации обнуления суперблока заменяющего диска и сборки массива с заменяющим диском или без него, но все они завершаются с одной и той же ошибкой.
На данный момент я думаю, что единственный мой вариант – это воссоздать массив с помощью --assume-clean
и отметить вышедший из строя слот как missing
.
Вот информация о массиве:
/dev/md1:
Version : 1.2
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Array Size : 22686329856 (21.13 TiB 23.23 TB)
Used Dev Size : 3781054976 (3.52 TiB 3.87 TB)
Raid Devices : 8
Total Devices : 7
Persistence : Superblock is persistent
Update Time : Mon Sep 30 17:28:13 2024
State : clean, degraded
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : playroom:raid (local to host playroom)
UUID : 34484e2b:99dc0604:10b071d5:c8012127
Events : 176577
Number Major Minor RaidDevice State
13 8 99 0 active sync /dev/sdg3
10 8 115 1 active sync /dev/sdh3
11 8 19 2 active sync /dev/sdb3
- 0 0 3 removed
9 8 83 4 active sync /dev/sdf3
8 8 51 5 active sync /dev/sdd3
15 8 35 6 active sync /dev/sdc3
14 8 3 7 active sync /dev/sda3
/dev/sda3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=655 sectors
State : clean
Device UUID : b3b21814:7f42ad3f:cb7e8d5b:5dfd0d22
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 16 sectors - bad blocks present.
Checksum : ef2d77c6 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 7
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=655 sectors
State : clean
Device UUID : 77d07ff9:e5a670c0:cfb45916:717b98e8
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 16 sectors - bad blocks present.
Checksum : d6aeae07 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=655 sectors
State : clean
Device UUID : 67b4abd6:f1e5b87f:0851dd21:9200e1b6
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 16 sectors - bad blocks present.
Checksum : 4ceee719 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 6
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=655 sectors
State : clean
Device UUID : fe728bca:23485bc8:a5e5ac21:73c1a89a
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 16 sectors - bad blocks present.
Checksum : 6d085d59 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 5
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=261864 sectors, after=655 sectors
State : clean
Device UUID : 16c61ab0:553c3ce5:d9b300b8:54b4fe14
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 264 sectors - bad blocks present.
Checksum : 801fb4f3 - correct
Events : 0
Layout : left-symmetric
Chunk Size : 512K
Device Role : spare
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=261864 sectors, after=655 sectors
State : clean
Device UUID : a8368569:56a9356f:e158fc12:9a75fcf4
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 264 sectors - bad blocks present.
Checksum : fe7faa91 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 4
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=655 sectors
State : clean
Device UUID : 4b25f2f9:65988664:86916d97:f0e3ac2a
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 16 sectors - bad blocks present.
Checksum : 3e5f2e4b - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x8
Array UUID : 34484e2b:99dc0604:10b071d5:c8012127
Name : playroom:raid (local to host playroom)
Creation Time : Sun May 12 20:28:14 2013
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 7562110607 sectors (3.52 TiB 3.87 TB)
Array Size : 22686329856 KiB (21.13 TiB 23.23 TB)
Used Dev Size : 7562109952 sectors (3.52 TiB 3.87 TB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=261864 sectors, after=655 sectors
State : clean
Device UUID : 948d0c31:03c19927:22f18cdd:0d84ffb2
Update Time : Mon Sep 30 17:28:13 2024
Bad Block Log : 512 entries available at offset 264 sectors - bad blocks present.
Checksum : 6fec028 - correct
Events : 176577
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 1
Array State : AAA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
cat /proc/mdstat
выдает:
md1 : active raid6 sdg3[13] sda3[14] sdc3[15] sdd3[8] sdf3[9] sdb3[11] sdh3[10]
22686329856 blocks super 1.2 level 6, 512k chunk, algorithm 2 [8/7] [UUU_UUUU]
unused devices: <none>
Спасибо frostschutz за обнаружение несоответствия с плохими блоками. Дамп mdadm --examine-badblocks
выглядит так:
Bad-blocks on /dev/sda3:
3834808 for 512 сектора
3835320 for 368 сектора
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sdb3:
3834808 for 512 сектора
3835320 for 368 сектора
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sdc3:
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sdd3:
3834808 for 512 сектора
3835320 for 368 сектора
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sde3:
0 for 0 сектора
--- повторяется для 512 строк ---
Bad-blocks on /dev/sdf3:
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sdg3:
1787061064 for 16 сектора
1788696152 for 8 сектора
Bad-blocks on /dev/sdh3:
1787061064 for 16 сектора
1788696152 for 8 сектора
Ответ или решение
Ошибка, с которой вы столкнулись при попытке добавить заменяющий диск в массив RAID 6, связана с тем, что система не может найти действительный суперконтроллер v1.2 на диске /dev/sde3
. Данная ошибка может возникнуть по нескольким причинам, и мы рассмотрим шаги, которые могут помочь при ее устранении.
Шаг 1: Проверьте состояние диска
Убедитесь, что новый диск заменил неисправный правильно, и что он не имеет старых данных, которые могут создавать конфликт. Используйте команду:
sudo mdadm --examine /dev/sde3
Эта команда покажет информацию о суперконтроллере на диске.
Шаг 2: Удалите предшествующие метаданные
Если диск ранее использовался в массиве RAID, метаданные могут мешать добавлению. Вы можете удалить все метаданные с диска следующей командой:
sudo mdadm --zero-superblock /dev/sde3
Имейте в виду, что вы уже пробовали это, но убедитесь, что диск не был добавлен в массив ранее, так как это может создать конфликт.
Шаг 3: Соберите массив без добавления замены
Перед добавлением нового диска попробуйте собрать массив без него, чтобы убедиться, что остальные диски в порядке:
sudo mdadm --assemble /dev/md1 /dev/sdg3 /dev/sda3 /dev/sdc3 /dev/sdd3 /dev/sdf3 /dev/sdb3 /dev/sdh3
Если команда пройдет успешно, ваши активные диски в порядке, и вы получите работу массива в неразмещенном состоянии.
Шаг 4: Добавление заменяющего диска
После успешной сборки массива попробуйте снова добавить заменяющий диск:
sudo mdadm --manage /dev/md1 --add /dev/sde3
Если все прошло хорошо, массив должен начать процесс восстановления.
Шаг 5: Обработка состояния bad blocks
У вас есть записи о "плохих блоках" (bad blocks) на нескольких устройствах в массиве. Это может приводить к дополнительным проблемам при добавлении новых дисков. Вам нужно решить эти проблемы, прежде чем продолжить. Используйте следующую команду для анализа и возможно, повторного форматирования дисков с плохими блоками:
sudo badblocks -v /dev/sdXN # замените sdXN на идентификатор вашего диска
Вы можете также рассмотреть возможность замены дисков с плохими блоками на новые, если они критичны.
Шаг 6: В случае крайних мер
Если ничего не удалось и массив все еще не может быть изменен, возможно, вам нужно будет создать новый массив с помощью параметра --assume-clean
, указав отсутствующий диск как несуществующий. Например:
sudo mdadm --create /dev/md1 --level=6 --raid-devices=8 missing /dev/sdg3 /dev/sda3 /dev/sdc3 /dev/sdd3 /dev/sdf3 /dev/sdb3 /dev/sdh3
Заключение
Помните, что перед выполнением операций по изменению состояния дисков в RAID-array вам следует обязательно создавать резервные копии всех важных данных, чтобы избежать потери информации в случае непредвиденных ошибок. Если у вас остались вопросы или требуется дополнительная помощь, не стесняйтесь обратиться за поддержкой.