O Systemd está desenvolvendo a capacidade de baixar imagens do sistema via HTTP

Lennart Poettering propôs incluir uma alteração no gerenciador de sistema systemd que permitiria que o sistema inicializasse usando uma imagem do sistema de arquivos raiz recuperada de um host externo via HTTP. A mudança se resume a expandir o systemd com a capacidade não apenas de baixar uma imagem de disco via HTTP no estágio de inicialização, mas também descompactar a imagem baixada, vinculá-la a um dispositivo de bloco no modo loopback, montar o dispositivo de bloco como /sysroot e inicializar o sistema a partir dele.

O suporte para baixar imagens de disco durante a inicialização do sistema usando systemd-import-generator já está incluído no systemd 257. O restante da funcionalidade ainda está no estágio de um protótipo funcional, exigindo mais desenvolvimento. A implementação ainda não oferece suporte a um ciclo de inicialização completo, mas, no futuro, a funcionalidade está planejada para ser estendida para inicialização via UEFI HTTP Boot de imagens universais do kernel UKI (Unified Kernel Image), que combinam em um arquivo um bootloader para UEFI (UEFI boot stub), uma imagem do kernel Linux e um ambiente de sistema initrd carregado na memória.

O URL para carregar a imagem do sistema está planejado para ser calculado com base no URL especificado para a imagem EFI nas configurações do UEFI HTTP Boot (por exemplo, ao carregar via EFI HTTP Boot "http://example.com/somedir/myimage.efi", o manipulador initrd do UKI carregará a imagem rootfs como "http://example.com/somedir/myimage.raw.xz"). No futuro, além do HTTP como transporte para obtenção de imagem, está previsto adicionar suporte à tecnologia NVMe-over-TCP, que permite acesso a unidades NVMe pela rede (NVM Express over Fabrics) usando o protocolo TCP.

Espera-se que a inicialização a partir de imagens obtidas de um host externo simplifique a organização dos testes de sistemas operacionais imutáveis ​​modernos em hardware real. O desenvolvedor pode criar uma imagem com o ambiente do sistema em seu computador usando o utilitário mkosi e disponibilizá-la via HTTP usando o comando "mkosi -f serve". No computador onde você deseja testar o sistema, basta habilitar o boot HTTP no EFI e adicionar a URL da imagem inicializável com o comando: kernel-bootcfg —add-uri=http://192.168.47.11:8081/image.efi —title=testloop —boot-order=0

Depois disso, você pode simplesmente reiniciar o computador e ele carregará a imagem padrão do kernel UKI, que então carregará a imagem de disco preparada pelo desenvolvedor com o sistema de arquivos raiz. Até que a inicialização HTTP seja desabilitada no EFI, cada reinicialização subsequente do computador resultará na inicialização de uma nova imagem do sistema. Este tipo de teste não afeta os discos locais de forma alguma.

Fonte: opennet.ru

Adicionar um comentário