Stratus.FI je privátní cloud pro uživatele z FI postavený na softwaru OpenNebula.
Lze jej využít jako prostředí na experimentování a rychlé vyzkoušení, ale také i produkční použití softwaru, který z různých důvodů nemůže být instalován přímo na serverech spravovaných CVT FI (například Anxur nebo Aisa). Poskytujeme podporu také pro jeho hromadné využití pro účely výuky.
Na žádost lze také v Stratus.FI vytvořit skupinu osob, kterou můžeme naplnit ručne, nebo synchronizovat se skupinou ve Fakultní administrativě (viz skupiny v GitLabu pro hrubou inspiraci). Ta pak může být vlastnickou skupinou strojů nebo jiných zdrojů.
Obsah
- Kvóty a pravidla použití
- Přihlášení
- Cloud versus User view
- Konfigurace uživatelova kontextu
- Chci rychle vytvořit předinstalovaný virtuální stroj
- Produkční virtuální stroje
- Chci si nainstalovat svůj operační systém
- XML-RPC API
- Hardware
- Odkazy
Kvóty a pravidla použití
Naším cílem je umožnit uživatelům krátkodobě využívat i větší množství výpočetních prostředků (cca do 10 virtuálních strojů). Uživatelé tak budou mít možnost vyzkoušet si například i distribuované aplikace. Kvóty na systémové zdroje jsou tedy nastaveny na tento způsob použití. Přesné informace o kvótách najdete ve webovém rozhraní v nastavení uživatele v sekci Quotas, nebo v aplikaci Fakultní administrativy Přehled informací o osobě
Prosíme o ohleduplnost k ostatním uživatelům: současný hardware nemá kapacitu na to, aby každý uživatel FI v jeden okamžik využíval trvale všechny prostředky až do velikosti své kvóty. Nastavené kvóty tedy neplatí pro trvale běžící virtuální stroje. Pokud detekujeme virtuální stroje běžící déle než den, nebo maximálně malé jednotky dní, budeme tyto stroje ukončovat a později rušit i jejich disky.
Budete-li potřebovat déle běžící testovací, produkční virtuální stroj, krátkodobě nadlimitní množství výpočetních prostředků nebo zvažujete využití Stratus.FI pro výuku, kontaktujte správce systému na adrese unixE4NNMN1Lv@fih3mmO4nUh.muniUDdxWoK_f.cz
.
Při používání virtuálních strojů mějte na paměti, že i zde platí Provozní pravidla, zejména pak zákaz zprovozňování veřejně dostupných síťových služeb bez předchozího schválení vedoucím CVT FI.
VCPU vs CPU: Při přidělování prostředků virtuálnímu stroji se nastavují mimo jiné dva parametry: VCPU a CPU. Celočíselný parametr VCPU znamená, kolik procesorů uvidí virtuální stroj, tedy na kolik jader hostitelského počítače bude schopen rozložit svoji práci. Reálný parametr CPU je méně důležitý – používá se jako informace o tom, kolik zhruba výpočetní kapacity bude tento VM dlouhodobě v průměru zabírat. Krátce: potřebujete-li jen nárazově paralelní výkon, nastavujte jen VCPU. K témuž a k RUNNING variantám kvót viz také DYK v našem blogu.
Přihlášení
Webové rozhraní cloudu Stratus.FI najdete na následujícím URL:
https://stratus.fi.muni.cz/
Do webového rozhraní se přihlaste fakultním loginem a fakultním heslem (více o fakultním účtu a změně hesla zde).
Cloud versus User view
Webové rozhraní Stratus.FI je pro uživatele dostupné ve dvou verzích: jednodušší cloud view, které je nastaveno implicitně a které je popsáno v kapitole Chci si rychle vytvořit virtuální stroj, a složitější user view s menu vlevo a více ovládacími prvky. Přepínat se mezi nimi lze kliknutím na jméno uživatele a volbou poslední položky s názvem Views. Porovnejte – cloud view:
... a user view:
Konfigurace uživatelova kontextu
Předinstalované obrazy virtuálních strojů jsou nakonfigurované tak, aby přebíraly z nastavení uživatele některé informace (SSH klíč, heslo pro superuživatele, ...). Před vlastním vytvořením virtuálního stroje je tedy třeba tyto parametry nastavit. Přihlaste se do webového rozhraní, klikněte vpravo nahoře na jméno uživatele a z menu vyberete položku Settings:
SSH klíč pro účet root
Pokud ještě nemáte, vytvořte si SSH klíč například na Aise příkazem:
ssh-keygen -b 4096 -t rsa
Tajný klíč se vám uloží do souboru $HOME/.ssh/id_rsa
a veřejný tamtéž do souboru id_rsa.pub
. Při vytváření můžete zadat heslo (passphrase), které bude vyžadováno při každém použití SSH klíče.
Ve webovém rozhraní v nastavení uživatele klikněte na sekci Config a následně na položku Add SSH Key, a do okénka formuláře zkopírujte myší veřejný klíč – obsah souboru id_rsa.pub
.
Zašifrované heslo pro účet root
Vytvořte si zašifrovanou podobu hesla pro virtuální stroj, například příkazem openssl passwd -1
na Aise nebo jiném Linuxu:
xnekdo@aisa$ openssl passwd -1 Password: correct horse battery staple Retype password: correct horse battery staple $1$t2DaE4vm$i8A...630 xnekdo@aisa$
V nastavení uživatele ve webovém rozhraní Stratus.FI (je nutné být v user view) přidejte úplně dole v sekci Attributes nový atribut s názvem CRYPTED_PASSWORD
, výše vytvořenou hodnotou (řetězec $1$...
) a uložte kliknutím na [+]
.
Upozornění: novější předinstalované obrazy při přihlašování přes SSH jako root neumožňují přihlášení heslem a zvolené heslo tedy budete moci použít pouze při přihlašování přes VNC.
Heslo pro Windows VM
Chcete-li použít virtuální stroj s Windows, je třeba do uživatelských atributů (je nutné být v user view) přidat dva další atributy: USERNAME
s přihlašovacím jménem uživatele a PASSWORD
obsahující nezašifrované heslo pro přihlášení. Zde doporučujeme volit jiné heslo, než používáte na fakultních systémech.
Heslo volte netriviální, jinak může Windows přihlášení do VM s příliš jednoduchým heslem odmítnout.
Celkově vypadají nastavené kontextové informace nějak takto (user view):
Chci předinstalovaný virtuální stroj
Následující postup využijete, pokud potřebujete něco vyzkoušet na již hotovém nainstalovaném stroji (spustit/zkompilovat svoji verzi nějakého softwaru a podobně) a nechcete ztrácet čas instalací a konfigurací operačního systému.
Nakonfigurujte si uživatelský kontext, jak je popsáno v předchozí kapitole.
Otevřete si hlavní stránku Stratus.FI (z jiné stránky Stratus.FI klikněte nahoře na Dashboard).
V levé části stránky klikněte na zelené [+]
.
Vyberte si z nabídky předinstalovaných systémů (například AlmaLinux, Fedora nebo Debian) a klikněte na vybraný systém.
Poznámka: Šablony s [CVTFI]
v názvu vlastněné účtem oneadmin
jsou šablony vytvořené námi, jsou určené pro uživatele a měly by mít nainstalované kontextualizační balíčky,
to znamená, že by měly mít funkční síť a mělo by být možné se na ně přihlásit jako root SSH klíčem
(a na VNC heslem) z uživatelova kontextu.
Pokud tedy narazíte na nějaký problém u takto označené šablony, neváhejte nás kontaktovat
a my se ho s vámi pokusíme vyřešit.
Poznámka: Pokud půjde o produkční virtuální stroj, zvolte možnost perzistentní (více viz vytvoření disků). Také silně doporučujeme použít distribuci s dlouhou podporou (např. AlmaLinux nebo Debian).
V levé části stránky vyplňte název vytvářeného virtuálního stroje (například Test AlmaLinux) a vpravo klikněte na zelené Create.
Počkejte, až bude u názvu právě vytvořeného virtuálního stroje zelený čtvereček místo oranžového (obnovit pohled lze ikonkou dvou šipek v kruhu zobrazenou vpravo nahoře).
Jakmile bude virtuální stroj aktivní, můžete z vnitřní sítě FI (například z Aisy, Anxura, Wi-Fi nebo fakultní VPN; viz také přístup do sítě FI) zkusit například přihlášení přes SSH na IP adresu zobrazenou u vytvořeného virtuálního stroje (pokud šablona využívá SSH kontextualizaci, má SSH server a IP adresu). Na konzolu stroje se dostanete kliknutím na jeho titulek a pak vlevo dole na modrou ikonku terminálu s nápisem VNC. Můžete se přihlásit jako root s dříve zadaným heslem.
U nově instanciovaných strojů doporučujeme aktualizovat balíčky, zejména pokud plánujete stroj využívat dlouhodoběji a pro jejich plnou aplikaci stroj restartovat.
Nově vytvořené virtuální stroje mají přidělenou NATovanou privátní IPv4 a veřejnou IPv6 adresu (ale bez povoleného přístupu z internetu). Více o technickém řešení si můžete přečíst v našem blogu v ISe.
Pokud byste chtěli používat takovýto virtuální stroj trvaleji a potřebovali byste větší disk, zvětšení je možné, ale disk musí být pro tuto operaci připojený k běžícímu virtuálu (zvětšit ho lze v kartě Storage).
Produkční virtuální stroje
Na produkční virtuální stroje jsou obecně kladeny vyšší nároky:
- Provoz produkčního virtuálního stroje je podmíněn souhlasem zaměstnance nebo doktoranda FI.
- Kontextualizace VM – zkontrolujte, případně vypněte přebírání konfigurace VM z nastavení virtualizace, tj. hesla, SSH klíče nebo nastavení sítě.
- Monitoring – odpovědnost za běh a monitoring je na majiteli stroje, ale na žádost můžeme poskytnout monitoring přes náš Nagios.
- Centrální sběr logů – nastavte odesílání logů do centrálního syslogu.
- IPv6 – silně preferujeme, aby stroj fungoval i po IPv6 a měl IPv6 adresu v DNS.
- Nutnost veřejné IPv4? – je skutečně potřeba mít veřejnou IPv4 adresu? Pokud bude stroj komunikovat jenom uvnitř sítě FI nebo jde hlavně o přiřazení hostname, přidělíme privátní IPv4 adresu.
- Správná konfigurace HTTPS – viz náš návod.
- Aktualizace – stroj je potřeba i nadále udržovat aktualizovaný. Doporučujeme podle toho vybírat i provozovanou distribuci (LTS).
Obsah žádosti o produkční VM
- Jméno a ID VM – název a číslo virtuálního stroje ve Stratus.FI.
- Hostname stroje – produkční stroj dostane jméno v doméně fi.muni.cz: napište jaké preferujete, jinak přiřadíme my.
- Provozované služby – jaké porty chcete povolit na fakultním firewallu (UDP/TCP? z celého internetu, jen z MU, jen z FI?).
- Postup při změně IP – pro vlastní přiřazení „produkční“ IP adresy musí unix@fi virtuálnímu stroji vyměnit síťová rozhraní. Dojde tedy k výpadku a změně konfigurace sítě VM. Napište, jestli je potřeba tento krok nějak koordinovat, nebo k přepojení může dojít kdykoliv.
Chci si nainstalovat svůj operační systém
V této kapitole budeme předpokládat, že uživatel má rozhraní přepnuto do User view.
Vytvoření disků
Pro svůj virtuální stroj budete potřebovat instalační médium (obraz CD-ROM), dále systémový disk a případně ještě volatile disk pro dočasná data, jako například odkládací prostor. Dostupné disky si zobrazíte kliknutím na Storage → Images v levém menu.
Nenajdete-li mezi dostupnými disky instalační médium vámi zvoleného systému, můžete je vytvořit:
- klikněte v hlavní části stránky nahoře na zelené [+],
- vyplňte jméno disku (například CentOS 7.1511 netinst.iso), případně i popis,
- jako typ zvolte Read-only CD-ROM a úložiště (datastore) ponechte cephds,
- pod Image location vyberte Upload a nalistujte ISO obraz na svém počítači,
- vytvořte obraz kliknutím na zelené Create nahoře.
Nově vytvořený disk by se měl objevit v seznamu dostupných disků. Z důvodu úspory místa na disku nabídněte podle možností vámi zavedený ISO obraz i ostatním uživatelům: klikněte na příslušný řádek v seznamu disků a v přístupových právech v pravé části stránky přidejte právo Use i pro Group a Other.
Podobně vytvořte systémový disk. Na stránce Storage → Images klikněte na zelené [+], vyplňte jméno disku (například MujTest), případně popis. Jako typ zvolte Operating System image, úložiště ponechte cephds. Důležité: zaškrtněte checkbox This image is persistent. (Neperzistentní image: vytvořené instance používají copy-on-write kopii tohoto image. Při zrušení VM se provedené změny ztratí. Perzistentní image: může být používaný jen jedním VM, provedené změny jsou zachovány i po zrušení VM.) Dále vyberte jako zdroj Empty disk image a zadejte velikost. Akci dokončete kliknutím na zelené Create v horní části stránky.
Šablona virtuálního stroje
Stratus.FI (OpenNebula) používá šablony (templates) pro popis toho, jak má virtuální stroj vypadat. Primárně jsou šablony určeny k tomu, když potřebujete efektivně vytvářet větší množství identických virtuálních strojů například pro rozložení zátěže. Šablonu ale musí mít každý virtuální stroj, i když předem víme, že poběží vždy pouze v jedné instanci.
V levém menu vyberte Templates → VMs, čímž si zobrazíte seznam dostupných šablon (všech svých a veřejných cizích). Kliknutím na zelené [+] vytvoříte novou šablonu. Na záložce General vyplňte jméno šablony, implicitní velikost paměti a informace o procesorech: položka CPU určuje náročnost tohoto virtuálního stroje pro účely výběru fyzického uzlu, kde stroj poběží. Protože stroj pravděpodobně nezabere celý procesor po 100 % času, nastavte hodnotu okolo 0.2. Položka VCPU říká, kolik operační systém virtuálního stroje uvidí procesorů. Nastavte hodnotu 1. Položku Hypervisor nechte na KVM.
Dále klikněte na záložku Storage v horní části stránky (vedle záložky General). Jako Disk 0 zvolte (ponechte) typ Image a ze seznamu vyberte výše vytvořený disk. Další disk přidáte modrým (+). Jako Disk 1 vyberte instalační CD-ROM. Analogicky můžete přidat Volatile disc, například typu swap. Tento disk není samostatný image, vytváří se vždy znovu při instanciaci šablony. Jedním z vhodných typů využití je právě odkládací prostor. Pokud budete instalovat Windows, může být potřeba připojit také Virtio Windows drivers.
Na třetí záložce Network nastavujete síťová rozhraní virtuálního stroje. Síťovou kartu NIC 0 zapojte do sítě 503-usrpriv.
Čtvrtá záložka OS Booting řídí pořadí disků při zavádění systému. Pro instalaci operačního systému z CD-ROM image vyberte tento image jako první (zaškrtněte bootování z Disk 1 a šipkami přesuňte tento disk výše).
Na dalších záložkách v této fázi nemusíte nastavovat nic dalšího, klikněte jen na zelené Create v horní části stránky.
Start virtuálního stroje
Na základě vytvořené šablony můžeme vytvořit (instanciovat) virtuální stroj. Vyberte příslušnou šablonu ze seznamu kliknutím na její řádek, a z detailní stránky o dané šabloně klikněte nahoře na modré Instantiate. Zde je ještě možno měnit některé parametry pro konkrétní instanci, to se využije hlavně při přizpůsobování hotových předinstalovaných obrazů a šablon. Klikněte jen na zelené Instantiate v horní části stránky.
Nově vytvořený virtuální stroj je viditelný v seznamu virtuálních strojů: Instances → VMs z levého menu. Jsou tady vidět i přidělené síťové adresy. Při instalaci nového systému nastavte síť staticky; tyto údaje opište do instalátoru. Pro produkční virtuální stroje je lepší použít kontextualizační balíčky, které systém nastaví samy, například addon-context-linux, addon-context-windows.
Na konzolu virtuálního stroje se dostanete pomocí ikonky terminálu vpravo v seznamu virtuálních strojů, případně pomocí ikonky terminálu s nápisem VNC ze stránky s podrobnostmi jednoho virtuálního stroje. Zde můžete pokračovat v instalaci systému.
Po instalaci
Po ukončení instalace je třeba jen zapnout bootování z disku. Vypněte nainstalovaný virtuální stroj (vypínací tlačítko v horní části stránky s podrobnostmi o tomto virtuálním stroji, a pak Undeploy). Poté vyberte záložku Conf úplně vpravo, klikněte na zelené Update Configuration a změňte pořadí bootování. Změny uložte kliknutím na zelené Update v horní části stránky. Poté můžete virtuální stroj spustit tlačítkem s trojúhelníkem doprava ("Play", ⏵). Alternativně lze podobného efektu dosáhnout úplným zrušením virtuálního stroje (perzistentní disk zůstává), úpravou šablony a novou instanciací.
Užitečná konfigurace
Na závěr doporučujeme zkontrolovat seznam tipů při instalaci stroje na FI. Obsahuje užitečné rady jak obecného rázu, tak rady jak využít některé služby specifické pro fakultní síť.
XML-RPC API
Pokročilejší uživatelé mohou využít i
XML-RPC API,
které software OpenNebula poskytuje. Je dostupné zevnitř sítě FI (např. ze
serveru Aisa) přes stratus.fi.muni.cz
na portu 2634. Autentizujte
se fakultními přihlašovacími údaji.
Toto API má podporu v několika programovacích jazycích (viz odkaz výše) nebo třeba v nástroji Terraform.
Minimalistická ukázka pro pythonovský modul pyone
:
import pyone
from pprint import pprint
one = pyone.OneServer("https://stratus.fi.muni.cz:2634/RPC2", session = "filogin:fipasswd")
vminfo = one.vm.info(1234) # some virtual machine ID
pprint(vars(vminfo))
Hardware
Stratus.FI je tvořen třemi monitorovacími (řídicími) uzly a třinácti hostovskými uzly, které zároveň poskytují úložiště přes distribuovaný systém Ceph. Na uzlech běží operační systém CentOS.
Pro představu, hostovací uzly jsou dvou generací a mají následující parametry:
- Dva 64-vláknové procesory AMD EPYC 75F3 pracující na 2950 MHz
- Každé jádro má 512 KiB L2 cache
- Každý procesor má 32 MiB sdílené L3 cache
- Dva 12TB rotační disky pro Ceph
- Do sítě jsou připojeny rychlostí 10 Gbit/s full-duplex
- 1 TiB RAM v šestnácti 3200MHz modulech
- Dva 32-vláknové procesory AMD EPYC 7351 pracující na 2400 MHz
- Každé jádro má 512 KiB L2 cache
- Každý procesor má 8 MiB sdílené L3 cache
- Dva 12TB rotační disky pro Ceph
- Do sítě jsou připojeny rychlostí 10 Gbit/s full-duplex
- 512 GiB RAM v šestnácti 2400MHz modulech
Odkazy
- Stratus.FI webové rozhraní
- Technické informace FI
- Provozní pravidla počítačových systémů FI
- OpenNebula Documentation
- addon-context-linux
- addon-context-windows