Ahoj,
v tomto mailu popisuji důležité změny v nové verzi vpsAdminu pro koncové uživatele. Je to trochu delší text, ale doporučuji to aspoň proletět.
Návody na používání nových funkcí budou během několika dní k dispozici v KB. Doporučuji se na ně před použitím funkce podívat a v případě nejasnosti se raději zeptat.
Nové funkce zatím nedoporučuji využívat na produkční nasazení. Počkejte prosím pár týdnů, než se to vyladí. Jsou to tisíce řádek nového kódu a není reálné očekávat na 100 % vyladěnou věc.
Nalezené chyby prosím hlaste na podporu.
Prostředí --------- Všechny nody jsou rozděleny do "prostředí" (environment). V našem případě jsou zavedeny prostředí produkce, playground a storage praha. Každý člen má v rámci prostředí přiděleny prostředky (paměť, CPU, diskový prostor a IP adresy), které na nodech spadajících do daného prostředí můžou využívat.
Prostředí můžou mít různé nastavení - dovolené počty VPS, apod.
Přehled přidělených prostředků v prostředích je vidět v Edit profile -> Cluster resources. Nastavení prostředí v Edit profile -> Environment configs.
VPS - vytváření ---------------- Členům je dovoleno vytvářet VPS v playground i produkci a to za předpokladu, že má k dispozici dostatek prostředků a umožňuje to jeho nastavení prostředí.
Vytvoření nové VPS se skládá ze tří kroků - výběr prostředí, výběr lokace a následně hostname, distribuce a parametry.
Vytváření více produkčních VPS je zatím povoleno pouze uživatelům, kteří o to požádají a chtějí tuto funkci otestovat.
VPS - IP adresy --------------- Člen má přidělenu 1 IPv4 adresu a 32 IPv6 adres v každém prostředí. Tyto adresy může libovolně rozdělit mezi VPS. Více IPv4 je stejně jako předtím za poplatek [1], IPv6 na dotaz.
Při přidělení adresy k produkční VPS se adrese nastaví vlastník. Takovou IP adresu potom nemůže nikdo jiný vybrat, i když zrovna není používána. Člen musí nejdříve využít všechny vlastněné IP adresy a až poté lze vybrat adresy nové.
VPS - heslo roota ----------------- Při nastavování hesla roota lze vybrat ze dvou typů generovaných hesel. Jednoduché heslo se snadněji opíše do webové konzole VPS, kde bohužel nefunguje copy&paste a opisovat dlouhé heslo je otrava.
VPS - volba distribuce ---------------------- Formulář pro reinstalaci distribuce nyní umožnuje pouhou aktualizaci informace o distribuci, která je ve VPS. Toto můžete použít, když např. systém aktualizujete na novou verzi a distribuce zobrazená ve vpsAdminu pak neodpovídá realitě.
Reinstalace systému _maže_ všechny subdatasety VPS, více o datasetech níže.
VPS - parametry --------------- V detailu VPS je možné měnit parametry VPS. Minimální konfigurace VPS je 1 CPU, 1 GB RAM a 10 GB disku. Maximální konfigurace je 8 CPU, 16 GB RAM, diskový prostor není omezen.
Swap se sice zobrazuje mezi parametry, ale standardně jej nepřidělujeme, protože swap v OpenVZ se chová jako rozšíření paměti [2].
Pokud chcete vytvořit novou VPS, je nutné pro ni udělat místo - snížit parametry jiné VPS.
VPS - features -------------- Features lze zapínat/vypínat jednotlivě. Při jakékoliv změně dojde k restartu VPS.
Doporučuji si nastavit jen features, které potřebujete. Např. zapnuté NFS nebo bridge blokuje online migraci.
VPS - swap ---------- Teď nemám na mysli odkládací prostor paměti, ale swap ve smyslu prohození VPS mezi nody, v našem případě nejčastěji mezi playground a produkcí. Prohodit jde pouze VPS, které se nacházejí v odlišných lokacích (Praha, Playground, Brno). V rámci jedné lokace můžete jednoduše přehodit IP adresy a je to.
Před vykonáním akce je v tabulce zobrazen stav VPS před a po provedení swapu.
VPS - klonování --------------- Klonovat lze buď do nové nebo do existující VPS. V případě klonování do existující VPS je původní VPS se všemi subdatasety smazáno!
Datasety -------- Dataset ve vpsAdminu reprezentuje přímo ZFS dataset na disku. Datasety se používají na data VPS i NAS. Koncept datasetu nahrazuje exporty z NASu. S datasetem VPS lze pracovat stejně jako s NASem.
Proč se vůbec s datasety obtěžovat? Zejména kvůli možnosti nastavení kvóty a ZFS properties pro různé data/aplikace.
Datasety VPS se nacházejí v detailu VPS a datasety NASu v menu NAS. Operace, které s nimi jdou provádět, jsou stejné. vpsAdmin umožňuje vytváření subdatasetů a nastavování ZFS properties.
Pomocí properties lze optimalizovat výkon databází, apod. Ve většině případů je nemusíte vůbec řešit.
Rozdíl mezi datasety VPS a NASu je v nastavování kvóty. Pro datasety VPS se používá refquota - místo zabrané snapshoty není zahrnuto. Datasety NASu naopak quota - místo zabrané snapshoty je zahrnuto. vpsAdmin automaticky nabízí správný typ kvóty.
Rezervovaná jména datasetů jsou: private, vpsadmin, branch-*, tree.*. Tyto názvy nelze použít.
Snapshoty --------- Zálohování probíhá pomocí zfs snapshotů, které jsou vidět v menu Backups, kde jdou také vytvářet a mazat.
Zálohování VPS probíhá tak, že každý den v 01:00 se v rámci jednoho node udělá snapshot všech datasetů najednou. Poté jsou snapshoty přesunuty na backuper.prg.
Pozor na to, že NAS _není_ zálohován na backuper.prg. Snapshoty jsou pouze lokální a slouží jen jako ochrana proti nechtěnému smazání dat, apod.
Mounty ------ Mounty byly přesunuty z menu NAS do detailů VPS. Mountovat lze datasety i snapshoty. Do jakékoliv VPS jde mountnout jakýkoliv dataset či snapshot. Mounty jednotlivých snapshotů nahrazují trvalý mount záloh do /vpsadmin_backuper.
Každý snapshot může být v jednu chvíli připojen pouze jednou, datasety toto omezení nemají.
Nedoporučuji mountpointy zanořovat v nesprávném pořadí. Situace, kdy dataset 'raz/dva' je připojen nad dataset 'raz' není ošetřena.
Mount lze pouze vytvořit a smazat. Nelze jej v průběhu jen tak odpojit a znovu připojit.
Obnova záloh ------------ Obnovení VPS ze zálohy (snapshotu) funguje stejně, jako doposud. Obnova vždy funguje na úrovni datasetu. Když má VPS subdatasety a rootfs je obnoven ze zálohy, subdatasety obnoveny nejsou. Tzn. je možno obnovit jakýkoliv dataset, aniž by to mělo vliv na ostatní datasety. Při obnově jsou všechny snapshoty zachovány, díky větvení záloh [3] na backuperu.
NAS je možné snapshotovat pouze manuálně. Jelikož ale není zálohován na backuper, obnova se chová stejně jako zfs rollback -r, tzn. obnova na starší snapshot _smaže_ všechny novější snapshoty. Je to nevratná operace.
Pro obnovu dat ze zálohy na NASu bez smazání snapshotů si zvolený snapshot moutněte do VPS a data vykopírujte.
Stahování záloh --------------- Stahování snapshotů je nyní součástí vpsAdminu. Vygenerované archivy jsou vidět v menu Backups -> Downloads. Odkazy jsou platné týden místo původních 3 dní.
Transakce --------- Transakce nyní spadají do skupin nazvaných "transaction chain". Každá operace (vytvoření VPS, start, stop, klon, atd.) je reprezentována jedním chainem, který seskupuje více transakcí. V transaction logu v pravém panelu se zobrazuje seznam 10 posledních chainů a jejich postup v procentech. Kliknutím na ID chainu lze vidět, jaké transakce obsahuje.
V ideálním případě se chain buď provede úplně a nebo vůbec. Pokud k dojde k neočekávané či neošetřené chybě, bude muset zasáhnout administrátor.
Chainy se starají také o udržování konzistence databáze. Změny v databázi se provedou, jen když chain doběhne úspěšně. Může to být trochu matoucí, když se např. po změně hostname stále zobrazuje to staré. Po dokončení chainu se hostname aktualizuje a bude správně. Zatím nevím, jak to udělat víc user-friendly.
Zámky objektů ------------- S každým objektem (VPS, dataset, snapshot, apod.) lze v jednu chvíli provádět jen jednu operaci. Zámky slouží k zaručení konzistence, aby si pod sebou vpsAdmin sám nepodřezal větev, což se občas stalo.
Pokud na vás vyskočí chybová hláška "Resource is locked. Please try again." znamená to, že objekt, se kterým chcete něco udělat, je uzamčen a musíte počkat, až bude k dispozici.
Pozastavování objektů, expirace ------------------------------- Administrátoři mají nově možnost pozastavit jednotlivé VPS, což budeme využívat v případě hacknutí VPS.
Expirace členství už nebude hlídat člověk, ale vpsAdmin. Pokud členský příspěvek neuhrádíte do data uvedeného v notifikačním mailu, účet bude pozastaven. Za další tři týdny dojde k ukončení členství, viz finanční řád [4].
Networking ---------- Je možné se podívat na datové přenosy z minulých let.
Autentizace ----------- vpsAdmin nyní ukládá hesla pomocí bcrypt. Heslo se při přihlášení automaticky aktualizuje.
V Edit profile -> Authentication tokens je seznam autentizačních tokenů, které se používají při vybrání autentizační metody 'token' v HaveAPI [5].
Webové rozhraní vpsAdminu tokeny využívá. Zmiňuji se o tom, protože přes CLI nebo klientskou knihovnu obecně si můžete vytvořit token s trvalou platností. Na této stránce můžete tokenu nastavit popisek či ho smazat (odepřít přístup aplikaci, která jej využívá).
Mód údržby ---------- Do módu údržby (maintenance mode) můžeme přepnout buď celý cluster, jednotlivé protředí, lokace, nody či VPS. V titulku ikony módu údržby je napsán důvod.
API --- Většina aplikační logiky vpsAdminu byla přesunuta do API [6]. Webové rozhraní teď slouží prakticky jen jako prostředník mezi uživatelem a API. Využívá k tomu klientské knihovny v PHP [7] a JS [8].
API obsahuje vše krom správy přihlášek k členství, změn uživatelských účtů a datových přenosů.
Aktuální stav funkcí -------------------- - Klonování VPS - zakázáno, musí se ověřit - Swapování VPS - zakázáno, musí se ověřit - Vytváření více produkčních VPS umožněno na dotaz
[1] https://github.com/vpsfreecz/oficialni-dokumenty/blob/devel/financni_rad.md#...
[3] https://projects.vpsfree.cz/vpsadmin-doc/storage/branching/
[4] https://github.com/vpsfreecz/oficialni-dokumenty/blob/devel/financni_rad.md
[5] https://github.com/vpsfreecz/haveapi-client-php#usage
[7] https://github.com/vpsfreecz/haveapi-client-php
[8] https://github.com/vpsfreecz/haveapi-client-js
Jakub