Solvi problemojn pri lanĉado de operaciumo en serviloj sen KVM ne estas facila tasko. Ni kreas KVM-over-IP por ni mem per reakira bildo kaj virtuala maŝino.
En kazo de problemoj kun la operaciumo
Fora KVM
Vi povas aliri la servilan konzolon per enkonstruitaj iloj kiel IPMI aŭ Intel® vPro™, aŭ per eksteraj aparatoj nomataj IP-KVM. Estas situacioj en kiuj ĉiuj listigitaj teknologioj ne estas disponeblaj. Tamen ĉi tio ne estas la fino. Se la servilo povas esti malproksime rekomencigita en reakiran bildon bazitan sur Linukso operaciumo, tiam KVM-over-IP povas esti rapide organizita.
La reakira bildo estas plentaŭga operaciumo, kiu situas en RAM. Tiel, ni povas ruli ajnan programaron, inkluzive de virtualaj maŝinoj (VM). Tio estas, vi povas lanĉi VM en kiu la servila operaciumo funkcios. Aliro al la VM-konzolo povas esti organizita, ekzemple, per VNC.
Por ruli la servilan operaciumon ene de VM, vi devas specifi la servildiskojn kiel VM-diskojn. En operaciumoj de la familio Linukso, fizikaj diskoj estas reprezentitaj per blokaj aparatoj de la formo / dev / sdX, kun kiu oni povas labori kiel regulajn dosierojn.
Iuj hiperviziiloj, kiel QEMU kaj VirtualBox, permesas vin stoki VM-datumojn en "kruda" formo, tio estas, nur stokajn datumojn sen hiperviziaj metadatenoj. Tiel, la VM povas esti lanĉita uzante la fizikajn diskojn de la servilo.
Ĉi tiu metodo postulas rimedojn por lanĉi la reakiran bildon kaj la VM en ĝi. Tamen, se vi havas kvar aŭ pli da gigabajtoj da RAM, ĉi tio ne estos problemo.
Preparante la Medion
Vi povas uzi malpezan kaj simplan programon kiel virtuala maŝino
La unua afero, kiun vi devas fari, estas certigi, ke la reakira bildo uzas la plej novan programaron. Vi povas kontroli kaj ĝisdatigi ĉiujn OS-komponentojn per la sekva komando:
pacman -Suy
Post la ĝisdatigo, vi devas instali QEMU. La instala komando per pacman aspektos jene:
pacman -S qemu
Ni kontrolu, ke qemu estas ĝuste instalita:
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
Se ĉio estas tiel, tiam la reakira bildo estas preta por iri.
Ekfunkciigo de virtuala maŝino
Unue, vi devas decidi pri la kvanto de rimedoj asignitaj al la VM kaj ekscii la vojojn al la fizikaj diskoj. En nia kazo, ni asignos du kernojn kaj du gigabajtojn da RAM al la virtuala maŝino, kaj la diskoj situas laŭvoje. / dev / sda и / dev / sdb. Ni komencu la 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
Iom pli da detaloj pri tio, kion signifas ĉiu el la parametroj:
- -m 2048M — asignu 2 GB da RAM al la VM;
- -net nic -net uzanto — aldoni simplan konekton al la reto per hiperviziero uzante NAT (Network Address Translation);
- -enable-kvm — ebligi plenan virtualigon de KVM (Kernel Virtual Machine);
- -cpu-gastiganto — ni diras al la virtuala procesoro akiri ĉiujn funkciojn de la servila procesoro;
- -M komputilo - speco de komputila ekipaĵo;
- -smp 2 — la virtuala procesoro devas esti dukerna;
- -vga std — elektu norman vidkarton, kiu ne subtenas grandajn ekranajn rezoluciojn;
- -drive dosiero=/dev/sda, formato=kruda, indekso=0, amaskomunikilaro=disko
- dosiero=/dev/sdX — vojo al la bloka aparato reprezentanta la servilan diskon;
- formato=kruda — ni rimarkas, ke en la specifita dosiero ĉiuj datumoj estas en "kruda" formo, tio estas, kiel sur disko;
- indekso = 0 — disknumero, devas pliiĝi je unu por ĉiu posta disko;
- media=disko — la virtuala maŝino devas rekoni ĉi tiun stokadon kiel diskon;
- -vnc :0, pasvorto — lanĉu la VNC-servilon defaŭlte ĉe 0.0.0.0:5900, uzu pasvorton kiel rajtigon;
- -monitor stdio — komunikado inter la administranto kaj qemu okazos per normaj enigo/eligfluoj.
Se ĉio estas en ordo, la QEMU-ekrano komenciĝos:
QEMU 4.0.0 monitor - type 'help' for more information
(qemu)
Ni indikis, ke rajtigo okazas per pasvorto, sed ne indikis la pasvorton mem. Ĉi tio povas esti farita sendante la komandon de ŝanĝo vnc pasvorta al la monitoro QEMU. Grava noto: La pasvorto ne povas esti pli ol ok signoj.
(qemu) change vnc password
Password: ******
Post ĉi tio, ni povas konektiĝi kun iu ajn VNC-kliento, ekzemple, Remmina, uzante la IP-adreson de nia servilo kun la pasvorto, kiun ni specifis.
Nun ni ne nur vidas eblajn erarojn ĉe la ŝarĝa etapo, sed ni ankaŭ povas trakti ilin.
Kiam vi finos, vi devas malŝalti la virtualan maŝinon. Ĉi tio povas esti farita aŭ ene de la OS sendante signalon al ĉesigo, aŭ donante la komandon system_powerdown en QEMU-ekrano. Ĉi tio ekvivalentos al premi la butonon de malŝalto unufoje: la operaciumo ene de la virtuala maŝino malŝaltos glate.
Instalado de operaciumo
La virtuala maŝino havas plenan aliron al la servilaj diskoj kaj tial povas esti uzata por permane instali la operaciumon. La nura limigo estas la kvanto de RAM: la ISO-bildo ne ĉiam povas esti metita en RAM. Ni asignu kvar gigabajtojn da RAM por konservi la bildon / mnt:
mount -t tmpfs -o size=4G tmpfs /mnt
Ni ankaŭ elŝutos la instalbildon de la operaciumo 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
Nun vi povas komenci la 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
Flago -boto d instalas lanĉadon de KD-disko. Ni konektas kun VNC-kliento kaj vidas la FreeBSD-ŝargilon.
Ĉar akiri adreson per DHCP estis uzata por aliri la Interreton, post agordo eble estos necese ekŝargi en la nove instalitan sistemon kaj korekti la retajn agordojn. En iuj kazoj, eble necesas instali retajn adaptilojn, ĉar la retkarto instalita en la servilo kaj tiu emulita en la VM estas malsamaj.
konkludo
Ĉi tiu metodo por organizi malproksiman aliron al la servila konzolo konsumas iujn el la servilaj rimedoj, tamen ĝi ne trudas specialajn postulojn al la servila aparataro, kaj tial povas esti efektivigita en preskaŭ ĉiuj kondiĉoj. Uzante ĉi tiun solvon multe pli facilas diagnozi programajn misfunkciadojn kaj restarigi la funkciojn de fora servilo.
fonto: www.habr.com