IP-KVM preko QEMU

IP-KVM preko QEMU

Rješavanje problema s pokretanjem operativnog sustava na poslužiteljima bez KVM-a nije lak zadatak. Kreiramo KVM-over-IP za sebe putem slike za oporavak i virtualnog stroja.

U slučaju problema s operativnim sustavom na udaljenom poslužitelju, administrator preuzima sliku za oporavak i obavlja potrebne radove. Ova metoda radi odlično kada je uzrok greške poznat, a slika za oporavak i operativni sustav instaliran na poslužitelju su iz iste obitelji. Ako uzrok kvara još nije poznat, morate pratiti napredak učitavanja operativnog sustava.

Daljinski KVM

Konzoli poslužitelja možete pristupiti pomoću ugrađenih alata kao što su IPMI ili Intel® vPro™ ili putem vanjskih uređaja zvanih IP-KVM. Postoje situacije u kojima sve navedene tehnologije nisu dostupne. Međutim, tu nije kraj. Ako se poslužitelj može daljinski ponovno pokrenuti u sliku za oporavak temeljenu na operativnom sustavu Linux, tada se KVM-over-IP može brzo organizirati.

Slika za oporavak je punopravni operativni sustav koji se nalazi u RAM-u. Dakle, možemo pokretati bilo koji softver, uključujući virtualne strojeve (VM). Odnosno, možete pokrenuti VM unutar kojeg će se pokrenuti operativni sustav poslužitelja. Pristup VM konzoli može se organizirati, na primjer, putem VNC-a.

Da biste pokrenuli operacijski sustav poslužitelja unutar VM-a, morate navesti diskove poslužitelja kao VM diskove. U operativnim sustavima obitelji Linux, fizički diskovi su predstavljeni blok uređajima oblika / dev / sdX, s kojima se može raditi kao s običnim datotekama.

Neki hipervizori, kao što su QEMU i VirtualBox, omogućuju pohranjivanje VM podataka u "sirovom" obliku, to jest samo pohranjivanje podataka bez metapodataka hipervizora. Stoga se VM može pokrenuti pomoću fizičkih diskova poslužitelja.

Ova metoda zahtijeva resurse za pokretanje slike za oporavak i VM-a unutar nje. No, ako imate četiri ili više gigabajta RAM-a, to neće biti problem.

Priprema okoliša

Lagan i jednostavan program možete koristiti kao virtualni stroj QEMU, koji najčešće nije dio slike za oporavak i stoga se mora zasebno instalirati. Slika za oporavak koju nudimo klijentima temelji se na Arch Linux, koji koristi upravitelj paketa Pacman.

Prvo što trebate učiniti je provjeriti koristi li slika za oporavak najnoviji softver. Možete provjeriti i ažurirati sve OS komponente sljedećom naredbom:

pacman -Suy

Nakon ažuriranja morate instalirati QEMU. Naredba za instalaciju putem pacmana izgledat će ovako:

pacman -S qemu

Provjerimo je li qemu ispravno instaliran:

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

Ako je sve tako, tada je slika za oporavak spremna za rad.

Pokretanje virtualnog stroja

Prvo morate odlučiti o količini resursa dodijeljenih VM-u i saznati putove do fizičkih diskova. U našem slučaju virtualnom stroju ćemo dodijeliti dvije jezgre i dva gigabajta RAM-a, a diskovi se nalaze usput / dev / sda и / dev / sdb. Pokrenimo 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 detaljnije o značenju svakog od parametara:

  • -m 2048M — dodijelite 2 GB RAM-a VM-u;
  • -net nic -net korisnik — dodavanje jednostavne veze s mrežom preko hipervizora pomoću NAT-a (eng. Network Address Translation);
  • -omogući-kvm — omogućiti potpunu virtualizaciju KVM (Kernel Virtual Machine);
  • -cpu host — kažemo virtualnom procesoru da dobije sve funkcionalnosti poslužiteljskog procesora;
  • -M PC — vrsta računalne opreme;
  • -smp 2 — virtualni procesor mora biti dvojezgreni;
  • -vga std — odaberite standardnu ​​video karticu koja ne podržava velike razlučivosti zaslona;
  • -drive file=/dev/sda,format=raw,index=0,media=disk
    • datoteka=/dev/sdX — put do blok uređaja koji predstavlja disk poslužitelja;
    • format=raw — napominjemo da su u navedenoj datoteci svi podaci u “sirovom” obliku, odnosno kao na disku;
    • Indeks = 0 — broj diska, mora se povećati za jedan za svaki sljedeći disk;
    • medij=disk — virtualni stroj mora prepoznati ovu pohranu kao disk;
  • -vnc :0, lozinka — pokrenite VNC poslužitelj prema zadanim postavkama na 0.0.0.0:5900, koristite lozinku kao autorizaciju;
  • - monitor stdio — komunikacija između administratora i qemu-a odvijat će se kroz standardne ulazno/izlazne tokove.

Ako je sve u redu, pokrenut će se QEMU monitor:

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

Naveli smo da se autorizacija odvija pomoću lozinke, ali nismo naveli samu lozinku. To se može učiniti slanjem naredbe change vnc password na QEMU monitor. Važna napomena: Lozinka ne može imati više od osam znakova.

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

Nakon toga, možemo se povezati s bilo kojim VNC klijentom, na primjer, Remmina, koristeći IP adresu našeg poslužitelja s lozinkom koju smo naveli.

IP-KVM preko QEMU

IP-KVM preko QEMU

Sada ne samo da vidimo moguće pogreške u fazi učitavanja, već ih možemo i riješiti.

Kada završite, morate isključiti virtualni stroj. To se može učiniti unutar OS-a slanjem signala za gašenje ili davanjem naredbe isključivanje_sustava u QEMU monitoru. To će biti isto kao da jednom pritisnete gumb za isključivanje: operativni sustav unutar virtualnog stroja glatko će se ugasiti.

Instalacija operativnog sustava

Virtualni stroj ima puni pristup diskovima poslužitelja i stoga se može koristiti za ručnu instalaciju operativnog sustava. Jedino ograničenje je količina RAM-a: ISO slika se ne može uvijek smjestiti u RAM. Dodijelimo četiri gigabajta RAM-a za pohranu slike / mnt:

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

Također ćemo preuzeti instalacijsku sliku FreeBSD 12.0 operativnog sustava:

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

Sada možete pokrenuti 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 -čizma d instalira dizanje s CD pogona. Povezujemo se s VNC klijentom i vidimo FreeBSD bootloader.

IP-KVM preko QEMU

Budući da je za pristup internetu korišteno dobivanje adrese putem DHCP-a, nakon konfiguracije može biti potrebno dignuti novoinstalirani sustav i ispraviti mrežne postavke. U nekim će slučajevima možda biti potrebno instalirati upravljačke programe mrežnog adaptera jer se mrežna kartica instalirana na poslužitelju i ona emulirana u VM-u razlikuju.

Zaključak

Ova metoda organiziranja udaljenog pristupa konzoli poslužitelja troši dio resursa poslužitelja, međutim, ne nameće nikakve posebne zahtjeve hardveru poslužitelja, pa se stoga može implementirati u gotovo svim uvjetima. Korištenje ovog rješenja znatno olakšava dijagnosticiranje softverskih grešaka i vraćanje funkcionalnosti udaljenog poslužitelja.

Izvor: www.habr.com

Dodajte komentar