Назад | Перейти на главную страницу

RAID6 мгновенно вышел из строя и переключился на RAID0 - есть ли шанс спасти?

Я запускаю сервер на Ubuntu 16.04. В хранилище данных в этой системе используется lvm поверх программного raid 6, тогда как os устанавливается в отдельном raid 1 с lvm. Рейд 6 состоит из 7 разделов на 7 дисках. После увеличения количества ошибок s.m.a.r.t на одном из этих дисков я решил поменять этот диск на новый, прежде чем массив ухудшится.

Я сделал sudo mdadm /dev/md2 --fail /dev/sdd4, а затем sudo mdadm /dev/md2 --remove /dev/sdd4 до того, как я поменял диски местами. После следующего запуска вроде все было в порядке, поэтому я начал разбивать новый диск. Я сделал sudo parted --list адаптировать разбиение на разделы на других дисках.

В этот момент возникла странная проблема, и parted не смог получить доступ к одному из старых дисков. Я заметил, что из массива ушел еще один диск, а через несколько секунд - еще один. Сбой массива. Я был шокирован и выключил систему, чтобы предотвратить дальнейшие ошибки.

Позже я попытался снова запустить систему, и у меня были такие странные сбои:

ata2: irq_stat 0x00000040, connection status changed
ata2: SError: { CommWake DevExch }

В то время у меня была только аварийная консоль, поэтому я запустил live linux для дальнейшего изучения проблемы. Я читал, что могу безопасно сделать mdadm --assemble --scan чтобы попытаться исправить массив, но он остается в любопытном состоянии, поэтому я только удалил массив из mdadm.conf и fstab.

Теперь рейд отображается как raid0 с 7 запасными дисками, но в оставшемся RAID1 диски, похоже, работают нормально последние часы.

Я не уверен, что мне делать прямо сейчас, и я ожидаю потери всех данных, но я также надеюсь, что есть шанс спасти хотя бы часть данных. У меня есть резервная копия, но только ее часть, потому что это был массив на 19 ТБ.

Состояние перед заменой дисков

chris@uranus:~$ sudo mdadm --detail /dev/md2
/dev/md2:
        Version : 1.2
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 3744766464 (3571.29 GiB 3834.64 GB)
   Raid Devices : 7
  Total Devices : 7
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Fri Jul 13 17:39:04 2018
          State : clean
 Active Devices : 7
Working Devices : 7
 Failed Devices : 0
  Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 512K

       Name : uranus:2  (local to host uranus)
       UUID : 607914eb:666e2a46:b2e43557:02cc2983
     Events : 2738806

Number   Major   Minor   RaidDevice State
   0       8       20        0      active sync   /dev/sdb4
   1       8       36        1      active sync   /dev/sdc4
   2       8       52        2      active sync   /dev/sdd4
   6       8        1        3      active sync   /dev/sda1
   5       8       68        4      active sync   /dev/sde4
   8       8       97        5      active sync   /dev/sdg1
   7       8       81        6      active sync   /dev/sdf1

Актуальное состояние

chris@uranus:/$ sudo mdadm --detail /dev/md2
/dev/md2:
      Version : 1.2
   Raid Level : raid0
Total Devices : 6
  Persistence : Superblock is persistent

        State : inactive

         Name : uranus:2  (local to host uranus)
         UUID : 607914eb:666e2a46:b2e43557:02cc2983
       Events : 2739360

Number   Major   Minor   RaidDevice

   -       8        1        -        /dev/sda1
   -       8       20        -        /dev/sdb4
   -       8       36        -        /dev/sdc4
   -       8       68        -        /dev/sde4
   -       8       81        -        /dev/sdf1
   -       8       97        -        /dev/sdg1

Чтобы прояснить вещи

6 дисков исправны, у 7-го были ошибки, но я переключил его на новый. После переключения одного неисправного диска интеллектуальные данные пригодны для всех дисков. Нет ошибок, плохих блоков, ожидающих, неисправимых или перераспределенных секторов.

Мой последний --detail показывает только 6 дисков, потому что я не добавил новый диск в существующий массив.

Рейд 1, на который опирается операционная система, в основном состоял из 3 + 1 запасных из тех же 7 дисков, но на собственных разделах. Когда я удаляю / dev / sdd, запасной диск занял его место, поэтому теперь он состоит из 3 разделов без запасного. Также есть загрузочные разделы на 3 из этих дисков и разделы подкачки в рейде 1 на 2 из этих дисков.

Проблема в том, что mdadm теперь показывает этот массив как рейд 0 с 7 запасными частями как cat /proc/mdstat показывает, и я должен вернуть его к исходной конфигурации raid6 с 6 из 7 дисков в деградированном состоянии. Кажется, есть проблема с конфигурацией, но я ничего в ней не менял. После и только в том случае, если я смогу восстановить массив, я бы добавил переключенный 7-й раздел обратно в массив, чтобы получить мой исходный 7-й диск raid6.

Если я правильно прочитал справочную страницу, mdadm --assemble --scan восстанавливает информацию о массиве на основе конфигурации или /proc/mdstat но это уже кажется неправильным.

Еще несколько выходов

cat /proc/mdstat - Сейчас

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : inactive sdg1[8](S) sdf1[7](S) sdb4[0](S) sda1[6](S) sde4[5](S) sdc4[1](S)
      22468633600 blocks super 1.2

md129 : active raid1 sdb3[0] sde3[4] sdc3[1]
      146353024 blocks super 1.2 [3/3] [UUU]

md128 : active raid1 sdb2[0] sde2[4](S) sdc2[1]
      15616896 blocks super 1.2 [2/2] [UU]

unused devices: <none>

cat /etc/mdadm/mdadm.conf - Сейчас

#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# 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/md128 metadata=1.2 UUID=6813258b:250929d6:8a1e9d34:422a9fbd name=uranus:128
   spares=1
ARRAY /dev/md129 metadata=1.2 UUID=ab06d13f:a70de5a6:c83a9383:b1beb84c name=uranus:129
ARRAY /dev/md2 metadata=1.2 UUID=607914eb:666e2a46:b2e43557:02cc2983 name=uranus:2

# This file was auto-generated on Mon, 10 Aug 2015 18:09:47 +0200
# by mkconf $Id$
#ARRAY /dev/md/128 metadata=1.2 UUID=6813258b:250929d6:8a1e9d34:422a9fbd name=uranus:128
#   spares=2
#ARRAY /dev/md/129 metadata=1.2 UUID=ab06d13f:a70de5a6:c83a9383:b1beb84c name=uranus:129
#   spares=1
#ARRAY /dev/md/2 metadata=1.2 UUID=607914eb:666e2a46:b2e43557:02cc2983 name=uranus:2

cat /etc/fstab - Сейчас

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vgSystem-vRoot /               ext4    errors=remount-ro 0       1
# swap was on /dev/md128 during installation
UUID=5a5b997d-9e94-4391-955f-a2b9a3f63820 none            swap    sw              0       0
#/dev/vgData/vData      /srv    ext4    defaults        0       0
#10.10.0.15:/srv/BackupsUranusAutomatic/data    /mnt/mars/uranus/automatic/data nfs     clientaddr=10.10.0.10,vers=4,noatime,addr=10.10.0.15,noauto     0       0
#10.10.0.15:/srv/BackupsUranusAutomatic/media   /mnt/mars/uranus/automatic/media        nfs     clientaddr=10.10.0.10,vers=4,noatime,addr=10.10.0.15,noauto     0       0
#/srv/shares/Videos/Ungesichert/Videorecorder   /srv/vdr/video  bind    bind    0       0
#/dev/sdh1      /mnt/usbdisk    ntfs    noatime,noauto  0       0

Диски и разделы - до возникновения проблемы

Medium /dev/sda: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 98C35BD3-BFBC-4A4B-AEC9-6D4AFB775AF4

Gerät           Start       Ende   Sektoren Größe Typ
/dev/sda1        2048 7489808383 7489806336   3,5T Linux RAID
/dev/sda2  7489808384 7791525887  301717504 143,9G Linux RAID


Medium /dev/sdb: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 49102EF7-9FA2-4990-8C30-6C5B463B917E

Gerät          Start       Ende   Sektoren Größe Typ
/dev/sdb1       2048      20479      18432     9M BIOS boot
/dev/sdb2      20480   31270911   31250432  14,9G Linux RAID
/dev/sdb3   31270912  324239359  292968448 139,7G Linux RAID
/dev/sdb4  324239360 7814035455 7489796096   3,5T Linux RAID



Medium /dev/sdc: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 6A037D00-F252-4CA0-8D68-430734BCA765

Gerät          Start       Ende   Sektoren Größe Typ
/dev/sdc1       2048      20479      18432     9M BIOS boot
/dev/sdc2      20480   31270911   31250432  14,9G Linux RAID
/dev/sdc3   31270912  324239359  292968448 139,7G Linux RAID
/dev/sdc4  324239360 7814035455 7489796096   3,5T Linux RAID


Medium /dev/sdd: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: EADC29D6-C2E9-4AC8-B1B2-F01A5233467C

Gerät          Start       Ende   Sektoren Größe Typ
/dev/sdd1       2048      20479      18432     9M BIOS boot
/dev/sdd2      20480   31270911   31250432  14,9G Linux RAID
/dev/sdd3   31270912  324239359  292968448 139,7G Linux RAID
/dev/sdd4  324239360 7814035455 7489796096   3,5T Linux RAID


Medium /dev/sde: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 3D7EBBFD-C00D-4503-8BF1-A71534F643E1

Gerät          Start       Ende   Sektoren Größe Typ
/dev/sde1       2048      20479      18432     9M Linux filesystem
/dev/sde2      20480   31270911   31250432  14,9G Linux filesystem
/dev/sde3   31270912  324239359  292968448 139,7G Linux filesystem
/dev/sde4  324239360 7814035455 7489796096   3,5T Linux filesystem


Medium /dev/sdf: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: FCA42FC2-C5E9-45B6-9C18-F103C552993D

Gerät           Start       Ende   Sektoren Größe Typ
/dev/sdf1        2048 7489824767 7489822720   3,5T Linux RAID
/dev/sdf2  7489824768 7791525887  301701120 143,9G Linux RAID


Medium /dev/sdg: 3,7 TiB, 4000787030016 Bytes, 7814037168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 8FF8C4CC-6788-47D7-8264-8FA6EF912555

Gerät           Start       Ende   Sektoren Größe Typ
/dev/sdg1        2048 7489824767 7489822720   3,5T Linux RAID
/dev/sdg2  7489824768 7791525887  301701120 143,9G Linux RAID


Medium /dev/md2: 17,4 TiB, 19173204295680 Bytes, 37447664640 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 524288 Bytes / 2621440 Bytes


Medium /dev/md128: 14,9 GiB, 15991701504 Bytes, 31233792 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes


Medium /dev/md129: 139,6 GiB, 149865496576 Bytes, 292706048 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes


Medium /dev/mapper/vgSystem-vRoot: 74,5 GiB, 79997960192 Bytes, 156246016 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes


Medium /dev/mapper/vgData-vData: 17,4 TiB, 19173199577088 Bytes, 37447655424 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 524288 Bytes / 2621440 Bytes


Medium /dev/mapper/vgSystem-testBtrfs: 5 GiB, 5368709120 Bytes, 10485760 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes

Диски, разделы, рейдовые устройства и тома - до возникновения проблемы

NAME                     UUID                                   FSTYPE            MOUNTPOINT LABEL        SIZE
sda                                                                                                       3,7T
├─sda1                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
│ └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
│   └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
└─sda2                                                                                                  143,9G
sdb                                                                                                       3,7T
├─sdb1                                                                                                      9M
├─sdb2                   6813258b-2509-29d6-8a1e-9d34422a9fbd   linux_raid_member            uranus:128  14,9G
│ └─md128                5a5b997d-9e94-4391-955f-a2b9a3f63820   swap              [SWAP]                 14,9G
├─sdb3                   ab06d13f-a70d-e5a6-c83a-9383b1beb84c   linux_raid_member            uranus:129 139,7G
│ └─md129                7QXSVM-dauj-RUQ1-uoQp-IamT-TTZo-slzArT LVM2_member                             139,6G
│   ├─vgSystem-vRoot     fb4bfbb3-de6c-47ef-b237-27af04fa2f4c   ext4              /          root        74,5G
│   └─vgSystem-testBtrfs 27bbab4c-3c9f-4743-83ac-61e8b41f2bd3   btrfs                                       5G
└─sdb4                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
  └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
    └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
sdc                                                                                                       3,7T
├─sdc1                                                                                                      9M
├─sdc2                   6813258b-2509-29d6-8a1e-9d34422a9fbd   linux_raid_member            uranus:128  14,9G
│ └─md128                5a5b997d-9e94-4391-955f-a2b9a3f63820   swap              [SWAP]                 14,9G
├─sdc3                   ab06d13f-a70d-e5a6-c83a-9383b1beb84c   linux_raid_member            uranus:129 139,7G
│ └─md129                7QXSVM-dauj-RUQ1-uoQp-IamT-TTZo-slzArT LVM2_member                             139,6G
│   ├─vgSystem-vRoot     fb4bfbb3-de6c-47ef-b237-27af04fa2f4c   ext4              /          root        74,5G
│   └─vgSystem-testBtrfs 27bbab4c-3c9f-4743-83ac-61e8b41f2bd3   btrfs                                       5G
└─sdc4                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
  └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
    └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
sdd                                                                                                       3,7T
├─sdd1                                                                                                      9M
├─sdd2                   6813258b-2509-29d6-8a1e-9d34422a9fbd   linux_raid_member            uranus:128  14,9G
│ └─md128                5a5b997d-9e94-4391-955f-a2b9a3f63820   swap              [SWAP]                 14,9G
├─sdd3                   ab06d13f-a70d-e5a6-c83a-9383b1beb84c   linux_raid_member            uranus:129 139,7G
│ └─md129                7QXSVM-dauj-RUQ1-uoQp-IamT-TTZo-slzArT LVM2_member                             139,6G
│   ├─vgSystem-vRoot     fb4bfbb3-de6c-47ef-b237-27af04fa2f4c   ext4              /          root        74,5G
│   └─vgSystem-testBtrfs 27bbab4c-3c9f-4743-83ac-61e8b41f2bd3   btrfs                                       5G
└─sdd4                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
  └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
    └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
sde                                                                                                       3,7T
├─sde1                                                                                                      9M
├─sde2                   6813258b-2509-29d6-8a1e-9d34422a9fbd   linux_raid_member            uranus:128  14,9G
│ └─md128                5a5b997d-9e94-4391-955f-a2b9a3f63820   swap              [SWAP]                 14,9G
├─sde3                   ab06d13f-a70d-e5a6-c83a-9383b1beb84c   linux_raid_member            uranus:129 139,7G
│ └─md129                7QXSVM-dauj-RUQ1-uoQp-IamT-TTZo-slzArT LVM2_member                             139,6G
│   ├─vgSystem-vRoot     fb4bfbb3-de6c-47ef-b237-27af04fa2f4c   ext4              /          root        74,5G
│   └─vgSystem-testBtrfs 27bbab4c-3c9f-4743-83ac-61e8b41f2bd3   btrfs                                       5G
└─sde4                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
  └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
    └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
sdf                                                                                                       3,7T
├─sdf1                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
│ └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
│   └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
└─sdf2                                                                                                  143,9G
sdg                                                                                                       3,7T
├─sdg1                   607914eb-666e-2a46-b2e4-355702cc2983   linux_raid_member            uranus:2     3,5T
│ └─md2                  OTNyDe-fNAP-aLzy-Uwat-yYVH-E11D-d1LyzH LVM2_member                              17,4T
│   └─vgData-vData       a9b3d18d-e45f-4d0f-ab3d-9fe8bfa42157   ext4              /srv       data        17,4T
└─sdg2 

Суперблоки устройств массива

mdadm --examine /dev/sd<array-member-harddrives> - Сейчас

Накопителей всего 6, потому что седьмой «новый» накопитель еще не добавлен в массив.

chris@uranus:/$ sudo mdadm --examine /dev/sda1
[sudo] Passwort für chris:
/dev/sda1:   
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489544192 (3571.29 GiB 3834.65 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=11264 sectors
          State : active
    Device UUID : 49c6404e:ee9509ba:c980942a:1db9cf3c

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:34:48 2018
       Checksum : aae603a7 - correct
         Events : 2739360

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.AAAA ('A' == active, '.' == missing, 'R' == replacing)

chris@uranus:/$ sudo mdadm --examine /dev/sdb4
/dev/sdb4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489533952 (3571.29 GiB 3834.64 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 61d97294:3ce7cd84:7bb4d5f1:d301c842

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:42:15 2018
       Checksum : 890fbe3d - correct
         Events : 2739385

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)

chris@uranus:/$ sudo mdadm --examine /dev/sdc4
/dev/sdc4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489533952 (3571.29 GiB 3834.64 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : ee70c4ab:5b65dae7:df3a78f0:e8bdcead

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:42:15 2018
       Checksum : 6d171664 - correct
         Events : 2739385

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)

chris@uranus:/$ sudo mdadm --examine /dev/sde4
/dev/sde4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489533952 (3571.29 GiB 3834.64 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 6ce5311f:084ded8e:ba3d4e06:43e38c67

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:42:15 2018
       Checksum : 572b9ac7 - correct
         Events : 2739385

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)

chris@uranus:/$ sudo mdadm --examine /dev/sdf1
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489560576 (3571.30 GiB 3834.66 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=27648 sectors
          State : clean
    Device UUID : 7c4fbe19:d63eced4:1b40cf79:e759fe4b

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:36:17 2018
       Checksum : ef93d641 - correct
         Events : 2739381

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 6
   Array State : AA..A.A ('A' == active, '.' == missing, 'R' == replacing)

chris@uranus:/$ sudo mdadm --examine /dev/sdg1
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489560576 (3571.30 GiB 3834.66 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=27648 sectors
          State : clean
    Device UUID : 36d9dffc:27699128:e84f87e7:38960357

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jul 13 22:35:47 2018
       Checksum : 9f34d651 - correct
         Events : 2739377

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AA..AAA ('A' == active, '.' == missing, 'R' == replacing)

У вас была одна остановка (та, которую вы заменяли), когда это произошло:

В этот момент возникла странная проблема, и у parted были проблемы с доступом к одному из старых дисков. Я заметил, что из массива ушел еще один диск, а через несколько секунд - еще один. Сбой массива. Я был шокирован и выключил систему, чтобы предотвратить дальнейшие ошибки.

Это составляет 3 диска, если сбои были фатальными.

Вы заявили, что ОС была на RAID 1, я предполагаю, что это были 2 диска, а остальные 7 дисков были на RAID 6.

RAID 6 выдерживает потерю двух дисков в массиве. Если у вас было 3 сбоя в массиве RAID 6 (при условии, что ни один из отказавших дисков не был из RAID 1), и если диски не в хорошем состоянии, то, скорее всего, данные потеряны.

Вы можете проверить состояние каждого диска с помощью:

sudo smartctl -a /dev/sdX

И тогда вы можете узнать, выпали ли 3 диска или это была случайность. Если это была случайность, и ты уверен, что все в порядке, что ваши mdadm.conf и fstab верны, так как ваш массив кажется неактивный, то вы можете попытаться выполнить повторную сборку с помощью (предупреждение: опасно, прочтите отказ от ответственности ниже):

sudo mdadm --stop /dev/md2
sudo mdadm --assemble --scan --force

Примечание: на вашем последнем --detail вывод показывает 6 дисков, а не 7. /dev/sdd отсутствует похоже.

Вы можете вставить свой mdadm.conf, fstab и LVM VG, LV и разделы, чтобы помочь понять конфигурацию.

Отказ от ответственности: Пробовать что-то со сломанным RAID опасно, я рекомендую шаги, основанные на доступной информации, которую вы предоставили, я не могу гарантировать, что это сработает или что это не уничтожит ваши данные. Бегите под свою ответственность и на свой страх и риск.

1. Would you suggest first trying --assemble --force, maybe with an overlay file?

На мой взгляд, это определенно первый вариант, который стоит попробовать. Использование файла наложения зависит от ваших данных и вашей готовности к риску. До сих пор у меня были резервные копии в таких ситуациях, поэтому я не использовал опцию наложения. Если вы хотите быть в безопасности, используйте его. В этой области я хотел бы выделить несколько моментов:

  • Не рассматривайте использование mdadm < 4.0 версии. Сделайте бэкпорт или скомпилируйте версию >= 4.0. В 3.x что в результате потерпело неудачу assemble --force действия, которые хорошо работали с 4.0.

  • При попытке assemble --force использовать --verbose он предоставит вам хороший набор информации, которая может быть полезна для дальнейших шагов и понимания того, что произошло или что не удалось.


2. If i use a --create --assume-clean, is it a better choice to create the last functioning setup with 6 disks or maybe a setup with only 5 drives that have the highest event count? The Is this even possible? My goal is restoring some important data from the array and no permanent solution.

В вашем случае, когда Event-offset такое маленькое, я думаю, нет ничего плохого в воссоздании массива с дисками 6/7. Если вы подозреваете, что HBA (контроллер sata / ide / scsi) может иметь проблему, в конечном итоге следует рассмотреть возможность исключения подозрительных портов. Но это зависит от оборудования и проводки. И да, это возможно, но это зависит от типа рейда. С raid6 вы можете попытаться перестроить только с дисками 5/7, технически для этого не должно быть никаких ограничений. Важно только то, что если вы воссоздаете его с помощью 5/7, определенно больше не будет возможности для отказа диска.

3. I have details about the array before the crash occured. According to this i would come up with a mdadm --create --assume-clean --level=6 --raid-devices=7 --size=3744766464 /dev/sdb4 /dev/sdc4 missing /dev/sda1 /dev/sde4 /dev/sdg1 /dev/sdf1 for 6 drives, respectively mdadm --create --assume-clean --level=6 --raid-devices=7 --size=3744766464 /dev/sdb4 /dev/sdc4 missing missing /dev/sde4 /dev/sdg1 /dev/sdf1 on a 5 drive solution. Would you agree with this?

Я не проверял детали (порядок дисков, размер, недостающие позиции, ...), но команды выглядят хорошо. Тем не менее, как упоминалось в Linux Raid Wiki, отдых следует рассматривать как ПОСЛЕДНИЙ курорт. Когда это необходимо, я всегда стараюсь быть максимально конкретным. Просто помните, что в прошлый раз я просмотрел справочную страницу mdadm и добавил все параметры, в которых я знал данные из имеющейся информации (например, даже размер блока, выравнивание, ...). Есть много значений по умолчанию, которые можно опустить, но если вы уверены в значениях, почему бы не быть конкретным.


В вашей ситуации я бы попробовал следующее:

  • Принести mdadm до версии >=4.0
  • Остановите массив, если он запущен. Проверьте /proc/mdstat и использовать mdadm --stop ....
  • Проверьте диск и HBA (контроллер sata / ide / scsi). Проверьте dmesg и smartctl журналы. Попробуйте прочитать с диска (например, dd if=/dev/hda1 of=/dev/null bs=1M count=2048. Перепроверить dmesg и smartctl журналы. Повторите это, добавьте немного ibs= и skip=. Перепроверить dmesg и smartctl журналы. Если вы видите resets|timeouts|failures на ata|sata|scsi|... HBA останавливает любые процедуры на диске с использованием этого оборудования.
  • Повторите проверку дисков и HBA на всех дисках.
  • Бегать mdadm --assemble --scan --verbose. Скорее всего, это не удастся, но это даст вам хороший обзор того, что обнаруживает mdadm, и подскажет, что произойдет, если вы force который.
  • Изучите приведенный выше вывод, проверьте, совпадает ли то, что вы видите, с информацией, которую вы уже собрали о своих дисках / массивах.
  • Остановите массив, если он запущен или был запущен.
  • Если вас устраивает то, что mdadm будет делать на --assemble --scan --verbose, пробовать --force Это.
  • Если все это не удалось, сделайте полные резервные копии диска (или создайте файлы наложения), а затем вернитесь к дороге ПОСЛЕДНИЙ Resort и воссоздайте весь массив с помощью accept-clean и всей информации, которую вы собрали из своего массива.

Я просто предоставлю несколько идей, как и что анализировать, чтобы получить представление о текущем состоянии:

Первый раздел не очень интересен и должен быть одинаковым для всех членов массива.

          Magic : a92b4efc               
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 607914eb:666e2a46:b2e43557:02cc2983
           Name : uranus:2  (local to host uranus)
  Creation Time : Thu Aug  6 00:45:41 2015
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 7489544192 (3571.29 GiB 3834.65 GB)
     Array Size : 18723832320 (17856.44 GiB 19173.20 GB)
  Used Dev Size : 7489532928 (3571.29 GiB 3834.64 GB)

Все еще не очень интересно, смещения могут отличаться, если диски не одинакового размера. UUID - это UUID жесткого диска, уникальный для каждого диска.

    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=11264 sectors
          State : active
    Device UUID : 49c6404e:ee9509ba:c980942a:1db9cf3c

Internal Bitmap : 8 sectors from superblock

Здесь начинается самое интересное, комментарии начинаются с #:

    Update Time : Fri Jul 13 22:34:48 2018   # last write activity on the drive
       Checksum : aae603a7 - correct   # should be equal on all disks, when the state is clean
         Events : 2739360   # Events on the disk, in bock/chunk units

         Layout : left-symmetric   # could be relevant for rebuilding the array, left-symmetric is default for x86
     Chunk Size : 512K

Следующий раздел интересен для перестроения массива, особенно при формировании команды Device Role является важным.

   Device Role : Active device 3
   Array State : AA.AAAA ('A' == active, '.' == missing, 'R' == replacing)

Состояние массива просто информативно, но не сильно поможет.

Прежде всего мы хотим получить представление о How far have disks run apart during the failure?

Если я правильно помню, есть порог 50 события в коде mdadm при попытке assemble --force. Значит, если у нас есть разница в событиях >50 assemble --force больше работать не будет. Хотя разница в <50 События также не гарантируют, что принудительная сборка будет работать. В таком случае единственная возможность - воссоздать массив с теми же параметрами, что и он, и указать mdadm --create --assume-clean. Когда кто-то находится в «удачной» ситуации, когда все суперблоки доступны и могут быть прочитаны, тогда это должно быть возможно довольно «легко», но с осторожностью.

Счетчик событий выглядит так, как если бы сначала отключился первый диск, затем последний и предпоследний. Разница <50, со временем это может стать довольно простым.

     Events : 2739360
     Events : 2739385
     Events : 2739385
     Events : 2739385
     Events : 2739381
     Events : 2739377

Правильно интерпретируя Array State возможно только при условии, что Events считать & Drive Role.

Device Role : Active device 3
Device Role : Active device 0
Device Role : Active device 1
Device Role : Active device 4
Device Role : Active device 6
Device Role : Active device 5

Array State : AA.AAAA ('A' == active, '.' == missing, 'R' == replacing)
Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)
Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)
Array State : AA..A.. ('A' == active, '.' == missing, 'R' == replacing)
Array State : AA..A.A ('A' == active, '.' == missing, 'R' == replacing)
Array State : AA..AAA ('A' == active, '.' == missing, 'R' == replacing)

mdadm начинает считать в 0. Водить машину 2 сначала не удалось, затем ехать 3, позже ехать 5 и в конце концов на машине 6. Обратите внимание на этот привод 5 все еще перечисляет диск 6 так же активен, как и драйв 3 списки 3, 5 и 6 как активный. Таким образом, скорее всего, диски не обновили суперблок при выходе из строя другого диска.

Увидев Array States, Я полагаю, что автоматический assemble --force не будет хорошо разыгрываться, так как нет согласованности на 5 устройствах на Array State. Массив был raid6 с 7 дисками, поэтому в этом случае нам потребуется 5 дисков, Array State и имеют разницу менее 50 событий, что не так.

Помните, mdadm/raid построен так, чтобы не терять данные. Итак, в коде есть механизмы, предотвращающие mdadm от действий, которые могут нанести вред данным. Автоматическая сборка, даже с параметром --force, вызовет только действия, которые, скорее всего, будут успешными. Если в суперблоках недостаточно / непротиворечивой информации, чтобы mdadm принял решение о сохранении, он потерпит неудачу. Если вы действительно знаете, что делаете, вы можете просто переписать суперблоки с помощью create --assume-clean и вся информация, необходимая для возобновления работы рейда. Но это будет ручная задача, когда вы, как администратор / пользователь, должны указать программе, что именно делать.

Я не собираюсь приводить здесь команду копирования и вставки, потому что считаю важным в такой ситуации знать, что он делает, перед выполнением команды «repair-my-raid». И для углубления знаний важно прочитать все статьи, связанные с RAID Recovery, на Linux RAID Wiki, и мой вывод для этого ответа.

https://raid.wiki.kernel.org/index.php/Linux_Raid#When_Things_Go_Wrogn https://raid.wiki.kernel.org/index.php/RAID_Recovery https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID

mdadm использует superblocks определять, как собирать диски и тд. В таком случае всегда очень полезно и информативно посмотреть на фактические данные суперблока физического диска. перед делать любой действия, которые записывать что-то на диски (например. mdadm --assemble --scan --force, который обновит суперблоки mdadm).

Использовать mdadm --examine /dev/sd<your-array-member-harddrives> чтобы увидеть, что содержит суперблок. Это должно дать вам представление о том, когда что-то вышло из строя, сколько у вас смещения между дисками с точки зрения записи и многое другое.

Получив четкое представление о том, что является текущее состояние физических дисков, вы можете придумать стратегию, чтобы исправить ситуацию.

Но прежде всего я бы также подумал, что материнская плата / sata-controller / scsi-controller / ... имеет физический дефект. Такое количество дисков, выходящих из строя в течение очень короткого периода времени, является необычным (за исключением того, что у одного была прекрасная идея использовать все диски одного производителя и производственную партию для создания системы рейдов), и это может указывать на проблему с контроллером. Восстановление / повторная синхронизация поврежденного рейда на контроллере жесткого диска, который в конечном итоге не работает, приведет только к катастрофе.