
A risoluzione di i prublemi di u sistema operatore in i servitori senza KVM ùn hè micca un compitu faciule. Creemu un KVM-over-IP per noi stessi via una maghjina di ricuperazione è una macchina virtuale.
In casu di prublemi cù u sistema operatore , l'amministratore scaricate l'imaghjini di ricuperazione è eseguisce u travagliu necessariu. Stu metudu funziona bè quandu a causa di u fallimentu hè cunnisciuta, è l'imaghjini di ricuperazione è u sistema operatore installatu in u servitore sò di a stessa famiglia. Se a causa di u fallimentu ùn hè ancu cunnisciuta, avete bisognu di monitorà u prugressu di carica u sistema upirativu.
KVM remoto
Pudete accede à a cunsola di u servitore aduprendu strumenti integrati cum'è IPMI o Intel® vPro™, o aduprendu dispositivi esterni chjamati IP-KVM. Ci sò situazioni in quale tutte queste tecnulugie ùn sò micca dispunibili. Tuttavia, questu ùn hè micca a fine di a storia. Se u servitore pò esse riavviatu à distanza in una maghjina di ricuperazione chì esegue un sistema operativu Windows, Linux, tandu pudete urganizà rapidamente KVM-over-IP.
L'imaghjini di ricuperazione hè un sistema operatore cumpletu chì si trova in RAM. Cusì, pudemu eseguisce qualsiasi software, cumprese macchine virtuali (VM). Questu hè, pudete lancià una VM in u quale u sistema operatore di u servitore correrà. L'accessu à a cunsola VM pò esse urganizata, per esempiu, via VNC.
Per eseguisce u sistema operativu di u servitore in una VM, duvete specificà i dischi di u servitore cum'è dischi VM. In i sistemi operativi di a famiglia Linux I dischi fisichi sò rapprisentati cum'è dispositivi à blocchi di a forma / dev / sdX, chì pò esse travagliatu cum'è i schedarii regulari.
Certi ipervisori, cum'è QEMU è VirtualBox, permettenu di almacenà e dati VM in una forma "cruda", vale à dì, solu dati di almacenamiento senza metadata di ipervisore. Cusì, a VM pò esse lanciata cù i dischi fisici di u servitore.
Stu metudu richiede risorse per lancià l'imagine di ricuperazione è a VM in questu. Tuttavia, sè vo avete quattru o più gigabyte di RAM, questu ùn serà micca un prublema.
A preparazione di l'ambiente
Pudete utilizà un prugramma ligeru è simplice cum'è una macchina virtuale , chì u più spessu ùn hè micca parte di l'imaghjini di ricuperazione è per quessa deve esse stallatu separatamente. L'imaghjini di ricuperazione chì offremu à i clienti hè basatu , chì usa un gestore di pacchetti pacman.
A prima cosa chì duvete fà hè di assicurà chì l'imaghjina di ricuperazione utilizeghja l'ultimu software. Pudete cuntrollà è aghjurnà tutti i cumpunenti di u SO cù u cumandimu seguitu:
pacman -Suy
Dopu l'aghjurnamentu, avete bisognu di stallà QEMU. U cumandimu di stallazione via pacman serà cusì:
pacman -S qemu
Verificate chì qemu hè stallatu bè:
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
Sè tuttu hè cusì, allura l'imagine di ricuperazione hè pronta per andà.
Cumincià una macchina virtuale
Prima, avete bisognu di decide nantu à a quantità di risorse attribuite à a VM è scopre i camini à i dischi fisichi. In u nostru casu, assignemu dui core è dui gigabyte di RAM à a macchina virtuale, è i dischi sò situati in u caminu. / dev / sda и / dev / sdb. Cuminciamu a 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
Un pocu di più dettagliu nantu à ciò chì ognunu di i paràmetri significa:
- -m 2048M - allocate 2 GB di RAM à a VM;
- -net nic -net utilizatore - aghjunghje una cunnessione simplice à a reta attraversu un ipervisore cù NAT (Network Address Translation);
- -enable-kvm - attivà a virtualizazione cumpleta di KVM (Kernel Virtual Machine);
- - host cpu - dicemu à u processatore virtuale per uttene tutte e funziunalità di u processatore di u servitore;
- -M PC - tipu d'equipaggiu di PC;
- -smp 2 - u processatore virtuale deve esse dual-core;
- -vga std - sceglite una carta video standard chì ùn sustene micca risoluzioni di grande schermu;
- -drive file=/dev/sda,format=raw,index=0,media=disk
- file=/dev/sdX - percorsu à u dispusitivu di blocu chì rapprisenta u discu di u servitore;
- format = brut - avemu nutatu chì in u schedariu specificatu tutte e dati sò in forma "cruda", vale à dì, cum'è in un discu;
- indice = 0 - u numeru di discu, deve cresce da unu per ogni discu dopu;
- media = discu - a macchina virtuale deve ricunnosce stu almacenamentu cum'è un discu;
- -vnc :0, password - inizià u servitore VNC per difettu à 0.0.0.0:5900, utilizate una password cum'è autorizazione;
- -monitor stdio - a cumunicazione trà l'amministratore è qemu sarà per mezu di flussi standard di input/output.
Se tuttu hè in ordine, u monitor QEMU cumminciarà:
QEMU 4.0.0 monitor - type 'help' for more information
(qemu)
Avemu indicatu chì l'autorizazione si faci cù una password, ma ùn hà micca indicatu a password stessu. Questu pò esse fattu mandendu u cumandamentu di u cambiamentu di password vnc à u monitor QEMU. Nota impurtante: A password ùn pò esse più di ottu caratteri.
(qemu) change vnc password
Password: ******
Dopu questu, pudemu cunnette cù qualsiasi cliente VNC, per esempiu, Remmina, utilizendu l'indirizzu IP di u nostru servitore cù a password chì avemu specificatu.


Avà ùn vedemu micca solu i pussibuli errori in a fase di carica, ma pudemu ancu trattà cun elli.
Quandu avete finitu, duvete chjude a macchina virtuale. Questu pò esse fattu sia à l'internu di u SO mandendu un signalu per chjude, o dendu u cumandamentu system_powerdown in u monitor QEMU. Questu serà l'equivalente di appughjà u buttone di spegnimentu una volta: u sistema operatore ind'a macchina virtuale si chjuderà lisu.
Installazione di u sistema operatore
A macchina virtuale hà accessu sanu à i dischi di u servitore è dunque pò esse aduprata per installà manualmente u sistema operatore. L'unica limitazione hè a quantità di RAM: l'imaghjini ISO ùn pò micca sempre esse piazzatu in RAM. Attribuemu quattru gigabyte di RAM per almacenà l'imaghjini / mnt:
mount -t tmpfs -o size=4G tmpfs /mnt
Scaricaremu ancu l'imaghjini di stallazione di u sistema operatore 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
Avà pudete inizià a 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
Bandiera - stivali d installà u boot da u CD drive. Cunnettamu cù un cliente VNC è vede u bootloader FreeBSD.

Siccomu ottene un indirizzu via DHCP hè stata utilizata per accede à l'Internet, dopu a cunfigurazione pò esse necessariu di boot in u sistema novu installatu è corregge i paràmetri di a rete. In certi casi, pò esse necessariu installà i drivers di l'adattatore di rete, postu chì a carta di rete installata in u servitore è quella emulata in a VM sò diverse.
cunchiusioni
Stu metudu di urganizà l'accessu remotu à a cunsola di u servitore consume una parte di e risorse di u servitore, in ogni modu, ùn impone micca esigenze speciali à u hardware di u servitore, è per quessa pò esse implementatu in quasi ogni cundizione. L'usu di sta suluzione rende assai più faciule per diagnosticà i difetti di u software è restaurà a funziunalità di un servitore remoto.
Source: www.habr.com
