LINUX.ORG.RU
ФорумAdmin

Fedora 33, mdadm resync после каждого ресета, и блокировка загрузки до завершения...

 , ,


0

2

Появилась такая проблема, есть древний сервер с RAID bus controller: Intel Corporation 631xESB/632xESB SATA RAID Controller выполняющий функцию DNS-а + Прокси на базе Squid-а. дисковая система целиком на raid5 собранная из 4 дисков, который конфигурировался из BIOS-а.

root@proxy dev]# mdadm -D /dev/md126
/dev/md126:
         Container : /dev/md/imsm0, member 0
        Raid Level : raid5
        Array Size : 735344640 (701.28 GiB 752.99 GB)
     Used Dev Size : 245114880 (233.76 GiB 251.00 GB)
      Raid Devices : 4
     Total Devices : 4

             State : active 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-asymmetric
        Chunk Size : 128K

Consistency Policy : resync


              UUID : c7f4f4ac:4bfbca4b:24118073:b6c0c56d
    Number   Major   Minor   RaidDevice State
       3       8        0        0      active sync   /dev/sda
       2       8       16        1      active sync   /dev/sdb
       1       8       32        2      active sync   /dev/sdc
       0       8       48        3      active sync   /dev/sdd
Для вас есть почта в /var/spool/mail/root
[root@proxy dev]# mdadm -D /dev/md127
/dev/md127:
           Version : imsm
        Raid Level : container
     Total Devices : 4

   Working Devices : 4


              UUID : 54b371cd:6d94cd4f:6ad839f1:b12ab136
     Member Arrays : /dev/md/Volume0

    Number   Major   Minor   RaidDevice

       -       8       32        -        /dev/sdc
       -       8        0        -        /dev/sda
       -       8       48        -        /dev/sdd
       -       8       16        -        /dev/sdb

Изначально там крутилась Федора версии наверное с 20, и штатно апдейтилась на новые версии по мере их выхода... Сейчас стоит крайняя 33

Проблема заключается в том, что с какой-то версии Федоры, 31,32 или 33 появилась такая проблема, как зависание загрузки ОС при нештатном выключении этого сервера, повторная загрузка сервера просто останавливается с последующим повисанием, до того момента пока не будет синхронизирован raid массив, выглядит это так:

[  OK  ] Finished Cleanup udev Database.
[  OK  ] Reached target Switch Root.
[  OK  ] Finished Plymuth switch root service.
         Starting Switch root.
[!!!!!!] Failed to start up manager.

Всё срабатывает только резет.

Сейчас загружаюсь из меню в rescue mode (который остался от 30 версии fedora), в отсутствии загрузки системы дожидаюсь пока не завершится синхронизация RAID-а (а это чуть более часа), и после этого система уже грузится нормально. Раньше когда в меню grub-а сохранялся пункт от какой-то предыдущей версии fedora-ы (<30) с предыдущей версии ядра, то можно было выбрать его и система норм загружалась и уж в фоне делала свою синхронизацию, учитывая задачи решаемые этим сервером, нагрузка от синхронизации не оказывала какого-либо ощутимого влияния.

После какого-то обновления на крайнюю версию, этот пункт из меню убрался и заменился уже свежим («устаревшие» ядра но в рамках 33 версии), остается только вариант через пункт «восстановления»

Собственно вопрос, что такое поменялось в 30+ версиях, что стал происходить затык на загрузке? Конфигурация другого ПО не менялась на нем уже, наверное десяток лет.

Да, есть такое, F33 (kernel 5.8) после некорректной перезагрузки начинает, то cheking, то resilvering зеркала. В F31 (kernel 5.6) такого нет. Стоят в дуалбуте. Причём даже если сбой в F31, и перегружаюсь в F33, чтобы сделать fsck для F31, в F33 может автоматом начаться обслуживание. Раздражает. Особенно потому, что зеркало по дефолту монтирую в RO.

Кстати, ещё можно сделать так. Добавить в initramfs нужные тулзы через конфиг dracut. Например, можно добавить sfdisk, если raid собран из партиций. Тогда в случае замены диска, добавляем в момент загрузки в GRUB2 опцию ядра rd.break=pre-auto , грузимся в оболочку до монтирования корня причём уже с актуальным ядром ОС, восстанавливаем с помощью sfdisk таблицу партиций на новом диске, ремонтируем корень, продолжаем нормальную загрузку/перезагрузку. Метода работает, даже если использовать / на btrfs с федоркой. Это воркэраунд systemd багофичи. Т.е. initramfs здесь до некоторой степени заменят Live-DVD как бы.

Кстати, F33 повторно чекать после нормальной перезагрузки не начинает, если перегрузиться не дожидаясь её окончания.

anonymous ()