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