Как восстановить RAID5 после ошибочного выхода из строя одного из дисков?

Как восстановить RAID5 после ошибочного выхода из строя одного из дисков?

У меня RAID5 на Xubuntu 20.04, созданный с помощью mdadm. Я по ошибке вывел из строя один из трех дисков. Массив все еще работает, но я получаю ошибки или ответы, которые я не понимаю, при попытках восстановить полную работоспособность.

СО: Интересно, удалось ли мне это исправить, и если нет, что я могу сделать сейчас...

Я подозреваю, что диск все еще неисправен из-за «(F)» в содержимом /proc/mdstat:

root@camelot-b:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md3 : active raid5 sdf1[0](F) sdg1[3] sde1[4]
      7813771264 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
      bitmap: 0/30 pages [0KB], 65536KB chunk

unused devices: <none>
root@camelot-b:~# 

Однако вывод --examine не указывает на наличие проблемы, и фактически последняя строка показывает состояние массива, в котором все три диска активны:

root@camelot-b:~# mdadm --examine /dev/sdf1
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07c3d55f:2c9b1534:6b0d5b78:dd9856ed
           Name : camelot-x:3
  Creation Time : Sun Apr  2 19:07:19 2017
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 7813771264 (3725.90 GiB 4000.65 GB)
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : 24275237:b493169e:9e88df0d:ebaae551

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Feb 18 17:15:50 2022
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : c9840d0f - correct
         Events : 26597

         Layout : left-symmetric
     Chunk Size : 512K

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

решение1

Если с момента отказа диска данные в массиве были изменены незначительно или вообще не изменились, вы можете использовать --re-add. Вы можете проверить количество событий на каждом диске:

mdadm --examine /dev/sd[e-g]1 | egrep 'Event|/dev/sd'

Если количество событий не слишком сильно отстает (и у вас включена поддержка bitmap), вы можете добавить их повторно:

mdadm /dev/md3 --re-add /dev/sdf1

Если это не поможет, вам придется снова добавить диск (это может привести к полной перестройке).

mdadm /dev/md3 -a /dev/sdf1

Согласно документации, mdadm сначала попытается повторно добавить при выполнении команды add (-a, --add). Запуск повторного добавления полезен, если вы хотите попробовать добавить диск без повторной синхронизации и не хотите, чтобы он сразу же перешел к повторной синхронизации, если повторное добавление не сработает.

решение2

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

**Помните, RAID5 имеет восстановление после отказа одного диска. То есть, он восстановит массив из оставшихся дисков... если только другой диск не будет проблемным в процессе восстановления.

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

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

Связанный контент