IP-KVM preko QEMU

IP-KVM preko QEMU

Rešavanje problema sa pokretanjem operativnog sistema na serverima bez KVM-a nije lak zadatak. Mi kreiramo KVM-over-IP za sebe putem slike za oporavak i virtuelne mašine.

U slučaju problema sa operativnim sistemom na udaljenom serveru, administrator preuzima sliku za oporavak i obavlja potrebne radove. Ova metoda odlično funkcioniše kada je poznat uzrok kvara, a slika za oporavak i operativni sistem instaliran na serveru su iz iste porodice. Ako uzrok kvara još nije poznat, morate pratiti napredak učitavanja operativnog sistema.

Remote KVM

Konzoli servera možete pristupiti pomoću ugrađenih alata kao što su IPMI ili Intel® vPro™, ili putem eksternih uređaja koji se nazivaju IP-KVM. Postoje situacije u kojima sve navedene tehnologije nisu dostupne. Međutim, ovo nije kraj. Ako se server može daljinski ponovo pokrenuti u sliku za oporavak zasnovanu na Linux operativnom sistemu, tada se KVM-over-IP može brzo organizirati.

Slika za oporavak je punopravni operativni sistem koji se nalazi u RAM-u. Dakle, možemo pokrenuti bilo koji softver, uključujući virtuelne mašine (VM). Odnosno, možete pokrenuti VM unutar kojeg će se pokrenuti serverski operativni sistem. Pristup VM konzoli može se organizirati, na primjer, putem VNC-a.

Da biste pokrenuli serverski operativni sistem unutar VM-a, morate navesti serverske diskove kao VM diskove. U operativnim sistemima iz porodice Linux, fizički diskovi su predstavljeni blok uređajima u obliku / dev / sdX, sa kojima se može raditi kao sa običnim fajlovima.

Neki hipervizori, kao što su QEMU i VirtualBox, omogućavaju vam da skladištite VM podatke u "sirovom" obliku, to jest samo podatke za skladištenje bez metapodataka hipervizora. Dakle, VM se može pokrenuti pomoću fizičkih diskova servera.

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

Priprema okoline

Možete koristiti lagan i jednostavan program kao virtuelnu mašinu QEMU, koji najčešće nije dio slike za oporavak i stoga se mora zasebno instalirati. Slika za oporavak koju nudimo klijentima je zasnovana na Arch Linux, koji koristi menadžer paketa pacman.

Prva stvar koju trebate učiniti je osigurati da slika za oporavak koristi najnoviji softver. Sve komponente OS-a možete provjeriti i ažurirati sljedećom naredbom:

pacman -Suy

Nakon ažuriranja, potrebno je da instalirate QEMU. Naredba za instalaciju putem pacmana će izgledati ovako:

pacman -S qemu

Provjerimo da li je 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, onda je slika za oporavak spremna za rad.

Pokretanje virtuelne mašine

Prvo, morate odlučiti o količini resursa dodijeljenih VM-u i saznati puteve do fizičkih diskova. U našem slučaju, virtuelnoj mašini ć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 više detalja o tome šta svaki od parametara znači:

  • -m 2048M — dodijelite 2 GB RAM-a VM-u;
  • -net nic -net korisnik — dodavanje jednostavne veze na mrežu preko hipervizora pomoću NAT-a (Network Address Translation);
  • -enable-kvm — omogućiti punu KVM (Kernel Virtual Machine) virtuelizaciju;
  • -cpu host — kažemo virtuelnom procesoru da dobije svu funkcionalnost serverskog procesora;
  • -M PC — vrsta PC opreme;
  • -smp 2 — virtuelni procesor mora biti dual-core;
  • -vga std — odaberite standardnu ​​video karticu koja ne podržava velike rezolucije ekrana;
  • -drive file=/dev/sda,format=raw,index=0,media=disk
    • file=/dev/sdX — putanja do blok uređaja koji predstavlja serverski disk;
    • 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 — virtuelna mašina mora prepoznati ovu memoriju kao disk;
  • -vnc :0, lozinka — pokrenite VNC server podrazumevano na 0.0.0.0:5900, koristite lozinku kao autorizaciju;
  • -monitor stdio — komunikacija između administratora i qemu-a će se odvijati kroz standardne ulazno/izlazne tokove.

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

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

Naznačili smo da se autorizacija događa korištenjem lozinke, ali nismo naveli samu lozinku. Ovo se može učiniti slanjem naredbe za promjenu vnc lozinke 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 sa bilo kojim VNC klijentom, na primjer, Remmina, koristeći IP adresu našeg servera sa lozinkom koju smo naveli.

IP-KVM preko QEMU

IP-KVM preko QEMU

Sada ne samo da vidimo moguće greške u fazi učitavanja, već se možemo i nositi s njima.

Kada završite, morate isključiti virtuelnu mašinu. Ovo se može uraditi unutar OS-a slanjem signala za gašenje ili davanjem komande system_powerdown u QEMU monitoru. Ovo će biti ekvivalentno jednom pritisku na dugme za isključivanje: operativni sistem unutar virtuelne mašine će se glatko isključiti.

Instalacija operativnog sistema

Virtuelna mašina ima pun pristup diskovima servera i stoga se može koristiti za ručnu instalaciju operativnog sistema. Jedino ograničenje je količina RAM-a: ISO slika ne može uvijek biti smještena u RAM-u. Odvojimo četiri gigabajta RAM-a za pohranjivanje slike / mnt:

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

Takođe ćemo preuzeti i instalacijsku sliku FreeBSD 12.0 operativnog sistema:

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 pokretanje sa CD drajva. Povezujemo se sa VNC klijentom i vidimo FreeBSD bootloader.

IP-KVM preko QEMU

Pošto je za pristup Internetu korišteno dobijanje adrese putem DHCP-a, nakon konfiguracije će možda biti potrebno pokrenuti novoinstalirani sistem i ispraviti mrežna podešavanja. U nekim slučajevima može biti potrebno instalirati drajvere mrežnog adaptera, budući da se mrežna kartica instalirana na serveru i emulirana u VM razlikuju.

zaključak

Ova metoda organiziranja udaljenog pristupa konzoli servera troši dio serverskih resursa, međutim, ne nameće nikakve posebne zahtjeve za hardver servera, 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 servera.

izvor: www.habr.com

Dodajte komentar