Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
navody:vps:vpsadminos [2018/05/20 14:29] – page id Aithernavody:vps:vpsadminos [2023/01/25 18:03] – openvz eol Aither
Řádek 1: Řádek 1:
 <page>manuals:vps:vpsadminos</page> <page>manuals:vps:vpsadminos</page>
 ====== vpsAdminOS ====== ====== vpsAdminOS ======
-Protož[[informace:openvz|OpenVZ]] už pomalu dosluhuje a nové distribuce jej +vpsAdminOS je námi vyvíjená kontejnerová virtualizační platforma, kterou 
-nepodporujímuseli jsme začít řešit přechod na nějakou novější virtualizační +používáme pro běh našich VPS. Přecházíme na něj z [[informace:openvz|OpenVZ Legacy]], 
-technologii. Linux kernel už sám o sobě kontejnery do jisté míry podporuje, +které už je zastaralé a není podporovanéPokud máte stále VPS na OpenVZ, 
-takže jsme se rozhodli toho využítDále jsme potřebovali nějakou distribuci, +doporučujeme VPS [[#jak_migrovat_vps|přesunout na vpsAdminOS]].
-kterou bychom použili na nodech místo Scientific Linux 6 s OpenVZ kernelem. +
-Volba padla na [[https://nixos.org|NixOS]], který umožňuje deklarativně +
-definovat konfiguraci OS a služeb a pak jej opakovatelně sestavit. A protože +
-máme specifické nároky, stavíme si nad NixOS vlastní distribuci.+
  
-[[https://github.com/vpsfreecz/vpsadminos|vpsAdminOS]] je založen na +==== O vpsAdminOS ==== 
-[[https://nixos.org|NixOS]] a [[https://github.com/cleverca22/not-os/|not-os]]. +vpsAdminOS je odnož linuxové distribuce [[https://nixos.org|NixOS]]. Zaměřuje 
-Je to //live// distribuce sloužící jako hypervizor pro provoz kontejnerů+se na kontejnerovou virtualizaci, hostitelský systém je tedy minimální
-vpsAdminOS je funkčností srovnatelný OpenVZ Legacy. Jako základ pro provoz VPS +vpsAdminOS je propojen s naším administračním rozhraním vpsAdminale umí taky 
-(kontejnerů) slouží LXC, které spravujeme vlastní utilitou ''osctl'' +fungovat i mimo infrastrukturu vpsFree.cz, třeba u vás doma. 
-z vpsAdminOS. vpsAdminOS umožnuje propojení s vpsAdminem, naším administračním + 
-rozhraním, nicmeně je plně použitelný i bez něj měla by to být plnohodnotná +Pokud vás zajímá na čem běžíme jak vpsAdminOS vypadáviz 
-náhrada za OpenVZ Legacypokud jej někde používáte. Podporována je i +https://vpsadminos.org.  Členům však pro migraci VPS stačí informace 
-[[https://vpsadminos.org/migration-paths/openvz-legacy/|migrace kontejnerů]] +v tomto článku.
-z OpenVZ Legacy na vpsAdminOS.+
  
 ===== Migrace VPS z OpenVZ na vpsAdminOS ====== ===== Migrace VPS z OpenVZ na vpsAdminOS ======
Řádek 27: Řádek 22:
   - Vývoj vpsAdminOS do použitelné podoby   - Vývoj vpsAdminOS do použitelné podoby
   - Integrace s vpsAdminem   - Integrace s vpsAdminem
-  - Spuštění testovacího prostředí s vpsAdminOS (:!: zde se nacházíme :!:)+  - Spuštění testovacího prostředí s vpsAdminOS
     - Testování, opravy chyb, doplnění chybějících funkcí, připrava na produkci     - Testování, opravy chyb, doplnění chybějících funkcí, připrava na produkci
-  - Nové produkční nody používají vpsAdminOS, nové VPS lze vytvářet jen na nich +  - Nové produkční nody používají vpsAdminOS 
-  Postupná migrace všech VPS z OpenVZ nodů na vpsAdminOS nody, jeden node po druhém+    vpsAdminOS je dostupný pro nové VPS a provádíme postupnou migraci
   - Pohádky je konec   - Pohádky je konec
 +    - Provoz OpenVZ Legacy ukončen 19.12.2022, všechny VPS přesunuty na vpsAdminOS
 +    - :!: zde se nacházíme :!:
  
 ===== Co to znamená pro členy ====== ===== Co to znamená pro členy ======
Řádek 41: Řádek 38:
 vyhnout. vyhnout.
  
-Projděte si také změny chování [[#zmeny_v_chovani_vps|VPS]] +===== Jak migrovat VPS ===== 
-a [[#zmeny_chovani_vpsadminu|vpsAdminu]].+Napište na podporu, potřebujeme vědět následující:
  
-===== Změny v chování VPS ===== +  * O jakou VPS se jedná 
-==== Nastavení sítě ==== +  * Kdy můžeme migraci provést
-Linux kernel nemá nic jako venet z OpenVZ, takže jsme si museli pomoci jinak. +
-Síťování je řešeno přes dvojici rozhraní veth: jeden na nodu a druhý ve VPS. +
-IP adresy VPS jsou routovány přes spojovací síť, která je každému VPS +
-přidělena.+
  
-Například, přidělená spojovací síť pro IPv4 je ''10.100.10.0/30''. Veth rozhraní +Vždy se chceme domluvit na konkrétní čas provedení migracetak abyste si 
-na nodu bude mít adresu ''10.100.10.1'', veth rozhraní ve VPS pak +mohli systém hned po migraci zkontrolovat. Délka migrace záleží na velikosti disku.
-''10.100.10.2''. Veřejné IP adresy VPS jsou routovány přes ''10.100.10.2'', +
-např. veřejná IPv4 ''1.2.3.4'' by byla routována jako +
-''1.2.3.4/32 via 10.100.10.2''. Výchozí routa pro VPS je pak nastavena jako +
-''default via 10.100.10.1 src 1.2.3.4''. Rozhraní na nodu se konfiguruje +
-automaticky, ve VPS se pak automaticky generují konfigurační souborykteré +
-váš init systém používá k nastavení sítě, takže nic řešit nemusíte. První +
-adresa na síťovém rozhraní ve VPS je však adresa spojovací, nikoli veřejná, +
-jako tomu bylo doposud. Pokud si konfiguraci sítě upravujete, musíte se tomuto +
-nastavení přizpůsobit.+
  
-==== User namespaces ==== +Před migrací VPS si všechno můžete vyzkoušet a ověřit na 
-VPS ve vpsAdminOS využívají //user namespace//, tzn. //root// ve VPS má +[[#testovaci_prostredi|testovacím prostředí]].
-UID 0, ale z pohledu hostitelského systému na nodu je to nějaké jiné číslo, +
-např. 666000. Každý člen má pak přidělen svůj user namespace, což zvyšuje úroveň +
-izolace -- v případě nějaké chyby se útočník ani po úniku z kontejneru na node +
-nedostane k datům jiných členů.+
  
-Každý člen má přidělen user namespace o velikosti 524288 uživatelských ID. +===== Testovací prostředí ====== 
-Tzn. ve VPS můžete využít UID/GID od 0 do 524287. Všechny VPS daného člena jsou +VPS s vpsAdminOS si můžete vyzkoušet buď v prostředí 
-umístěny do tohoto user namespaceV budoucnu přibyde možnost si user namespace +[[navody:vps:playgroundvps|playground]] nebo stagingPravidla jsou podobná, 
-spravovat a nastavovat si vlastní mapování UID/GIDcož umožní izolovat od sebe +rozdíl je pouze v tom, že staging používáme pro vývoj a testování vpsAdminOS 
-i VPS patřící jednomu členovi, případně vybrané UID/GID sdílet.+a je tedy méně stabilníípadě potřeby ho restartujeme a dopředu to nehlásíme.
  
-User namespace podstatně ovlivňují sdílení dat mezi VPS a NASem. Aktuálně +Vytvořit můžete buď nové VPS, nebo si vyzkoušet naklonovat produkční VPS. Při 
-**není možné** připojit NAS do VPS běžící na vpsAdminOS takaby měl VPS +klonování dojde odstranění mountů, místo kterých je nutné použít 
-datům přístup. Řešit se to bude tak, že u každého NAS datasetu budete mít +[[navody:vps:exporty|exporty]].
-na výběrjaké mapování UID/GID má používat. Data pak budou přistupná +
-jen z VPS, které mají nastaveno příslušné mapování.+
  
 +===== Změny v chování VPS =====
 ==== Obecné ==== ==== Obecné ====
 Změny týkající se VPS nezávisle na distribuci: Změny týkající se VPS nezávisle na distribuci:
  
-  * ''/proc/loadavg'' ukazuje loadavg celého nodu, tj. všech procesů ze všech VPS na nodu, nevypovídá to nic o aktuální VPS +  * Funguje nftables i iptables 
-  * Nastavený swap se nezobrazuje v ''/proc/meminfo'' ((mělo by stačit upravit ''proc_meminfo_read()'' z LXCFS: https://github.com/lxc/lxcfs/blob/master/bindings.c#L3174)+  * ''/proc/stat'' u CPU reportuje jen ''user'' (včetně ''system''''idle''
-  * ''dmesg'' je zakázán, neboť není virtualizován+
  
 ==== Debian/Ubuntu/Alpine ==== ==== Debian/Ubuntu/Alpine ====
  
   * Pro nastavení sítě při startu už není potřeba mít nainstalovaný ''ifconfig'' z ''net-tools'', používá se ''ip'' z ''iproute2''.   * Pro nastavení sítě při startu už není potřeba mít nainstalovaný ''ifconfig'' z ''net-tools'', používá se ''ip'' z ''iproute2''.
-  * ''/etc/network/interfaces.{head,tail}'' nejsou vkládány přímo do ''/etc/network/interfaces'', ale načteny přes ''source'', tzn. už neovlivňují podobu ''/etc/network/interfaces'' tak jako s vzctl. 
   * Pokud existuje adresář ''/etc/network/interfaces.d'', jeho obsah je načten před ''/etc/network/interfaces.tail''.   * Pokud existuje adresář ''/etc/network/interfaces.d'', jeho obsah je načten před ''/etc/network/interfaces.tail''.
  
 ===== Změny chování vpsAdminu ===== ===== Změny chování vpsAdminu =====
  
 +  * Pro připojení NASu a snapshotů se ve vpsAdminu [[navody:vps:exporty|nepoužívají mounty, ale NFS exporty]]
 +  * [[navody:vps:ip_adresy|Správa IP adres]] je rozdělena na routy a adresy na rozhraní
   * Reinstalace VPS na vpsAdminOS **nemaže** subdatasety ani nevrací konfiguraci VPS do výchozího stavu, tzn. např. nastavení VPS features zůstavá zachováno.   * Reinstalace VPS na vpsAdminOS **nemaže** subdatasety ani nevrací konfiguraci VPS do výchozího stavu, tzn. např. nastavení VPS features zůstavá zachováno.
-  * VPS features: bridge, iptables a NFS nejsou nastavitelné, jsou vždy povoleny. 
   * V detailech VPS je možné změnit název síťového rozhraní, výchozí název zůstává ''venet0''.   * V detailech VPS je možné změnit název síťového rozhraní, výchozí název zůstává ''venet0''.
- 
-===== Testovací prostředí ====== 
-Aby si všichni členové mohli vyzkoušet, jak se VPS nad vpsAdminOS chová, 
-k dispozicí je testovací prostředí, tzn. takový druhý playground node, na kterém 
-si každý může vytvořit VPS. Ve formuláři na vytváření VPS stačí vybrat lokaci 
-**Staging**. 
- 
-Podmínky provozu jsou podobné jako pro [[navody:vps:playgroundvps|playground VPS]], 
-akorát to může být trochu divočejší, tj. nehlášené výpadky, restarty pokud 
-potřebujeme něco aktualizovat. Každý má k dispozici 8 CPU, 4 GB RAM, 
-120 GB disku, 4 veřejné IPv4 adresy, 32 IPv6 /64 adres a tyto prostředky lze 
-rozdělit mezi 4 VPS. 
- 
-V současné době není možné klonovat/swapovat produkční VPS s testovacími VPS 
-na vpsAdminOS. Proces migrace VPS z OpenVZ na vpsAdminOS ještě není dořešen. 
-Omezen je také přístup k NASu, viz [[#user_namespaces|user namespaces]]. 
- 
-==== Podporované distribuce ==== 
- 
-  * Alpine 3.6, 3.7 
-  * Arch 
-  * CentOS 7.5 
-  * Debian 8, 9 
-  * Fedora 27, 28 
-  * Gentoo 
-  * NixOS 
-  * Ubuntu 16.04, 18.04 
- 
-==== Ostatní distribuce ==== 
- 
-Pokud tvoje distribuce zatím není mezi podporovanými, můžeš nám pomoct 
-ji zprovoznit, nebo nezbývá než počkat, až to za tebe udělá někdo jiný, 
-viz [[https://github.com/vpsfreecz/vpsadminos/issues|otevřené požadavky]]. 
- 
-Šablony distribucí se vytvářejí skripty ve 
-[[https://github.com/vpsfreecz/build-vpsfree-templates/tree/vpsadminos|vpsadminos-templates]]. 
-Pokud tam tvá distribuce není, je potřeba ji zde přidat. 
- 
-Dále je nutné vyřešit podporu dané distribuce ve vpsAdminOS tak, aby byl 
-''osctl'' schopen zvenku nastavovat síť a IP adresy. Stačí postupovat 
-podle [[https://vpsadminos.org/osctld/distributions/|návodu]]. Je potřeba 
-implementovat podporu jak pro bridged veth, tak routed veth, viz 
-[[https://vpsadminos.org/user-guide/networking/|dokumentace vpsAdminOS]] 
-a [[https://github.com/vpsfreecz/vpsadminos/tree/master/osctld/lib/osctld/dist_config|zdrojové kódy]]. 
  
 ==== Více o vpsAdminOS ==== ==== Více o vpsAdminOS ====
Řádek 154: Řádek 88:
 Podle vlastního uvážení: Podle vlastního uvážení:
  
-  * [[informace:chat]]: #vpsfree a #vpsadminos na chat.freenode.net 
   * podpora@vpsfree.cz   * podpora@vpsfree.cz
   * vpsAdminOS issues: https://github.com/vpsfreecz/vpsadminos/issues   * vpsAdminOS issues: https://github.com/vpsfreecz/vpsadminos/issues
-  * vpsAdmin issues: https://github.com/vpsfreecz/vpsadmin/issues+  * vpsAdmin (web UI, CLI, API) issues: https://github.com/vpsfreecz/vpsadmin/issues 
 +  * [[informace:chat]]: #vpsfree a #vpsadminos na irc.libera.chat
  
navody/vps/vpsadminos.txt · Poslední úprava: 2024/01/02 20:37 autor: aither