IP-KVM per QEMU

IP-KVM per QEMU

Operacinės sistemos įkrovos trikčių šalinimas serveriuose be KVM nėra lengva užduotis. Sukuriame sau KVM-over-IP naudodami atkūrimo vaizdą ir virtualią mašiną.

Jei kyla problemų dėl operacinės sistemos nuotoliniame serveryje, administratorius atsisiunčia atkūrimo vaizdą ir atlieka reikiamus darbus. Šis metodas puikiai veikia, kai žinoma gedimo priežastis, o atkūrimo vaizdas ir serveryje įdiegta operacinė sistema yra iš tos pačios šeimos. Jei gedimo priežastis dar nežinoma, turite stebėti operacinės sistemos įkėlimo eigą.

Nuotolinis KVM

Serverio konsolę galite pasiekti naudodami integruotus įrankius, tokius kaip IPMI arba Intel® vPro™, arba išorinius įrenginius, vadinamus IP-KVM. Yra situacijų, kai visos išvardytos technologijos nėra prieinamos. Tačiau tai dar ne pabaiga. Jei serverį galima nuotoliniu būdu perkrauti į atkūrimo vaizdą, pagrįstą Linux operacine sistema, KVM-over-IP galima greitai organizuoti.

Atkūrimo vaizdas yra visavertė operacinė sistema, esanti RAM. Taigi galime paleisti bet kokią programinę įrangą, įskaitant virtualias mašinas (VM). Tai yra, galite paleisti VM, kurioje veiks serverio operacinė sistema. Prieiga prie VM konsolės gali būti organizuojama, pavyzdžiui, per VNC.

Norėdami paleisti serverio operacinę sistemą VM viduje, turite nurodyti serverio diskus kaip VM diskus. „Linux“ šeimos operacinėse sistemose fizinius diskus vaizduoja formos blokiniai įrenginiai / dev / sdX, su kuriais galima dirbti kaip su įprastais failais.

Kai kurie hipervizoriai, tokie kaip QEMU ir VirtualBox, leidžia saugoti VM duomenis „neapdorotu“ pavidalu, ty tik saugojimo duomenis be hipervizoriaus metaduomenų. Taigi, VM galima paleisti naudojant fizinius serverio diskus.

Šis metodas reikalauja išteklių, kad būtų paleistas atkūrimo vaizdas ir jame esanti VM. Tačiau jei turite keturis ar daugiau gigabaitų RAM, tai nebus problema.

Aplinkos paruošimas

Lengvą ir paprastą programą galite naudoti kaip virtualią mašiną QEMU, kuris dažniausiai nėra atkūrimo vaizdo dalis, todėl turi būti įdiegtas atskirai. Remiamasi atkūrimo įvaizdžiu, kurį siūlome klientams Arch Linux, kuri naudoja paketų tvarkyklę Pacman.

Pirmas dalykas, kurį turite padaryti, yra įsitikinti, kad atkūrimo vaizdas naudoja naujausią programinę įrangą. Galite patikrinti ir atnaujinti visus OS komponentus naudodami šią komandą:

pacman -Suy

Po atnaujinimo turite įdiegti QEMU. Diegimo komanda per pacman atrodys taip:

pacman -S qemu

Patikrinkime, ar qemu įdiegtas teisingai:

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

Jei viskas taip, tada atkūrimo vaizdas yra paruoštas naudoti.

Virtualios mašinos paleidimas

Pirmiausia turite nuspręsti, kiek išteklių bus skirta VM, ir išsiaiškinti kelius į fizinius diskus. Mūsų atveju virtualiai mašinai skirsime du branduolius ir du gigabaitus RAM, o diskai yra pakeliui / dev / sda и / dev / sdb. Pradėkime 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

Šiek tiek daugiau apie tai, ką reiškia kiekvienas iš parametrų:

  • -m 2048M — VM skirti 2 GB RAM;
  • -net nic -neto vartotojas — paprasto prisijungimo prie tinklo pridėjimas per hipervizorių naudojant NAT (tinklo adresų vertimą);
  • -įgalinti-kvm — įgalinti pilną KVM (branduolių virtualiosios mašinos) virtualizavimą;
  • -procesoriaus priegloba — nurodome virtualiam procesoriui gauti visas serverio procesoriaus funkcijas;
  • -M kompiuteris — PC įrangos tipas;
  • -smp 2 — virtualus procesorius turi būti dviejų branduolių;
  • -vga std — pasirinkti standartinę vaizdo plokštę, kuri nepalaiko didelės ekrano raiškos;
  • -disko failas=/dev/sda,format=raw,index=0,media=disk
    • file=/dev/sdX — kelias į blokinį įrenginį, vaizduojantį serverio diską;
    • formatas=neapdorotas - pažymime, kad nurodytame faile visi duomenys yra „neapdoroti“, tai yra, kaip diske;
    • rodyklė = 0 — disko numeris, turi padidėti po vieną kiekvienam paskesniam diskui;
    • laikmena = diskas — virtualioji mašina turi atpažinti šią saugyklą kaip diską;
  • -vnc :0, slaptažodis — pagal numatytuosius nustatymus paleiskite VNC serverį 0.0.0.0:5900, naudokite slaptažodį kaip autorizaciją;
  • - monitoriaus stdio — ryšys tarp administratoriaus ir qemu vyks standartiniais įvesties/išvesties srautais.

Jei viskas tvarkoje, įsijungs QEMU monitorius:

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

Nurodėme, kad autorizacija vykdoma naudojant slaptažodį, tačiau paties slaptažodžio nenurodėme. Tai galima padaryti siunčiant komandą keisti vnc slaptažodį į QEMU monitorių. Svarbi pastaba: slaptažodis negali būti ilgesnis nei aštuoni simboliai.

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

Po to galime prisijungti prie bet kurio VNC kliento, pavyzdžiui, Remmina, naudodami savo serverio IP adresą su mūsų nurodytu slaptažodžiu.

IP-KVM per QEMU

IP-KVM per QEMU

Dabar mes ne tik matome galimas klaidas krovimo etape, bet ir galime jas spręsti.

Kai baigsite, turite išjungti virtualią mašiną. Tai galima padaryti OS viduje siunčiant signalą į išjungimą arba duodant komandą system_powerdown QEMU monitoriuje. Tai prilygs išjungimo mygtuko paspaudimui vieną kartą: virtualioje mašinoje esanti operacinė sistema išsijungs sklandžiai.

Operacinės sistemos diegimas

Virtuali mašina turi pilną prieigą prie serverio diskų, todėl gali būti naudojama operacinei sistemai įdiegti rankiniu būdu. Vienintelis apribojimas yra RAM kiekis: ISO vaizdas ne visada gali būti įdėtas į RAM. Paskirkime keturis gigabaitus RAM vaizdui saugoti / mnt:

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

Taip pat atsisiųsime FreeBSD 12.0 operacinės sistemos diegimo atvaizdą:

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

Dabar galite paleisti 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

Vėliava - bagažinė d įdiegia paleidimą iš CD įrenginio. Susisiekiame su VNC klientu ir matome FreeBSD įkrovos tvarkyklę.

IP-KVM per QEMU

Kadangi adreso gavimas per DHCP buvo naudojamas norint pasiekti internetą, po konfigūracijos gali tekti paleisti naujai įdiegtą sistemą ir pataisyti tinklo nustatymus. Kai kuriais atvejais gali prireikti įdiegti tinklo adapterio tvarkykles, nes serveryje įdiegta ir VM emuliuota tinklo plokštė skiriasi.

išvada

Šis nuotolinės prieigos prie serverio konsolės organizavimo būdas sunaudoja dalį serverio resursų, tačiau jis nekelia jokių specialių reikalavimų serverio aparatūrai, todėl gali būti įgyvendinamas beveik bet kokiomis sąlygomis. Naudojant šį sprendimą daug lengviau diagnozuoti programinės įrangos gedimus ir atkurti nuotolinio serverio funkcionalumą.

Šaltinis: www.habr.com

Добавить комментарий