Systemd razvija mogućnost preuzimanja sistemskih slika putem HTTP-a

Lennart Poettering je predložio da se uključi promjena u sistemskom menadžeru systemd koja bi omogućila sistemu da se pokrene koristeći root sliku sistema datoteka preuzetu sa vanjskog hosta putem HTTP-a. Promjena se svodi na proširenje systemd-a sa mogućnošću ne samo preuzimanja slike diska putem HTTP-a u početnoj fazi pokretanja, već i raspakivanja preuzete slike, vezanja je za blok uređaj u loopback modu, montiranja blok uređaja kao /sysroot i pokretanja sistema sa njega.

Podrška za preuzimanje slika diska tokom pokretanja sistema pomoću systemd-import-generatora je već uključena u systemd 257. Ostatak funkcionalnosti je još uvijek u fazi radnog prototipa, što zahtijeva daljnji razvoj. Implementacija još ne podržava potpuni ciklus pokretanja, ali se u budućnosti planira proširiti funkcionalnost na pokretanje putem UEFI HTTP Boot univerzalnih kernel slika UKI (Unified Kernel Image), koje u jednoj datoteci kombinuju bootloader za UEFI (UEFI boot stub), Linux kernel image i initrd sistemsko okruženje učitano u memoriju.

Planirano je da se URL za učitavanje slike sistema izračuna na osnovu URL-a specificiranog za EFI sliku u postavkama UEFI HTTP pokretanja (na primjer, kada se učitava putem EFI HTTP pokretanja "http://example.com/somedir/myimage.efi", UKI initrd rukovalac će učitati rootfs sliku kao "http://example.com/somedir/myimage"). U budućnosti, osim HTTP-a kao transporta za dobijanje slike, planira se dodavanje podrške za NVMe-over-TCP tehnologiju, koja omogućava pristup NVMe drajvovima preko mreže (NVM Express over Fabrics) koristeći TCP protokol.

Očekuje se da će pokretanje sa slika dobijenih sa eksternog hosta pojednostaviti organizaciju testiranja modernih nepromenljivih operativnih sistema na stvarnom hardveru. Programer može kreirati sliku sa sistemskim okruženjem na svom računaru koristeći uslužni program mkosi i učiniti je dostupnom preko HTTP-a koristeći komandu "mkosi -f serve". Na računaru na kojem želite da testirate sistem, potrebno je samo da omogućite HTTP boot u EFI-u i dodate URL slike za pokretanje sa komandom: kernel-bootcfg —add-uri=http://192.168.47.11:8081/image.efi —title=testloop —boot-order=0

Nakon toga, možete jednostavno ponovo pokrenuti računar i on će učitati standardni UKI kernel image, koji će zatim učitati sliku diska koju je pripremio programer sa root FS-om. Sve dok HTTP pokretanje nije onemogućeno u EFI-ju, svako naredno ponovno pokretanje računara će rezultirati pokretanjem nove slike sistema. Ova vrsta testiranja ni na koji način ne utječe na lokalne diskove.

izvor: opennet.ru

Dodajte komentar