LINUX.ORG.RU
ФорумTalks

Для systemd развивается возможность загрузки системных образов по HTTP

 ,


0

3

Леннарт Поттеринг (Lennart Poettering) предложил включить в системный менеджер systemd изменение, позволяющие загружать систему с использованием образа корневой ФС, получаемого c внешнего хоста по протоколу HTTP. Изменение сводится к расширению systemd возможностью не только скачивать дисковый образ по HTTP на начальной стадии загрузки, но и распаковывать загруженный образ, связывать с блочным устройством в loopback-режиме, монтировать блочное устройство как /sysroot и загружать с него систему.

Поддержка скачивания дисковых образов во время загрузки системы при помощи systemd-import-generator уже включена в состав systemd 257. Остальная функциональности пока находится на стадии рабочего прототипа, требующего доработки. В реализации пока не поддерживается полный цикл загрузки, но в дальнейшем функциональность планируют довести до загрузки через UEFI HTTP Boot универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.

URL для загрузки системного образа планируют вычислять на основании URL, заданного для EFI-образа в настройках UEFI HTTP Boot (например, при загрузке через EFI HTTP Boot http://example.com/somedir/myimage.efi, присутствующий в UKI initrd-обработчик загрузит образ rootfs как http://example.com/somedir/myimage.raw.xz). В дальнейшем помимо HTTP в качестве транспорта для получения образа планируется добавить поддержку технологии NVMe-over-TCP, позволяющей обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP.

Предполагается, что загрузка с образов, получаемых с внешнего хоста, упростит организацию тестирования современных неизменяемых («immutable») операционных систем на реальном оборудовании. Разработчик может на своём компьютере сформировать образ с системным окружением утилитой mkosi и сделать его доступным через HTTP командой «mkosi -f serve». На компьютере, на котором требуется протестировать работу системы, достаточно включить в EFI загрузку по HTTP и добавить URL загружаемого образа командой:

kernel-bootcfg --add-uri=http://192.168.47.11:8081/image.efi --title=testloop --boot-order=0

После чего можно просто перезагрузить компьютер и он загрузит типовой образ ядра UKI, который затем загрузит подготовленный разработчиком дисковый образ с корневой ФС. До отключения в EFI загрузки по HTTP каждая последующая перезагрузка компьютера будет приводить к загрузке свежего системного образа. При подобном тестировании никак не затрагиваются локальные диски.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62711.

★★★★★

GNU/Linux постепенно превращается в Systemd/Linux, браво Лёня!

XOXO
()

В systemd не хватает только ядра на Rust :)

robot12 ★★★★★
()

Звучит вкусно, применение найдется.

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

Это для тонких клиентов? Они сейчас вообще есть?

Для всякой вебни и кластеров пойдет.

goingUp ★★★★★
()

NVMe-over-TCP, позволяющей обращаться к NVMe-накопителям по сети

Это что-то типа замены iSCSI?

kas501 ★★★
()

Я так и не понял, а чего нового-то? Вроде загрузка по сети это ни капли не новинка. PXE, TFTP, корень на NFS, всё это было ещё в прошлом веке. Разве нет?

Camel ★★★★★
()

эталонное НЕ НУЖНО

Morin ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)