IP-KVM mitjançant QEMU

IP-KVM mitjançant QEMU

La resolució de problemes d'arrencada del sistema operatiu en servidors sense KVM no és una tasca fàcil. Creem un KVM sobre IP per nosaltres mateixos mitjançant una imatge de recuperació i una màquina virtual.

En cas de problemes amb el sistema operatiu en un servidor remot, l'administrador baixa la imatge de recuperació i realitza la feina necessària. Aquest mètode funciona molt bé quan es coneix la causa de la fallada i la imatge de recuperació i el sistema operatiu instal·lat al servidor són de la mateixa família. Si encara no es coneix la causa de l'error, heu de supervisar el progrés de la càrrega del sistema operatiu.

KVM remot

Podeu accedir a la consola del servidor mitjançant eines integrades com IPMI o Intel® vPro™, o mitjançant dispositius externs anomenats IP-KVM. Hi ha situacions en què totes les tecnologies enumerades no estan disponibles. Tanmateix, aquest no és el final. Si el servidor es pot reiniciar de forma remota en una imatge de recuperació basada en un sistema operatiu Linux, llavors KVM-over-IP es pot organitzar ràpidament.

La imatge de recuperació és un sistema operatiu complet que es troba a la memòria RAM. Així, podem executar qualsevol programari, incloses les màquines virtuals (VM). És a dir, podeu llançar una màquina virtual dins de la qual s'executarà el sistema operatiu del servidor. L'accés a la consola VM es pot organitzar, per exemple, mitjançant VNC.

Per executar el sistema operatiu del servidor dins d'una màquina virtual, heu d'especificar els discs del servidor com a discs de la màquina virtual. En els sistemes operatius de la família Linux, els discs físics estan representats per dispositius de bloc de la forma / dev / sdX, que es pot treballar amb fitxers normals.

Alguns hipervisors, com ara QEMU i VirtualBox, permeten emmagatzemar dades de VM en forma "crua", és a dir, només emmagatzemar dades sense metadades de l'hipervisor. Així, la VM es pot llançar mitjançant els discs físics del servidor.

Aquest mètode requereix recursos per llançar la imatge de recuperació i la màquina virtual que hi ha dins. Tanmateix, si teniu quatre o més gigabytes de RAM, això no serà un problema.

Preparant el Medi Ambient

Podeu utilitzar un programa lleuger i senzill com a màquina virtual QEMU, que sovint no forma part de la imatge de recuperació i, per tant, s'ha d'instal·lar per separat. La imatge de recuperació que oferim als clients es basa Arch Linux, que utilitza un gestor de paquets pacman.

El primer que heu de fer és assegurar-vos que la imatge de recuperació utilitza el programari més recent. Podeu comprovar i actualitzar tots els components del sistema operatiu amb l'ordre següent:

pacman -Suy

Després de l'actualització, heu d'instal·lar QEMU. L'ordre d'instal·lació mitjançant pacman tindrà aquest aspecte:

pacman -S qemu

Comprovem que qemu estigui instal·lat correctament:

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

Si tot és així, la imatge de recuperació està a punt per funcionar.

Inici d'una màquina virtual

En primer lloc, heu de decidir la quantitat de recursos assignats a la màquina virtual i esbrinar els camins als discs físics. En el nostre cas, assignarem dos nuclis i dos gigabytes de memòria RAM a la màquina virtual, i els discs es troben al llarg del camí. / Dev / sda и / dev / sdb. Comencem 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

Una mica més de detall sobre què significa cadascun dels paràmetres:

  • -m 2048M — assigneu 2 GB de RAM a la màquina virtual;
  • -net nic -net usuari — afegir una connexió senzilla a la xarxa mitjançant un hipervisor mitjançant NAT (Network Address Translation);
  • -habilitar-kvm — habiliteu la virtualització completa de KVM (Kernel Virtual Machine);
  • - amfitrió de la CPU — demanem al processador virtual que obtingui tota la funcionalitat del processador del servidor;
  • -M PC — tipus d'equip de PC;
  • -smp 2 — el processador virtual ha de ser de doble nucli;
  • -vga std — trieu una targeta de vídeo estàndard que no admeti resolucions de pantalla gran;
  • -unitat fitxer=/dev/sda,format=raw,index=0,media=disk
    • fitxer=/dev/sdX — camí al dispositiu de bloc que representa el disc del servidor;
    • format=raw — observem que al fitxer especificat totes les dades es troben en forma "crua", és a dir, com en un disc;
    • índex = 0 — número de disc, ha d'augmentar en un per a cada disc posterior;
    • suport=disc — la màquina virtual ha de reconèixer aquest emmagatzematge com a disc;
  • -vnc :0, contrasenya — inicieu el servidor VNC per defecte a 0.0.0.0:5900, utilitzeu una contrasenya com a autorització;
  • -monitor stdio — La comunicació entre l'administrador i qemu es produirà mitjançant fluxos d'entrada/sortida estàndard.

Si tot està en ordre, el monitor QEMU s'iniciarà:

QEMU 4.0.0 monitor - type 'help' for more information
(qemu)

Hem indicat que l'autorització es produeix mitjançant una contrasenya, però no hem indicat la contrasenya en si. Això es pot fer enviant l'ordre change vnc password al monitor QEMU. Nota important: la contrasenya no pot tenir més de vuit caràcters.

(qemu) change vnc password
Password: ******

Després d'això, ens podem connectar amb qualsevol client VNC, per exemple, Remmina, utilitzant l'adreça IP del nostre servidor amb la contrasenya que hem especificat.

IP-KVM mitjançant QEMU

IP-KVM mitjançant QEMU

Ara no només veiem possibles errors en l'etapa de càrrega, sinó que també podem tractar-los.

Quan hàgiu acabat, heu d'apagar la màquina virtual. Això es pot fer dins del sistema operatiu enviant un senyal d'apagada o donant l'ordre system_powerdown al monitor QEMU. Això equivaldrà a prémer el botó d'apagada una vegada: el sistema operatiu dins de la màquina virtual s'apagarà sense problemes.

Instal·lació del sistema operatiu

La màquina virtual té accés complet als discs del servidor i, per tant, es pot utilitzar per instal·lar manualment el sistema operatiu. L'única limitació és la quantitat de memòria RAM: la imatge ISO no sempre es pot col·locar a la memòria RAM. Assignem quatre gigabytes de RAM per emmagatzemar la imatge / mnt:

mount -t tmpfs -o size=4G tmpfs /mnt

També descarregarem la imatge d'instal·lació del sistema operatiu 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

Ara podeu iniciar 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

Bandera - bota d instal·la l'arrencada des de la unitat de CD. Ens connectem amb un client VNC i veiem el carregador d'arrencada de FreeBSD.

IP-KVM mitjançant QEMU

Com que es va utilitzar l'obtenció d'una adreça mitjançant DHCP per accedir a Internet, després de la configuració pot ser necessari arrencar el sistema recentment instal·lat i corregir la configuració de la xarxa. En alguns casos, pot ser necessari instal·lar controladors d'adaptador de xarxa, ja que la targeta de xarxa instal·lada al servidor i l'emulada a la VM són diferents.

Conclusió

Aquest mètode d'organització de l'accés remot a la consola del servidor consumeix alguns dels recursos del servidor, però no imposa cap requisit especial al maquinari del servidor i, per tant, es pot implementar en gairebé qualsevol condició. L'ús d'aquesta solució fa que sigui molt més fàcil diagnosticar errors del programari i restaurar la funcionalitat d'un servidor remot.

Font: www.habr.com

Afegeix comentari