Nestartuje vám OS? V Azure díky sériové konzoli žádný problém.

U lokálního hypervisoru se dostanete do VM i v okamžiku, kdy je s ní nějaký problém - špatně nastavená síť, moc restriktivní firewall, poškozené nastavení mountování disků apod. Ale ve veřejném cloudu je váš přístup do VM postaven na IP komunikaci s SSH nebo RDP, maximálně se můžete podívat na bootovací sekvenci, ale nic neopravíte. Azure je ale jiný - nově přichází s plnohodnotnou sériovou konzolí. Pojďme si ji vyzkoušet.

Proč se sériová konzole hodí

Velký okruh potenciálních problémů se týká síťové komunikace. Stačí omylem zakázat síťovou kartu a máte po přístupu. Nebo možná špatně nastavit IP či zakázat si SSH či RDP na vnitřním firewallu. Další situace se týká spuštěných služeb - například v systemd v Linuxu omylem zakážete spuštění sshd po startu nebo ve Windows zakážete RDP. Může také jít o problém s disky a souborovým systémem. Někdy je při podezření na poškození FS při startu systému nutné něco odklepnout - a v ten okamžik ještě vzdálený přístup nefunguje. Nebo při nastavení mountování v Linuxové fstab spácháte překlep a OS se při startu zastaví.

To jsou všechno situace, které je v cloudu obtížné řešit. Často to vede na nutnost si vyexportovat image, ten napojit do jiné VM a v souborovém systému věci opravovat. Nic moc. Azure ale právě přichází se sériovým přístupem, skutečným řešením. A mimochodem v době psaní článku tohle AWS nemá :)

Sériová konzole s Linuxem

Při vytváření VM (nebo klidně později) zapneme Boot Diagnostics. To dřív sloužilo pouze pro jednosměrný sběr logů ze sériové konzole, ale nově umožňuje právě interaktivní přístup.

Připojme se na sériovou konzoli a uvidíme server bootovat. Interaktivní okno je postavené na stejné technologii jako velmi oblíbený Azure Cloud Shell. Můžeme tak například vidět Grub, skočit do něj a nabootovat si do Emergency Mode, což podle konkrétního nastavení OS můžeme posloužit k recovery hesla.

Nebo sledovat start OS a interagovat s ním.

Tady jsem nabootoval do emergency módu.

Díky tomu můžu změnit zapomenuté heslo.

Sériová konzole s Windows

Víte, že ve Windows už poměrně dlouho existuje režim s přístupem přes sériový port? Já to nevěděl. Jmenuje se Special Administrative Console (SAC) a pokud jste vytvořili Windows VM v Azure v březnu 2018 nebo později, je automaticky zapnutý (pokud dříve, musíte si ho v OS zapnout).

Stejně jako u Linux nezapomeňte zapnout Boot Diagnostics. Zapneme si interaktivní konzoli v portálu a uvidíme SAC.

Hmm, nějaké základní věci se tu dají dělat. Nicméně můžeme si vytvořit nový kanál s cmd a skočit do něj.

No odtud už snadno skočíte do PowerShell, kde jistě na rozdíl ode mne dokážete kouzla.

 

Co když se odstřihnu nebo mi OS nenastartuje? Velmi častá otázka administrátorů při seznamování se s veřejným cloudem. V Azure díky sériové konzoli není nic ztraceno, připojte se a opravte co potřebujete. Funkce je v preview, vyzkoušet ji můžete ještě dnes.

 



GitHub Codespaces - vývojářské prostředí od stroje po knihovny a kompilátor, které naběhne za 15 vteřin Compute
Microsoft Dev Box - virtuální pecko pro vývojáře a kdy použít vs. GitHub Codespaces, Windows365 nebo Azure Virtual Desktop Compute
ARM64 v Azure a jak používat s Kubernetes, Terraform a GitHub Actions a multi-arch image Compute
On-demand capacity reservation vs. reserved instances v Azure - kdy co a proč nejčastěji oboje Compute
Confidential Computing - zabezpečení dat při jejich používání, kdy ani root systému nemá šanci je rozlousknout Compute