Ahoj,
během prázdnin jsme pracovali na spoustě zajímavých věcí, které bychom
vám chtěli ukázat.
I když je vpsAdminOS primárně live systém, občas se hodí možnost
nainstalovat systém na disk, např. když ho chcete provozovat na jednom
serveru a nemáte PXE. Instalace probíhá stejně jako byste instalovali
NixOS: naformátujete disky, vygenerujete config, upravíte ho a spustíte
instalační program, viz dokumentace [1]. Jako zavaděč je podporován grub
a snadno lze integrovat i SSH v initrd pro odemykání šifrovaných disků,
stejně jako v NixOS.
Pro aktualizování běžícího nebo nainstalovaného systému jsme připravili
dva nástroje: os-rebuild [2] (ala nixos-rebuild) a nixops [3, 4] (fork,
který přidává podporu pro vpsAdminOS). os-rebuild se dá použít přímo z
nainstalovaného systému, ale dá se tím aktualizovat i jiný stroj přes
SSH. nixops pak řeší správu větší sítě serverů, asi něco jako
terraform+ansible v jednom pro NixOS. S naší verzí nixops je možné
spravovat v jedné síti NixOS i vpsAdminOS stroje.
Pro migraci dat při aktualizaci OS jsme vytvořili nástroj zvaný osup
[5]. vpsAdminOS se při aktualizaci "přeplácne" novou verzí a níc víc se
řešit nemusí, nicméně o konfiguraci a data kontejnerů na ZFS poolech je
nutné se starat. Ne vše se podaří dobře navrhnout hned na začátku a
změny mohou vyžadovat reorganizaci datasetů, adresářů, atd. [6]. osup
umožňuje takové změny provádět automatizovaně, spouští se spolu s
aktualizací systému, ať už přes os-rebuild nebo nixops. Změny provádějí
migrační skripty, kterými se pool buď aktualizuje na vyšší verzi, nebo
se vrátí na verzi starší.
Už jsem se tu zmiňoval o nutnosti předělat správu IP adres ve vpsAdminu,
OS už teď k tomu umí vše potřebné. K síťovým rozhraním VPS se nyní dají
zvlášť přidělovat routované adresy a adresy přiřazené na rozhraní, ala
ip addr/route add. Takže je např. možné routovat síť /64 a na rozhraní
přidělit jen vybrané adresy z dané sítě. Spojovací adresy nadále nebudou
muset být na prvním místě, což komplikovalo nastavení sítě v dockeru a
obecně maškarádu. Integrace do vpsAdminu je rozdělaná, ale je to poměrně
složité a ještě to bude chvíli trvat.
[1] https://vpsadminos.org/os/installation/
[2] https://vpsadminos.org/os/updates/
[3] https://vpsadminos.org/os/deployment/
[4] https://nixos.org/nixops/
[5] https://man.vpsadminos.org/osup/man8/osup.8.html
[6] https://vpsadminos.org/containers/administration/#pools
Jakub