IP-KVM QEMU-n keresztül

IP-KVM QEMU-n keresztül

Az operációs rendszer rendszerindítási problémáinak elhárítása a KVM nélküli szervereken nem könnyű feladat. Létrehozunk magunknak egy KVM-over-IP-t egy helyreállítási lemezkép és egy virtuális gép segítségével.

Az operációs rendszerrel kapcsolatos problémák esetén távoli szerveren, a rendszergazda letölti a helyreállítási lemezképet, és elvégzi a szükséges munkát. Ez a módszer kiválóan működik, ha a hiba oka ismert, és a helyreállítási lemezkép és a kiszolgálóra telepített operációs rendszer ugyanabból a családból származik. Ha a hiba oka még nem ismert, akkor figyelnie kell az operációs rendszer betöltésének folyamatát.

Távoli KVM

A szerverkonzolt beépített eszközökkel, például IPMI-vel vagy Intel® vPro™-val, vagy IP-KVM nevű külső eszközökkel érheti el. Vannak helyzetek, amikor a felsorolt ​​technológiák mindegyike nem elérhető. Ez azonban még nem a vége. Ha a szerver távolról újraindítható egy Linux operációs rendszeren alapuló helyreállítási képfájlba, akkor a KVM-over-IP gyorsan megszervezhető.

A helyreállítási 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-eket). Vagyis elindíthat egy virtuális gépet, amelyen belül futni fog a kiszolgáló operációs rendszere. A virtuálisgép-konzolhoz való hozzáférés megszervezhető például VNC-n keresztül.

A kiszolgáló operációs rendszerének virtuális gépen belüli futtatásához meg kell adnia a kiszolgáló lemezeit virtuális gép lemezként. A Linux család operációs rendszereiben a fizikai lemezeket a következő típusú blokkeszközök képviselik / Dev / sdX, amivel a szokásos fájlokhoz hasonlóan lehet dolgozni.

Egyes hipervizorok, például a QEMU és a VirtualBox lehetővé teszik a virtuálisgép-adatok „nyers” formában történő tárolását, azaz csak a hypervisor metaadatai nélküli tárolási adatokat. Így a virtuális gép elindítható a kiszolgáló fizikai lemezeiről.

Ez a módszer erőforrásokat igényel a helyreállítási lemezkép és a benne lévő virtuális gép elindításához. Ha azonban négy vagy több gigabájt RAM-mal rendelkezik, ez nem jelent problémát.

A környezet előkészítése

Könnyű és egyszerű programot használhat virtuális gépként QEMU, amely legtöbbször nem része a helyreállítási lemezképnek, ezért külön kell telepíteni. Az ügyfeleknek kínált helyreállítási kép alapja Arch Linux, amely csomagkezelőt használ pacman.

Az első dolog, amit meg kell tennie, hogy megbizonyosodjon arról, hogy a helyreállítási lemezkép a legújabb szoftvert használja. A következő paranccsal ellenőrizheti és frissítheti az operációs rendszer összes összetevőjét:

pacman -Suy

A frissítés után telepítenie kell a QEMU-t. A pacman-en keresztüli telepítési parancs így fog kinézni:

pacman -S qemu

Ellenőrizzük, hogy a qemu megfelelően van-e telepítve:

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

Ha minden így van, akkor a helyreállítási kép készen áll a használatra.

Virtuális gép indítása

Először is el kell döntenie a virtuális géphez lefoglalt erőforrások mennyiségét, és meg kell találnia a fizikai lemezekhez vezető útvonalakat. Esetünkben két magot és két gigabájt RAM-ot osztunk ki a virtuális gépnek, és a lemezek az út mentén helyezkednek el. / dev / sda и / 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

Egy kicsit részletesebben az egyes paraméterek jelentéséről:

  • -m 2048M — 2 GB RAM-ot rendeljen a virtuális géphez;
  • -net nic -net user — egyszerű kapcsolat hozzáadása a hálózathoz egy hipervizoron keresztül NAT (Network Address Translation) segítségével;
  • -enable-kvm — a teljes KVM (Kernel Virtual Machine) virtualizáció engedélyezése;
  • -cpu host — utasítjuk a virtuális processzort, hogy kapja meg a szerverprocesszor összes funkcióját;
  • -M PC — a PC-berendezés típusa;
  • -smp 2 — a virtuális processzornak kétmagosnak kell lennie;
  • -vga std — válasszon olyan szabványos videokártyát, amely nem támogatja a nagy képernyőfelbontást;
  • -drive file=/dev/sda,format=raw,index=0,media=lemez
    • file=/dev/sdX — a szerverlemezt képviselő blokkeszköz elérési útja;
    • format=raw — megjegyezzük, hogy a megadott fájlban minden adat „nyers” formában van, azaz olyan, mint egy lemezen;
    • index = 0 — a lemez száma, minden következő lemeznél eggyel nőnie kell;
    • média=lemez — a virtuális gépnek ezt a tárolót lemezként kell felismernie;
  • -vnc :0, jelszó — indítsa el a VNC-kiszolgálót alapértelmezés szerint 0.0.0.0:5900-nál, használjon jelszót jogosultságként;
  • -monitor stdio — a rendszergazda és a qemu közötti kommunikáció szabványos bemeneti/kimeneti adatfolyamokon keresztül történik.

Ha minden rendben van, a QEMU monitor elindul:

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

Jeleztük, hogy az engedélyezés jelszó használatával történik, de magát a jelszót nem jeleztük. Ezt úgy teheti meg, hogy elküldi a change vnc password parancsot a QEMU monitornak. Fontos megjegyzés: A jelszó nem lehet hosszabb nyolc karakternél.

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

Ezt követően bármely VNC klienshez, például Remminához kapcsolódhatunk szerverünk IP-címével, az általunk megadott jelszóval.

IP-KVM QEMU-n keresztül

IP-KVM QEMU-n keresztül

Most már nem csak a betöltési szakaszban látjuk a lehetséges hibákat, hanem kezelni is tudjuk őket.

Ha végzett, le kell állítania a virtuális gépet. Ez megtehető az operációs rendszeren belül úgy, hogy jelet küld a leállításhoz, vagy a parancs kiadásával system_powerdown a QEMU monitorban. Ez a leállítás gomb egyszeri megnyomásának felel meg: a virtuális gépen belüli operációs rendszer zökkenőmentesen leáll.

Operációs rendszer telepítése

A virtuális gép teljes hozzáféréssel rendelkezik a kiszolgáló lemezeihez, ezért az operációs rendszer manuális telepítésére használható. Az egyetlen korlátozás a RAM mennyisége: az ISO kép nem mindig helyezhető el a RAM-ban. Rendeljünk négy gigabájt RAM-ot a kép tárolására / mnt:

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

Letöltjük a FreeBSD 12.0 operációs rendszer telepítési képét is:

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

Most elindíthatja 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
-cdrom /mnt/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
-boot d

zászló -boot d telepíti a CD-meghajtóról történő rendszerindítást. Csatlakozunk egy VNC klienshez, és látjuk a FreeBSD rendszerbetöltőt.

IP-KVM QEMU-n keresztül

Mivel a DHCP-n keresztüli címszerzést használták az internet eléréséhez, a konfiguráció után szükség lehet az újonnan telepített rendszer indítására és a hálózati beállítások javítására. Bizonyos esetekben szükség lehet hálózati adapter-illesztőprogramok telepítésére, mivel a kiszolgálóra telepített hálózati kártya és a virtuális gépben emulált hálózati kártya különbözik.

Következtetés

A szerverkonzol távoli elérésének megszervezésének ez a módja a szerver erőforrások egy részét felemészti, azonban nem támaszt különleges követelményeket a szerver hardverével szemben, ezért szinte bármilyen körülmények között megvalósítható. Ennek a megoldásnak a használata sokkal könnyebbé teszi a szoftverhibák diagnosztizálását és a távoli kiszolgáló működésének visszaállítását.

Forrás: will.com

Hozzászólás