LINUX.ORG.RU
ФорумAdmin

Реализация автоматической загрузки системы с резервного раздела при отвале раздела/диска

 ,


0

2

Добрый день! Подскажите пожалуйста. Есть блок на котором крутиться Astra linux 1.6. Блок не имеет подключения монитора, клавы, мыши. У блока есть 4 ssd, 3 из которых работают с системой, а 4-й резервный. Мне надо что бы при невозможности монтирования раздела(например дикс отвалился, или раздел посыпался), например sdb или sda2(корень) КТО-то в системе на этапе загрузки это мог понять и переключить или примонтировать резерв и уже грузится с него. Я копал в сторону initramfs, но не получается с её помощью монтировать резерв, при отвале одного из дисков, как я понимаю из-за того, что на этапе загрузки initramfs еще не доступны разделы. GRUB тоже такие проверки и определения не может сделать. Мне нужно настроить так блок, что бы он без оператора сам там разобрался может или не может грузиться, переходит на резервный раздел. Такой вариант еще можно: например грузить сперва в ОЗУ загрузочную ОС (финикс например), она пробует и проверяет доски, или контрольные суммы, а затем уже принимает решения грузить со стандартных настроек или менять grub, ставить загрузку с резерва и уходить в ребут. Такого не делал еще


Нафига такую хрень городить? Если у тебя есть основной диск и резервный, можно просто RAID1 собрать. Загрузчик, конечно, должен быть на обоих дисках, и они должны идти один за другим в очереди загрузки в BIOS.

Vsevolod-linuxoid ★★★★★
()

дикс отвалился

Применительно к efi bios.

Если может отвалиться загрузочный efi-раздел, то надо создать два efi-раздела (на загрузочном и резервном дисках) и расставить приоритеты загрузки в биосе.

раздел посыпался

grub search --file искать специальный файл, если нет, то файловая система с таким файлом не найдена («посыпалась»), грузим другой вариант.

anonymous
()

Это как раз тот случай, когда надо просто использовать RAID. Хотя если под «посыпался» подразумевается наличие критических ошибок в ФС, то тут надо обеспечить доступ администратора. Например, включить SSH в initramfs.

anonymous
()

в интирамфс доступны все носители что и в основной системе. для этого в интирамфс упиховывают весь набор (при modules=most) модулей ядра для железа носителей. при ошибке загрузки тебя и выкидывают в инитрамфс для принятия решений - поменять скрипты чтобы выкидывало в финикс.
у меня вот прямщас чтото подобное. комп поменял на другой, а опция стояла modules=dep (оптимизатор хреновъ) и необходимого модуля для драйвера сата в материнке просто нет в интирамфс - Gave up waiting for root file system device…

pfg ★★★★★
()

Как насчёт просто положить в initramfs dropbear для ssh, шелл и настройки сети?

Например, как для удалённой разблокировки luks. Первая попавшаяся инструкция, наверняка есть лучше: https://www.arminpech.de/2019/12/23/debian-unlock-luks-root-partition-remotely-by-ssh-using-dropbear/

anonymous
()

Блок не имеет подключения монитора, клавы, мыши.

Это всё можно вывести через последовательный порт (включая grub и kernel/initramfs) на другой ПК.

Я копал в сторону initramfs, но не получается с её помощью монтировать резерв, при отвале одного из дисков,

Если поврежден раздел на котором initramfs, то конечно ничего не выйдет (аналогично и для GRUB).

например грузить сперва в ОЗУ загрузочную ОС (финикс например),

откуда грузить, если раздел поврежден? по сети что-ли?

MirandaUser2
()