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
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
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.
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.
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