mdadm показывает неактивный массив raid0 вместо ухудшенного raid6 после сбоя диска
Я работал с системой Ubuntu 18.04 с 8-дисковым массивом raid 6, который зависал при наличии неисправного диска (я только заметил, что после сбоя был неисправный диск). Массив raid пережил несколько установок Ubuntu, поэтому у меня не первый раз был неисправный диск, и обычно я продолжал работать с массивом, пока не получил заменяющий диск, но на этот раз я не могу запустить его снова (Мой план состоял в том, чтобы сначала запустить его снова и заказывать замену только тогда, когда я уверен, что массив можно восстановить).
Я отключил неисправный диск, и остальные 7 дисков по-прежнему работают, однако mdadm, похоже, считает, что эти 7 дисков являются частью массива raid 0 вместо массива raid 6. Так что на данный момент я не достаточно смел, чтобы попробовать что-нибудь, что может быть разрушительным, по крайней мере, не пытаясь получить какое-то подтверждение того, что есть больше шансов работать, чем уничтожать данные (я делал периодические резервные копии в течение многих лет, но, вероятно, есть некоторые фотографии там, которые еще не были зарезервированы... и да, я знаю, что мне нужна лучшая стратегия резервного копирования, и, как всегда, это будет первое, что я сделаю после того, как эта проблема будет исправлена или окончательно решена),
Когда я бегу mdadm --assemble --scan
Я получаю следующий вывод:
mdadm: /dev/md127 assembled from 7 drives - not enough to start the array while not clean - consider --force.
Я бы попробовал --force
вариант, но вывод mdadm --detail /dev/md127
как следует:
/dev/md127:
Version : 1.2
Raid Level : raid0
Total Devices : 7
Persistence : Superblock is persistent
State : inactive
Working Devices : 7
Name : Ares:RaidStorage (local to host Ares)
UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Events : 1627931
Number Major Minor RaidDevice
- 8 32 - /dev/sdc
- 8 0 - /dev/sda
- 8 112 - /dev/sdh
- 8 80 - /dev/sdf
- 8 48 - /dev/sdd
- 8 16 - /dev/sdb
- 8 96 - /dev/sdg
И с тех пор mdadm --assemble --help
Говорит, что --force
включает в себя изменение суперблоков, я боюсь, что работает --force
перезапишет суперблоки информацией для массива raid 0.
Я позволил mdadm проверить устройства-члены, и они все еще думают, что они являются частью 8-дискового массива raid 6 (что, я надеюсь, означает, что еще есть шанс на восстановление):
root@Ares:/# for i in a b c d f g h; do mdadm --examine /dev/sd$i; done
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : 1e104c8a:529eb411:a7fd472a:5854d356
Update Time : Fri Mar 1 21:50:02 2019
Checksum : 712f8115 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : d3bb43b7:9f39be47:102328fa:2bab3f5e
Update Time : Fri Mar 1 21:50:02 2019
Checksum : ab7d4456 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : 325a0adf:3d917a47:977edea3:db21d42a
Update Time : Fri Mar 1 21:50:02 2019
Checksum : 494b0c89 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 1
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : 6c0200a0:37b50833:683a868b:ebfb9e94
Update Time : Fri Mar 1 21:50:02 2019
Checksum : 47416ea1 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 3
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : b91d04d3:3f1508ad:687bb30f:7d6fc687
Update Time : Fri Mar 1 21:50:02 2019
Checksum : 6b999e8b - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 4
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1960 sectors, after=944 sectors
State : active
Device UUID : 64ba7519:7d47e97c:21c5622a:18df9eca
Update Time : Fri Mar 1 21:50:02 2019
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : df7c2710 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 5
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
Name : Ares:RaidStorage (local to host Ares)
Creation Time : Mon Jun 25 18:19:09 2012
Raid Level : raid6
Raid Devices : 8
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=944 sectors
State : active
Device UUID : 493cfa55:b00800db:40c8fbc4:c94dabbb
Update Time : Fri Mar 1 21:50:02 2019
Checksum : 5b4dbb3 - correct
Events : 1627931
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 6
Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
Для полноты картины, вот также вывод некоторых других команд, которые, вероятно, имеют отношение:
root@Ares:/# mdadm --examine --scan
ARRAY /dev/md/RaidStorage metadata=1.2 UUID=8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1 name=Ares:RaidStorage
root@Ares:/# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
root@Ares:/# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md/RaidStorage metadata=1.2 UUID=8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1 name=Ares:RaidStorage
# This configuration was auto-generated on Mon, 01 Oct 2018 20:35:13 +0200 by mkconf
Чтобы исключить возможность неправильной конфигурации в моей установке Kubuntu, я также попытался mdadm --assemble --scan
с USB-флешки Kubuntu, но это имело тот же эффект, что и запуск с моей обычной установки.
Итак, мои вопросы таковы:
- как это возможно, что все диски считают, что они являются частью моего 8-дискового массива raid 6, но
mdadm --assemble --scan
все еще приводит к неактивному массиву raid 0? - могу ли я безопасно позвонить
mdadm --assemble --scan --force
? - Если нет на 2: как я могу убедить mdadm видеть мои 7 дисков как часть 8-дискового рейда 6?
1 ответ
Это сработало для меня:
- войти в
/etc/mdadm/mdadm.conf
отредактируйте строку для вашего массива и добавьте уровень рейда и номера дисков. Мой был
level=raid6 num-devices=6
очевидно, вам нужно сказать 8 устройств:)
Похоже, моя система сильно перегрелась - две коробки в стесненных условиях и диски сошли с ума. Один диск выпал, который, я думал, облажался, а другой просто исчез, но когда я проверил события, у меня было 5 дисков с одинаковыми, и первый, который выпал, был позади.
После настройки mdadm.conf
, Я перезапустил систему и проверил все диски были обнаружены assemble
Команде нужен был --force
вариант (страшно), но работал нормально и начал проверять себя. Затем добавили обратно на первый диск, чтобы он выпал, и, похоже, он только что обновил его, и теперь все чисто.