
Käivitamise tõrkeotsing kaugserverites, kus puudub KVM, on keeruline ülesanne. Loome endale KVM-over-IP taastamispildiga ja virtuaalmasinaga.
Probleemide korral operatsioonisüsteemiga , laadib administraator taastamispildi ja viib läbi vajalikud toimingud. See meetod töötab hästi, kui rikke põhjus on teada, ja taastamispilt ning serveeritud operatsioonisüsteem kuuluvad samasse perekonda. Kui rikke põhjus ei ole veel teada, on vajalik jälgida operatsioonisüsteemi käivitamise käiku.
Kaug-KVM
Serveri konsoolile saab ligi pääseda integreeritud vahendite, nagu IPMI või Intel® vPro™, kaudu, või välistelt seadmetelt, mida nimetatakse IP-KVM-iks. On olukordi, kus kõik loetletud tehnoloogiad ei ole kergesti kättesaadavad. Siiski ei ole see lõpp. Kui serverit saab kaugelt taaskäivitada Linuxi-põhisesse taastamispildisse, saab kiiresti korraldada KVM-over-IP.
Taastesüsteem on täielik operatsioonisüsteem, mis paikneb mälus. Seega saame käivitada mis tahes tarkvara, sealhulgas virtuaalmasinaid (VM). See tähendab, et saab käivitada VM-i, milles töötab serveri operatsioonisüsteem. Juurdepääs VM-i konsoolile võib olla organiseeritud näiteks VNC kaudu.
Serveri operatsioonisüsteemi käivitamiseks VM-i sees tuleb serveri kettad määrata VM-i kettadeks. Linuxi operatsioonisüsteemide peres kujutatakse füüsilisi kettaid plokkseadmetena, mis on kujul /dev/sdX, millega saab töötada nagu tavaliste failidega.
Mõned hüperviisorid, nagu QEMU ja VirtualBox, võimaldavad hoida VM-i andmeid "toorses" vormis, see tähendab ainult andmed salvestamisest ilma hüperviisori metaandmeteta. Seega saab VM-i käivitada, kasutades serveri füüsilisi kettaid.
Selline meetod nõuab ressursse taastamispildi ja VM-i käivitamiseks. Kuid nelja või enama gigabaidi operatiivmälu olemasolul ei tohiks see probleemiks kujuneda.
Keskkonna ettevalmistamine
Virtuaalmašina saab olla kerge ja lihtne programm , mis enamasti ei ole osa taastamisimage'ist, seega peab see olema installitud eraldi. Taastamisimage, mida pakume klientidele, põhineb , kus kasutatakse paketihaldurit pacman.
Esiteks on vaja veenduda, et taastamisimage kasutab tarkvara uusimaid versioone. Kõik operatsioonisüsteemi komponendid saab kontrollida ja uuendada järgmise käsuga:
pacman -Suy
Pärast värskendamist on vajalik QEMU installida. Paigaldamiseks pacman'i kaudu näeb käsk välja järgmine:
pacman -S qemu
Kontrollime, kas qemu on õigesti installitud:
root@sel-rescue ~ # qemu-system-x86_64 --versioon
QEMU emulaator versioon 4.0.0
Autoriõigus (c) 2003-2019 Fabrice Bellard ja QEMU projekti arendajad
Kui kõik on korras, on taastamisimage töövalmis.
Virtuaalmašina käivitamine
Esmalt tuleks määrata, kui palju ressursse VM-ile eraldatakse, ja teada saada füüsiliste ketaste asukohti. Meie juhul eraldame virtuaalmašinale kaks südamikku ja kaks gigabaiti RAM-i, ning kettad asuvad tee peal /dev/sda ja /dev/sdb. Käivitame 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
Natuke põhjalikumalt, mida iga parameeter tähendab:
- -m 2048M — eraldame 2 GB RAM-i VM-ile;
- -net nic -net user — lisame lihtsa ühenduse võrku hüperviisori kaudu, kasutades NAT (Network Address Translation);
- -enable-kvm — aktiveerime täieliku virtualiseerimise KVM (Kernel Virtual Machine);
- -cpu host — käsime virtuaalprotsessoril kasutada serveri protsessori kogu funktsionaalsust;
- -M pc — seadme tüüp: PC;
- -smp 2 — virtuaalprotsessor peab olema kahe südamega;
- -vga std — valime standardse graafikakaardi, mis ei toeta suurte ekraani resolutsioonide kasutamist;
- -drive file=/dev/sda,format=raw,index=0,media=disk
- file=/dev/sdX — tee plokiseadmest, mis esindab serveri ketast;
- format=raw — märgime, et määratud failis kõik andmed on 'toore' vormis, see tähendab täpselt nagu ketas;
- index=0 — ketta number, peab iga järgmise ketta puhul kasvama ühe võrra;
- media=disk — virtuaalmasin peab tuvastama selle salvestuse kettana;
- -vnc :0, password — käivitame VNC-serveri vaikimisi aadressil 0.0.0.0:5900, autoriseerimiseks kasutame parooli;
- -monitor stdio — administraatori suhtlus qemu-ga toimub läbi standardsete sisendi- ja väljundi voogude.
Kui kõik on korras, käivitub QEMU monitor:
QEMU 4.0.0 monitor - tippige 'abi' lisainfot jaoks
(qemu)
Oleme märkinud, et autentimine toimub parooli kaudu, kuid ei ole määranud ise parooli. Selleks saab QEMU monitori saata käsu change vnc password.
(qemu) muuda vnc parooli
Parool: ******
Pärast seda saame ühenduda iga VNC-kliendiga, nagu näiteks Remmina, meie serveri IP-aadressilt, kasutades määratud parooli.


Nüüd näeme mitte ainult võimalikke vigu laadimisprotsessi etapis, vaid saame nendega ka tegeleda.
Töö lõpetamisel tuleb virtuaalmasin lõpetada. Seda saab teha kas operatsioonisüsteemis, saates välja väljalülitussignaali, või andes käsu system_powerdown QEMU monitoris. See on võrdne ühe vajutusega väljalülitusnupul: operatsioonisüsteem virtuaalmasinas lõpetab sujuvalt oma töö.
Operatsioonisüsteemi installimine
Virtuaalmasinal on täisjuurdepääs serveri ketastele ja seetõttu saab seda kasutada operatsioonisüsteemi käsitsi installimiseks. Ainsaks piiranguks on RAM-i maht: mitte alati ei saa ISO-pilti mahutada RAM-i. Määrame nelikümmend gigabaiti pildi salvestamiseks RAM-i /mnt:
mount -t tmpfs -o size=4G tmpfs /mnt
Laadime ka FreeBSD 12.0 operatsioonisüsteemi installifaili:
wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
Nüüd on võimalik VM-i käivitada:
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
Lipp -boot d seab CD-diskilt käivitamise. Ühendame VNC-kliendi ja näeme FreeBSD laadijat.

Kuna internetiühendus saadakse DHCP kaudu, võib seade loomise järel olla vajalik käivitada just installitud süsteem ja parandada võrguseadeid. Mõnel juhul võib olla vajalik installida võrgukaardi draiverid, kuna serverisse paigaldatud ja VM-is emuleeritud võrgukaart erinevad.
Kokkuvõte
See kaugjuurdepääsu meetod tarbib osa serveri ressurssidest, kuid ei sea seadmele mingeid eritingimusi, mistõttu võib seda rakendada peaaegu igas keskkonnas. Sellise lahenduse kasutamine lihtsustab oluliselt programmivigu ja eemal olevate serverite taastamist.
Allikas: habr.com
