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+ версиях, что стал происходить затык на загрузке? Конфигурация другого ПО не менялась на нем уже, наверное десяток лет.


Старое ядро руками подсунуть не пробовали?

mky ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
()
Ответ на: комментарий от mky

Хотя, наверное от версии ядра не зависит, скорее всего проблемы в скриптах initramfs, который создаёт dracut. Так что можете поковырять «rd.shell rd.debug log_buf_len=1M» https://fedoraproject.org/wiki/How_to_debug_Dracut_problems

mky ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
()

Да, есть такое, 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
()
Ответ на: комментарий от anonymous

Пардон, ошибся s/rd.break=pre-auto/rd.break=pre-mount/

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.