Как активировать резервное устройство в деградированном mdadm RAID5.

Вопрос или проблема

Немного истории для начала. У меня был RAID5 из 4 дисков, и один из дисков вышел из строя. Я удалил его из массива, и некоторое время он находился в деградированном состоянии:

mdadm --manage /dev/md127 --fail /dev/sde1 --remove /dev/sde1

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

mdadm --grow /dev/md127 --array-size 35156183040 # уменьшает размер массива
mdadm --grow --raid-devices=3 /dev/md127 --backup-file /store/4TB_WD/md127.backup # преобразует массив, удаляя 1 диск.

Теперь это завершено:

cat /proc/mdstat
Личности : [raid6] [raid5] [raid4]
md127 : активный raid5 sdd1[1] sdc1[3](S) sdb1[2]
      35156183040 блоков супер 1.2 уровень 5, 64k кусок, алгоритм 2 [3/2] [_UU]
      битовая карта: 103/131 страницы [412KB], 65536KB кусок

неиспользуемые устройства: <нет>

но это оставило меня с деградированным RAID5 из 3 дисков с 2 активными дисками и одним резервным:

mdadm -D /dev/md127
/dev/md127:
           Версия : 1.2
     Время создания : Пт Сен  9 22:39:53 2022
        Уровень RAID : raid5
        Размер массива : 35156183040 (32.74 TiB 36.00 TB)
     Используемый размер устройства : 17578091520 (16.37 TiB 18.00 TB)
      RAID устройства : 3
     Всего устройств : 3
       Устойчивость : Суперблок является постоянным

     Намеренная битовая карта : Внутренняя

       Время обновления : Пт Янв 20 11:12:10 2023
             Состояние : активный, деградированный
    Активные устройства : 2
   Рабочие устройства : 3
    Неуспешные устройства : 0
     Резервные устройства : 1

            Макет : левосимметричный
        Размер куска : 64K

Политика согласованности : битовая карта

              Имя : oldserver-h.oldserver.lan:127
              UUID : 589dd683:d9945b24:768d9b2b:28441f90
            События : 555962

    Номер   Major   Minor   Устройство RAID Состояние
       -       0        0        0      удалено
       1       8       49        1      активный синхронный   /dev/sdd1
       2       8       17        2      активный синхронный   /dev/sdb1

       3       8       33        -      резервный   /dev/sdc1

Как сделать этот резервный диск активным, чтобы массив мог восстановиться до здорового состояния? cat /sys/block/md127/md/sync_action показывает idle, и эхо repair не дает никакого результата.

Кроме того, где я ошибся в первую очередь?

[правка]
Добавляю вывод команды lsblk по запросу:

lsblk
ИМЯ             MAJ:MIN RM   РАЗМЕР RO ТИП  ТОЧКА_МОНТИРОВАНИЯ
sda                8:0    0   100G  0 диск
├─sda1             8:1    0     1G  0 часть  /boot
└─sda2             8:2    0    99G  0 часть
  ├─clearos-root 253:0    0  91.1G  0 lvm   /
  └─clearos-swap 253:1    0   7.9G  0 lvm   [SWAP]
sdb                8:16   0  16.4T  0 диск
└─sdb1             8:17   0  16.4T  0 часть
  └─md127          9:127  0  32.8T  0 raid5 /store/RAID_A
sdc                8:32   0  16.4T  0 диск
└─sdc1             8:33   0  16.4T  0 часть
  └─md127          9:127  0  32.8T  0 raid5 /store/RAID_A
sdd                8:48   0  16.4T  0 диск
└─sdd1             8:49   0  16.4T  0 часть
  └─md127          9:127  0  32.8T  0 raid5 /store/RAID_A
sde                8:64   0   3.7T  0 диск
└─sde1             8:65   0   3.7T  0 часть  /store/4TB_WD
sdf                8:80   0 931.5G  0 диск
└─sdf1             8:81   0 931.5G  0 часть  /store/1TB1
sdg                8:96   0 931.5G  0 диск
└─sdg1             8:97   0 931.5G  0 часть  /store/1TB2
sr0               11:0    1   1.2G  0 rom

[/правка]

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

Вы можете попробовать удалить и заново добавить резервный диск:

mdadm -f /dev/md127 /dev/sdc1
mdadm -r /dev/md127 /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm -a /dev/md127 /dev/sdc1

Если это не сработает, должны быть сообщения об ошибках в dmesg, объясняющие, что не так.

Вы также можете попробовать сначала увеличить raid1 до 6 устройств, а затем уменьшить его обратно до 5, это вручную активирует резервный диск:

mdadm --grow /dev/md0 -n6

Затем подождите, пока диски синхронизируются, проверьте это, выполнив

cat /proc/mdstat

до тех пор, пока не отобразится UUUUU_ с 5 дисками

Затем вы можете уменьшить назад до 5 устройств:

mdadm --grow /dev/md0 -n5

Ответ или решение

Как активировать резервный диск в деградированном RAID5 с использованием mdadm

При работе с RAID массивами в Linux, важно понимать принцип работы программного обеспечения mdadm, которое используется для управления RAID конфигурациями. Вы уже находитесь в процессе оптимизации вашего RAID5 массива после сбоя одного из дисков. Теперь рассмотрим шаги, которые помогут вам превратить резервный диск в активный, чтобы восстановить массив до здорового состояния.

Текущая ситуация

Вы имеете RAID5 массив, состоящий из трех дисков, где два диска активны, а один диск (sdc1) находится в состоянии резервного:

  • Доступные диски:
    • sdd1 — активный
    • sdb1 — активный
    • sdc1 — резервный

Проверяем состояние массива с помощью:

cat /proc/mdstat

Поскольку состояние массива обозначено как "деградированное", это вызывает необходимость активировать резервный диск.

Шаги для активации резервного диска

  1. Проверка состояния вашего RAID массива
    Начните с анализа состояния вашего устройства RAID.

    mdadm -D /dev/md127

    Убедитесь, что система распознает резервный диск (sdc1).

  2. Удаление и повторное добавление резервного диска
    В некоторых случаях резервный диск может не активироваться автоматически. Чтобы решить эту проблему, можно удалить его из массива и добавить снова:

    mdadm -f /dev/md127 /dev/sdc1
    mdadm -r /dev/md127 /dev/sdc1
    mdadm --zero-superblock /dev/sdc1
    mdadm -a /dev/md127 /dev/sdc1

    Объяснение команд:

    • -f — помечает диск как неисправный.
    • -r — удаляет неисправный диск из массива.
    • --zero-superblock — обнуляет суперблок на диске, который позволяет mdadm обработать его как новый.
    • -a — добавляет диск обратно в массив.
  3. Проверка результатов
    После выполнения этих команд проверьте статус массива:

    cat /proc/mdstat

    Вы должны увидеть, что массив стал активным, и происходит синхронизация.

Диагностика проблем

Если вышеописанные шаги не сработали, обратите внимание на логи системы. Используйте команду:

dmesg | tail

Эта команда покажет последние сообщения системы и может указывать на ошибки, связанные с RAID.

Почему не активировался резервный диск?

Возможные причины:

  1. Ошибки в конфигурации: Если RAID массив не был правильно настроен после удаления диска, это может привести к проблемам с активацией резервного.
  2. Неисправности диска: Иногда резервный диск может иметь физические проблемы или поврежденные блоки, что препятствует его активации.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...