Operacinės sistemos įkrovos trikčių šalinimas serveriuose be KVM nėra lengva užduotis. Sukuriame sau KVM-over-IP naudodami atkūrimo vaizdą ir virtualią mašiną.
Jei kyla problemų dėl operacinės sistemos
Nuotolinis KVM
Serverio konsolę galite pasiekti naudodami integruotus įrankius, tokius kaip IPMI arba Intel® vPro™, arba išorinius įrenginius, vadinamus IP-KVM. Yra situacijų, kai visos išvardytos technologijos nėra prieinamos. Tačiau tai dar ne pabaiga. Jei serverį galima nuotoliniu būdu perkrauti į atkūrimo vaizdą, pagrįstą Linux operacine sistema, KVM-over-IP galima greitai organizuoti.
Atkūrimo vaizdas yra visavertė operacinė sistema, esanti RAM. Taigi galime paleisti bet kokią programinę įrangą, įskaitant virtualias mašinas (VM). Tai yra, galite paleisti VM, kurioje veiks serverio operacinė sistema. Prieiga prie VM konsolės gali būti organizuojama, pavyzdžiui, per VNC.
Norėdami paleisti serverio operacinę sistemą VM viduje, turite nurodyti serverio diskus kaip VM diskus. „Linux“ šeimos operacinėse sistemose fizinius diskus vaizduoja formos blokiniai įrenginiai / dev / sdX, su kuriais galima dirbti kaip su įprastais failais.
Kai kurie hipervizoriai, tokie kaip QEMU ir VirtualBox, leidžia saugoti VM duomenis „neapdorotu“ pavidalu, ty tik saugojimo duomenis be hipervizoriaus metaduomenų. Taigi, VM galima paleisti naudojant fizinius serverio diskus.
Šis metodas reikalauja išteklių, kad būtų paleistas atkūrimo vaizdas ir jame esanti VM. Tačiau jei turite keturis ar daugiau gigabaitų RAM, tai nebus problema.
Aplinkos paruošimas
Lengvą ir paprastą programą galite naudoti kaip virtualią mašiną
Pirmas dalykas, kurį turite padaryti, yra įsitikinti, kad atkūrimo vaizdas naudoja naujausią programinę įrangą. Galite patikrinti ir atnaujinti visus OS komponentus naudodami šią komandą:
pacman -Suy
Po atnaujinimo turite įdiegti QEMU. Diegimo komanda per pacman atrodys taip:
pacman -S qemu
Patikrinkime, ar qemu įdiegtas teisingai:
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
Jei viskas taip, tada atkūrimo vaizdas yra paruoštas naudoti.
Virtualios mašinos paleidimas
Pirmiausia turite nuspręsti, kiek išteklių bus skirta VM, ir išsiaiškinti kelius į fizinius diskus. Mūsų atveju virtualiai mašinai skirsime du branduolius ir du gigabaitus RAM, o diskai yra pakeliui / dev / sda и / dev / sdb. Pradėkime 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
Šiek tiek daugiau apie tai, ką reiškia kiekvienas iš parametrų:
- -m 2048M — VM skirti 2 GB RAM;
- -net nic -neto vartotojas — paprasto prisijungimo prie tinklo pridėjimas per hipervizorių naudojant NAT (tinklo adresų vertimą);
- -įgalinti-kvm — įgalinti pilną KVM (branduolių virtualiosios mašinos) virtualizavimą;
- -procesoriaus priegloba — nurodome virtualiam procesoriui gauti visas serverio procesoriaus funkcijas;
- -M kompiuteris — PC įrangos tipas;
- -smp 2 — virtualus procesorius turi būti dviejų branduolių;
- -vga std — pasirinkti standartinę vaizdo plokštę, kuri nepalaiko didelės ekrano raiškos;
- -disko failas=/dev/sda,format=raw,index=0,media=disk
- file=/dev/sdX — kelias į blokinį įrenginį, vaizduojantį serverio diską;
- formatas=neapdorotas - pažymime, kad nurodytame faile visi duomenys yra „neapdoroti“, tai yra, kaip diske;
- rodyklė = 0 — disko numeris, turi padidėti po vieną kiekvienam paskesniam diskui;
- laikmena = diskas — virtualioji mašina turi atpažinti šią saugyklą kaip diską;
- -vnc :0, slaptažodis — pagal numatytuosius nustatymus paleiskite VNC serverį 0.0.0.0:5900, naudokite slaptažodį kaip autorizaciją;
- - monitoriaus stdio — ryšys tarp administratoriaus ir qemu vyks standartiniais įvesties/išvesties srautais.
Jei viskas tvarkoje, įsijungs QEMU monitorius:
QEMU 4.0.0 monitor - type 'help' for more information
(qemu)
Nurodėme, kad autorizacija vykdoma naudojant slaptažodį, tačiau paties slaptažodžio nenurodėme. Tai galima padaryti siunčiant komandą keisti vnc slaptažodį į QEMU monitorių. Svarbi pastaba: slaptažodis negali būti ilgesnis nei aštuoni simboliai.
(qemu) change vnc password
Password: ******
Po to galime prisijungti prie bet kurio VNC kliento, pavyzdžiui, Remmina, naudodami savo serverio IP adresą su mūsų nurodytu slaptažodžiu.
Dabar mes ne tik matome galimas klaidas krovimo etape, bet ir galime jas spręsti.
Kai baigsite, turite išjungti virtualią mašiną. Tai galima padaryti OS viduje siunčiant signalą į išjungimą arba duodant komandą system_powerdown QEMU monitoriuje. Tai prilygs išjungimo mygtuko paspaudimui vieną kartą: virtualioje mašinoje esanti operacinė sistema išsijungs sklandžiai.
Operacinės sistemos diegimas
Virtuali mašina turi pilną prieigą prie serverio diskų, todėl gali būti naudojama operacinei sistemai įdiegti rankiniu būdu. Vienintelis apribojimas yra RAM kiekis: ISO vaizdas ne visada gali būti įdėtas į RAM. Paskirkime keturis gigabaitus RAM vaizdui saugoti / mnt:
mount -t tmpfs -o size=4G tmpfs /mnt
Taip pat atsisiųsime FreeBSD 12.0 operacinės sistemos diegimo atvaizdą:
wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
Dabar galite paleisti 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
Vėliava - bagažinė d įdiegia paleidimą iš CD įrenginio. Susisiekiame su VNC klientu ir matome FreeBSD įkrovos tvarkyklę.
Kadangi adreso gavimas per DHCP buvo naudojamas norint pasiekti internetą, po konfigūracijos gali tekti paleisti naujai įdiegtą sistemą ir pataisyti tinklo nustatymus. Kai kuriais atvejais gali prireikti įdiegti tinklo adapterio tvarkykles, nes serveryje įdiegta ir VM emuliuota tinklo plokštė skiriasi.
išvada
Šis nuotolinės prieigos prie serverio konsolės organizavimo būdas sunaudoja dalį serverio resursų, tačiau jis nekelia jokių specialių reikalavimų serverio aparatūrai, todėl gali būti įgyvendinamas beveik bet kokiomis sąlygomis. Naudojant šį sprendimą daug lengviau diagnozuoti programinės įrangos gedimus ir atkurti nuotolinio serverio funkcionalumą.
Šaltinis: www.habr.com