IP-KVM prek QEMU

IP-KVM prek QEMU

Odpravljanje težav z zagonom operacijskega sistema na strežnikih brez KVM ni lahka naloga. Zase ustvarimo KVM-over-IP prek obnovitvene slike in virtualnega stroja.

V primeru težav z operacijskim sistemom na oddaljenem strežniku, skrbnik prenese sliko za obnovitev in opravi potrebno delo. Ta metoda deluje odlično, če je vzrok okvare znan in sta obnovitvena slika in operacijski sistem, nameščen na strežniku, iz iste družine. Če vzrok napake še ni znan, morate spremljati potek nalaganja operacijskega sistema.

Oddaljeni KVM

Do strežniške konzole lahko dostopate z vgrajenimi orodji, kot sta IPMI ali Intel® vPro™, ali prek zunanjih naprav, imenovanih IP-KVM. Obstajajo situacije, ko vse naštete tehnologije niso na voljo. Vendar to še ni konec. Če je mogoče strežnik na daljavo znova zagnati v sliko za obnovitev, ki temelji na operacijskem sistemu Linux, je mogoče hitro organizirati KVM-over-IP.

Slika za obnovitev je popoln operacijski sistem, ki se nahaja v RAM-u. Tako lahko izvajamo katero koli programsko opremo, tudi virtualne stroje (VM). To pomeni, da lahko zaženete VM, znotraj katerega bo deloval operacijski sistem strežnika. Dostop do konzole VM je mogoče organizirati na primer prek VNC.

Če želite zagnati strežniški operacijski sistem znotraj VM, morate strežniške diske določiti kot diske VM. V operacijskih sistemih družine Linux so fizični diski predstavljeni z blokovnimi napravami oblike / dev / sdX, s katerimi lahko delate kot z običajnimi datotekami.

Nekateri hipervizorji, kot sta QEMU in VirtualBox, vam omogočajo shranjevanje podatkov VM v "surovi" obliki, to je samo shranjevanje podatkov brez metapodatkov hipervizorja. Tako je VM mogoče zagnati s fizičnimi diski strežnika.

Ta metoda zahteva sredstva za zagon obnovitvene slike in VM v njej. Če pa imate štiri ali več gigabajtov RAM-a, to ne bo problem.

Priprava okolja

Lahek in preprost program lahko uporabite kot virtualni stroj QEMU, ki najpogosteje ni del obnovitvene slike in ga je zato treba namestiti ločeno. Slika za obnovitev, ki jo ponujamo strankam, temelji na Arch Linux, ki uporablja upravitelja paketov Pacman.

Prva stvar, ki jo morate storiti, je zagotoviti, da obnovitvena slika uporablja najnovejšo programsko opremo. Vse komponente OS lahko preverite in posodobite z naslednjim ukazom:

pacman -Suy

Po posodobitvi morate namestiti QEMU. Ukaz za namestitev prek pacmana bo videti takole:

pacman -S qemu

Preverimo, ali je qemu pravilno nameščen:

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

Če je vse tako, je obnovitvena slika pripravljena za uporabo.

Zagon virtualnega stroja

Najprej se morate odločiti za količino virov, dodeljenih VM, in ugotoviti poti do fizičnih diskov. V našem primeru bomo virtualnemu stroju dodelili dve jedri in dva gigabajta RAM-a, diski pa se nahajajo ob poti / Dev / sda и / dev / sdb. Zaženimo 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

Malo več podrobnosti o tem, kaj pomeni vsak parameter:

  • -m 2048M — VM dodelite 2 GB RAM-a;
  • -net nic -net uporabnik — dodajanje preproste povezave z omrežjem prek hipervizorja z uporabo NAT (Network Address Translation);
  • -enable-kvm — omogoči popolno virtualizacijo KVM (Kernel Virtual Machine);
  • - gostitelj procesorja — navideznemu procesorju rečemo, naj dobi vse funkcionalnosti strežniškega procesorja;
  • -M PC — vrsta računalniške opreme;
  • -smp 2 — virtualni procesor mora biti dvojedrni;
  • -vga std — izberite standardno video kartico, ki ne podpira velikih ločljivosti zaslona;
  • -drive file=/dev/sda,format=raw,index=0,media=disk
    • datoteka=/dev/sdX — pot do blokovne naprave, ki predstavlja disk strežnika;
    • format=raw — ugotavljamo, da so v navedeni datoteki vsi podatki v »surovi« obliki, to je kot na disku;
    • indeks = 0 — številka diska, za vsako naslednjo ploščo se mora povečati za eno;
    • medij=disk — virtualni stroj mora prepoznati to shrambo kot disk;
  • -vnc :0, geslo — privzeto zaženite strežnik VNC pri 0.0.0.0:5900, uporabite geslo kot avtorizacijo;
  • - monitor stdio — komunikacija med skrbnikom in qemu bo potekala prek standardnih vhodno/izhodnih tokov.

Če je vse v redu, se bo monitor QEMU zagnal:

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

Navedli smo, da avtorizacija poteka z uporabo gesla, nismo pa navedli samega gesla. To lahko storite tako, da nadzorniku QEMU pošljete ukaz za spremembo gesla vnc. Pomembna opomba: Geslo ne sme biti daljše od osem znakov.

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

Po tem se lahko povežemo s katerim koli odjemalcem VNC, na primer Remmina, z uporabo naslova IP našega strežnika z geslom, ki smo ga določili.

IP-KVM prek QEMU

IP-KVM prek QEMU

Zdaj ne vidimo samo morebitnih napak v fazi nalaganja, ampak jih lahko tudi obravnavamo.

Ko končate, morate zaustaviti virtualni stroj. To je mogoče storiti znotraj operacijskega sistema s pošiljanjem signala za zaustavitev ali z dajanjem ukaza sistem_izklop v monitorju QEMU. To bo enakovredno enkratnemu pritisku gumba za zaustavitev: operacijski sistem v virtualnem stroju se bo gladko zaustavil.

Namestitev operacijskega sistema

Virtualni stroj ima poln dostop do diskov strežnika in ga je zato mogoče uporabiti za ročno namestitev operacijskega sistema. Edina omejitev je količina RAM-a: slike ISO ni mogoče vedno postaviti v RAM. Dodelimo štiri gigabajte RAM-a za shranjevanje slike / mnt:

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

Prenesli bomo tudi namestitveno sliko operacijskega sistema 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

Zdaj lahko zaženete 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

Zastava -škorenj d namesti zagon s pogona CD. Povezujemo se z odjemalcem VNC in vidimo zagonski nalagalnik FreeBSD.

IP-KVM prek QEMU

Ker je bilo za dostop do interneta uporabljeno pridobivanje naslova prek DHCP, bo po konfiguraciji morda treba zagnati novo nameščen sistem in popraviti omrežne nastavitve. V nekaterih primerih bo morda treba namestiti gonilnike omrežne kartice, ker se omrežna kartica, nameščena v strežniku, in tista, ki je emulirana v VM, razlikujeta.

Zaključek

Ta način organiziranja oddaljenega dostopa do strežniške konzole porabi nekaj strežniških virov, vendar ne nalaga nobenih posebnih zahtev za strojno opremo strežnika, zato ga je mogoče izvajati v skoraj vseh pogojih. Z uporabo te rešitve je veliko lažje diagnosticirati napake programske opreme in obnoviti funkcionalnost oddaljenega strežnika.

Vir: www.habr.com

Dodaj komentar