
A rendszerindítás problémáinak elhárítása KVM nélküli szervereken nem egyszerű feladat. Hozzunk létre KVM-over-IP-t visszaállító képen és virtuális gépen keresztül.
Ha problémák merülnek fel az operációs rendszerrel , a rendszeradminisztrátor betölti a helyreállító képet és elvégzi a szükséges munkálatokat. Ez a módszer remekül működik, ha a hiba oka ismert, és a helyreállító kép valamint a szerveren telepített operációs rendszer ugyanazon családhoz tartozik. Ha a hiba oka még nem ismert, figyelemmel kell kísérni az operációs rendszer betöltésének folyamatát.
Távoli KVM
A szerver konzoljához való hozzáférés beépített eszközök, mint az IPMI vagy az Intel® vPro™ segítségével, illetve külső eszközök, amelyeket IP-KVM-nek neveznek, lehetséges. Vannak helyzetek, amikor a fent említett technológiák közül egyik sem elérhető. Mégis, ez nem a vég. Ha a szerver távolról újraindítható egy Linux-alapú helyreállító képre, akkor gyorsan megszervezhetjük a KVM-over-IP-t.
A helyreállító kép egy teljes értékű operációs rendszer, amely a RAM-ban található. Így bármilyen szoftvert futtathatunk, beleértve a virtuális gépeket (VM). Tehát elindíthatunk egy VM-et, amelyben a szerver operációs rendszere működik. A VM konzolhoz való hozzáférés például VNC-n keresztül is megszervezhető.
A szerver operációs rendszerének VM-en belüli futtatásához a szerver lemezeit kell VM lemezként megadni. A Linux-alapú operációs rendszerekben a fizikai lemezek blokk-eszközökként jelennek meg, /dev/sdX, amelyekkel úgy lehet dolgozni, mint a szokásos fájlokkal.
Bizonyos hipervizorok, mint a QEMU és a VirtualBox lehetővé teszik a VM adatainak „nyers” formában történő tárolását, azaz csak a tárolási adatokat, anélkül, hogy a hipervizor metainformációit tartalmazná. Így a VM-et a szerver fizikai lemezeivel is el lehet indítani.
Ez a megoldás erőforrásokat igényel a helyreállító kép és a VM elindításához. Azonban, ha legalább négy gigabájt RAM áll rendelkezésre, ez nem lesz probléma.
Környezet előkészítése
Virtuális gépként egy könnyű és egyszerű programot lehet használni , amely általában nem része a helyreállító képnek, ezért külön kell telepíteni. Az általunk ügyfeleknek kínált helyreállító kép alapja a , amely a csomagkezelőt pacman.
Először is, győződjünk meg róla, hogy a helyreállító kép a legújabb szoftververziókat használja. Az operációs rendszer összes komponensének ellenőrzésére és frissítésére az alábbi parancsot használhatjuk:
pacman -Suy
A frissítés után telepítenünk kell a QEMU-t. A pacman által végzett telepítés parancsa így fog kinézni:
pacman -S qemu
Ellenőrizzük, hogy a qemu helyesen települt-e:
root@sel-rescue ~ # qemu-system-x86_64 --verzió
QEMU emulátor verzió 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard és a QEMU Projekt fejlesztői
Ha minden rendben van, a helyreállító kép készen áll a munkára.
Virtuális gép indítása
Először meg kell határoznunk a virtuális gép számára kiosztott erőforrások számát, és meg kell ismernünk a fizikai lemezek elérési útját. A mi esetünkben két magot és két gigabájt RAM-ot fogunk kiosztani a virtuális gépnek, az elképzelés szerint a lemezek a következő úton találhatók: /dev/sda és /dev/sdb. Indítsuk el a virtuális gépet:
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
Néhány részletes információ arról, hogy mit jelentenek az egyes paraméterek:
- -m 2048M — 2 GB RAM-ot osztunk ki a virtuális gépnek;
- -net nic -net user — egyszerű hálózati csatlakozást adunk a hypervisoron keresztül NAT (Hálózati Címfordítás) használatával;
- -enable-kvm — aktiváljuk a teljes virtualizációt KVM (Kernel Virtual Machine) használatával;
- -cpu host — megmondjuk a virtuális processzornak, hogy kapja meg a szerver processzorának teljes funkcionalitását;
- -M pc — PC hardver típust állítunk be;
- -smp 2 — a virtuális processzornak kétszeres magosnak kell lennie;
- -vga std — választunk egy alap videokártyát, ami nem támogat nagy képernyőfelbontásokat;
- -drive file=/dev/sda,format=raw,index=0,media=disk
- file=\/dev\/sdX — az útvonal a blokkeszközhöz, amely a szerver lemezét képviseli;
- format=raw — jelezzük, hogy a megadott fájlban az összes adat „nyers” formában található, vagyis úgy, mint a lemezen;
- index=0 — a lemez száma, amelynek minden következő lemeznél eggyel növekednie kell;
- media=disk — a virtuális gépnek ezt a tárolót lemeznek kell felismernie;
- -vnc :0, password — alapértelmezett VNC szerver indítása a 0.0.0.0:5900 címen, az azonosításhoz jelszót használva;
- -monitor stdio — a qemu-val való kommunikáció a standard bemeneti-kimeneti áramlásokon keresztül fog történni.
Ha minden rendben van, elindul a QEMU monitor:
QEMU 4.0.0 monitor - írja be a 'help' parancsot a további információkhoz
(qemu)
Megadtuk, hogy a hitelesítés jelszóval történik, de magát a jelszót nem adtuk meg. Ezt a QEMU monitorban a change vnc password paranccsal tehetjük meg. Fontos megjegyzés: a jelszó nem lehet hosszabb nyolc karakteres.
(qemu) vnc jelszó módosítása
Jelszó: ******
Ezután bármely VNC klienssel, például a Remmina-val csatlakozhatunk a szerver IP-címére a megadott jelszóval.


Most nemcsak a betöltési fázisban felmerülő hibákat láthatjuk, hanem kezelni is tudjuk azokat.
A munka befejezése után le kell állítani a virtuális gépet. Ezt megteheti az operációs rendszer belsejében, jelezve a kikapcsolást, vagy kiadva a parancsot system_powerdown a QEMU monitorában. Ez egyenértékű a kikapcsoló gomb egyszeri megnyomásával: a virtuális gép belsejében az operációs rendszer simán leáll.
Operációs rendszer telepítése
A virtuális gép teljes hozzáféréssel rendelkezik a szerver lemezeihez, így kézi úton is telepíthet operációs rendszert. Az egyetlen korlátozás a memóriamennyiség: nem minden ISO-kép fér el a RAM-ban. Foglaljunk el négy gigabájtot a képként való tárolásra /mnt:
mount -t tmpfs -o size=4G tmpfs /mnt
Most letöltjük a FreeBSD 12.0 telepítő képet:
wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
Most már indíthatjuk a VM-et:
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
Zászló -boot d beállítja a CD-meghajtóról való boot-olást. VNC klienssel csatlakozunk és látjuk a FreeBSD betöltőt.

Mivel az internet-hozzáféréshez DHCP-t használtunk, előfordulhat, hogy a beállítás után el kell indítanunk az éppen telepített rendszert és javítanunk kell a hálózati beállításokat. Néhány esetben szükség lehet a hálózati adapter meghajtóinak telepítésére, mivel a szerveren telepített és a VM-ben emulált hálózati kártya eltérhet.
Zárás
Ez a távoli konzolhoz való hozzáférés módja a szerver erőforrásainak egy részét igényli, azonban nem támaszt különösebb követelményeket a szerver hardveréhez, így szinte bármilyen körülmények között megvalósítható. Az ilyen megoldás használata jelentősen megkönnyíti a szoftveres hibák diagnosztizálását és a távoli szerver működésének helyreállítását.
Forrás: habr.com
