IP-KVM přes QEMU

IP-KVM přes QEMU

Odstraňování problémů se zaváděním operačního systému na serverech bez KVM není snadný úkol. Vytváříme si KVM-over-IP pro sebe prostřednictvím obrazu pro obnovení a virtuálního stroje.

V případě problémů s operačním systémem na vzdáleném serveru, správce stáhne obraz pro obnovení a provede potřebné práce. Tato metoda funguje skvěle, pokud je známa příčina selhání a obraz pro obnovení a operační systém nainstalovaný na serveru jsou ze stejné rodiny. Pokud příčina selhání ještě není známa, je třeba sledovat průběh načítání operačního systému.

Vzdálené KVM

Ke konzole serveru můžete přistupovat pomocí vestavěných nástrojů, jako je IPMI nebo Intel® vPro™, nebo prostřednictvím externích zařízení nazývaných IP-KVM. Existují situace, kdy všechny uvedené technologie nejsou dostupné. Tím to však nekončí. Pokud lze server vzdáleně restartovat do obnovovacího obrazu založeného na operačním systému Linux, lze KVM-over-IP rychle organizovat.

Obraz pro obnovení je plnohodnotný operační systém, který je umístěn v paměti RAM. Můžeme tedy provozovat jakýkoli software, včetně virtuálních strojů (VM). To znamená, že můžete spustit virtuální počítač, na kterém poběží operační systém serveru. Přístup ke konzoli VM lze organizovat například přes VNC.

Chcete-li spustit serverový operační systém uvnitř virtuálního počítače, musíte zadat disky serveru jako disky virtuálních počítačů. V operačních systémech rodiny Linux jsou fyzické disky reprezentovány blokovými zařízeními tohoto formuláře / dev / sdX, se kterými lze pracovat jako s běžnými soubory.

Některé hypervizory, jako je QEMU a VirtualBox, umožňují ukládat data VM v „raw“ podobě, tedy pouze ukládat data bez metadat hypervisoru. Virtuální počítač tak může být spuštěn pomocí fyzických disků serveru.

Tato metoda vyžaduje prostředky ke spuštění bitové kopie pro obnovení a virtuálního počítače v ní. Pokud však máte čtyři a více gigabajtů RAM, nebude to problém.

Příprava prostředí

Jako virtuální stroj můžete použít lehký a jednoduchý program QEMU, který většinou není součástí bitové kopie pro obnovení, a proto musí být nainstalován samostatně. Obraz obnovy, který nabízíme klientům, je založen na Arch Linux, který používá správce balíčků pacman.

První věc, kterou musíte udělat, je ujistit se, že obraz pro obnovení používá nejnovější software. Všechny součásti operačního systému můžete zkontrolovat a aktualizovat pomocí následujícího příkazu:

pacman -Suy

Po aktualizaci je třeba nainstalovat QEMU. Instalační příkaz přes pacman bude vypadat takto:

pacman -S qemu

Zkontrolujeme, zda je qemu správně nainstalován:

root@sel-rescue ~ # qemu-system-x86_64 --version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

Pokud je vše v pořádku, obraz pro obnovení je připraven.

Spuštění virtuálního stroje

Nejprve se musíte rozhodnout o množství prostředků přidělených virtuálnímu počítači a zjistit cesty k fyzickým diskům. V našem případě virtuálnímu stroji přidělíme dvě jádra a dva gigabajty RAM a disky jsou umístěny podél cesty / dev / sda и / dev / sdb. Začněme VM:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio

Trochu podrobněji o tom, co každý z parametrů znamená:

  • -m 2048 mil — přidělit virtuálnímu počítači 2 GB paměti RAM;
  • -net nic -net uživatel — přidání jednoduchého připojení k síti přes hypervizor pomocí NAT (Network Address Translation);
  • -enable-kvm — povolit plnou virtualizaci KVM (kernel Virtual Machine);
  • -Cpu hostitel — řekneme virtuálnímu procesoru, aby získal všechny funkce procesoru serveru;
  • -M PC — typ PC zařízení;
  • -smp 2 — virtuální procesor musí být dvoujádrový;
  • -vga std — vyberte standardní grafickou kartu, která nepodporuje velká rozlišení obrazovky;
  • -drive file=/dev/sda,format=raw,index=0,media=disk
    • file=/dev/sdX — cesta k blokovému zařízení představujícímu disk serveru;
    • formát=raw — poznamenáváme, že v uvedeném souboru jsou všechna data v „raw“ podobě, tedy jako na disku;
    • index = 0 — číslo disku, musí se zvýšit o jednu pro každý následující disk;
    • médium=disk — virtuální stroj musí toto úložiště rozpoznat jako disk;
  • -vnc :0, heslo — spusťte VNC server ve výchozím nastavení na 0.0.0.0:5900, použijte heslo jako autorizaci;
  • - monitor stdio — komunikace mezi správcem a qemu bude probíhat prostřednictvím standardních vstupních/výstupních toků.

Pokud je vše v pořádku, spustí se QEMU monitor:

QEMU 4.0.0 monitor - type 'help' for more information
(qemu)

Uvedli jsme, že autorizace probíhá pomocí hesla, ale neuvedli jsme heslo samotné. To lze provést odesláním příkazu pro změnu hesla vnc do monitoru QEMU. Důležitá poznámka: Heslo nesmí mít více než osm znaků.

(qemu) change vnc password
Password: ******

Poté se můžeme připojit k libovolnému klientovi VNC, například Remmina, pomocí IP adresy našeho serveru s heslem, které jsme zadali.

IP-KVM přes QEMU

IP-KVM přes QEMU

Nyní nejen vidíme možné chyby ve fázi načítání, ale umíme se s nimi také vypořádat.

Po dokončení musíte virtuální počítač vypnout. To lze provést buď uvnitř operačního systému odesláním signálu k vypnutí, nebo zadáním příkazu system_powerdown v monitoru QEMU. Bude to ekvivalentní jednomu stisknutí tlačítka vypnutí: operační systém uvnitř virtuálního počítače se vypne hladce.

Instalace operačního systému

Virtuální počítač má plný přístup k diskům serveru, a proto jej lze použít k ruční instalaci operačního systému. Jediným omezením je velikost paměti RAM: obraz ISO nelze vždy umístit do paměti RAM. Přidělme čtyři gigabajty RAM pro uložení obrazu / mnt:

mount -t tmpfs -o size=4G tmpfs /mnt

Stáhneme si také instalační obraz operačního systému FreeBSD 12.0:

wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso

Nyní můžete spustit VM:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio
-cdrom /mnt/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
-boot d

Vlajka - bota d nainstaluje bootování z CD mechaniky. Připojíme se s klientem VNC a uvidíme bootloader FreeBSD.

IP-KVM přes QEMU

Vzhledem k tomu, že pro přístup k internetu bylo použito získání adresy přes DHCP, může být po konfiguraci nutné nabootovat do nově nainstalovaného systému a opravit nastavení sítě. V některých případech může být nutné nainstalovat ovladače síťového adaptéru, protože síťová karta nainstalovaná na serveru a síťová karta emulovaná ve virtuálním počítači se liší.

Závěr

Tento způsob organizace vzdáleného přístupu ke konzole serveru spotřebovává část zdrojů serveru, neklade však žádné zvláštní požadavky na hardware serveru, a proto může být implementován téměř za jakýchkoli podmínek. Použití tohoto řešení výrazně usnadňuje diagnostiku softwarových poruch a obnovení funkčnosti vzdáleného serveru.

Zdroj: www.habr.com

Přidat komentář