IP-KVM vía QEMU

IP-KVM vía QEMU

A resolución de problemas de arranque do sistema operativo en servidores sen KVM non é unha tarefa sinxela. Creamos un KVM sobre IP para nós mediante unha imaxe de recuperación e unha máquina virtual.

En caso de problemas co sistema operativo nun servidor remoto, o administrador descarga a imaxe de recuperación e realiza o traballo necesario. Este método funciona moi ben cando se coñece a causa do fallo e a imaxe de recuperación e o sistema operativo instalado no servidor pertencen á mesma familia. Se aínda non se coñece a causa do fallo, cómpre supervisar o progreso da carga do sistema operativo.

KVM remoto

Pode acceder á consola do servidor mediante ferramentas integradas como IPMI ou Intel® vPro™ ou a través de dispositivos externos chamados IP-KVM. Hai situacións nas que todas as tecnoloxías enumeradas non están dispoñibles. Non obstante, este non é o final. Se o servidor pode reiniciarse de forma remota nunha imaxe de recuperación baseada nun sistema operativo Linux, entón o KVM sobre IP pódese organizar rapidamente.

A imaxe de recuperación é un sistema operativo completo que se atopa na memoria RAM. Así, podemos executar calquera software, incluídas as máquinas virtuais (VM). É dicir, pode lanzar unha máquina virtual na que se executará o sistema operativo do servidor. O acceso á consola VM pódese organizar, por exemplo, a través de VNC.

Para executar o sistema operativo do servidor dentro dunha máquina virtual, debes especificar os discos do servidor como discos de máquina virtual. Nos sistemas operativos da familia Linux, os discos físicos están representados por dispositivos de bloque da forma / dev / sdX, que se pode traballar como ficheiros normais.

Algúns hipervisores, como QEMU e VirtualBox, permítenche almacenar datos de VM nunha forma "en bruto", é dicir, só almacenar datos sen metadatos do hipervisor. Así, a máquina virtual pódese iniciar usando os discos físicos do servidor.

Este método require recursos para lanzar a imaxe de recuperación e a máquina virtual que hai dentro dela. Non obstante, se tes catro ou máis gigabytes de RAM, isto non será un problema.

Preparando o Medio Ambiente

Podes usar un programa lixeiro e sinxelo como unha máquina virtual QEMU, que a maioría das veces non forma parte da imaxe de recuperación e, polo tanto, debe instalarse por separado. A imaxe de recuperación que ofrecemos aos clientes baséase Arch Linux, que usa un xestor de paquetes pacman.

O primeiro que cómpre facer é asegurarse de que a imaxe de recuperación está usando o software máis recente. Podes comprobar e actualizar todos os compoñentes do SO co seguinte comando:

pacman -Suy

Despois da actualización, cómpre instalar QEMU. O comando de instalación a través de pacman terá o seguinte aspecto:

pacman -S qemu

Comprobamos que qemu está instalado correctamente:

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 todo é así, entón a imaxe de recuperación está lista para funcionar.

Iniciando unha máquina virtual

En primeiro lugar, cómpre decidir a cantidade de recursos asignados á máquina virtual e descubrir os camiños aos discos físicos. No noso caso, asignaremos dous núcleos e dous gigabytes de RAM á máquina virtual, e os discos sitúanse ao longo do camiño. / dev / sda и / dev / sdb. Imos comezar 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 pouco máis de detalle sobre o que significa cada un dos parámetros:

  • -m 2048M — asignar 2 GB de RAM á máquina virtual;
  • -net nic -net usuario — engadir unha conexión sinxela á rede a través dun hipervisor mediante NAT (Network Address Translation);
  • -activar-kvm — habilite a virtualización completa de KVM (Kernel Virtual Machine);
  • - host da CPU — dicímoslle ao procesador virtual que obteña toda a funcionalidade do procesador do servidor;
  • -M PC - tipo de equipo de PC;
  • -smp 2 — o procesador virtual debe ser de dobre núcleo;
  • -vga std — elixe unha tarxeta de vídeo estándar que non admita resolucións de pantalla grande;
  • -unidade ficheiro=/dev/sda,format=raw,index=0,media=disk
    • ficheiro=/dev/sdX — ruta ao dispositivo de bloque que representa o disco do servidor;
    • formato=en bruto — observamos que no ficheiro especificado todos os datos están en forma "en bruto", é dicir, como nun disco;
    • índice = 0 — número de disco, debe aumentar en un para cada disco posterior;
    • medio=disco — a máquina virtual debe recoñecer este almacenamento como un disco;
  • -vnc :0, contrasinal — inicie o servidor VNC por defecto en 0.0.0.0:5900, use un contrasinal como autorización;
  • -monitor stdio — a comunicación entre o administrador e qemu producirase a través de fluxos de entrada/saída estándar.

Se todo está en orde, o monitor QEMU comezará:

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

Indicamos que a autorización se produce mediante un contrasinal, pero non indicamos o propio contrasinal. Isto pódese facer enviando o comando change vnc password ao monitor QEMU. Nota importante: o contrasinal non pode ter máis de oito caracteres.

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

Despois diso, podemos conectarnos con calquera cliente VNC, por exemplo, Remmina, utilizando o enderezo IP do noso servidor co contrasinal que especificamos.

IP-KVM vía QEMU

IP-KVM vía QEMU

Agora non só vemos posibles erros na fase de carga, senón que tamén podemos tratar con eles.

Cando remates, debes apagar a máquina virtual. Isto pódese facer dentro do sistema operativo enviando un sinal de apagado ou dando o comando apagado_sistema no monitor QEMU. Isto equivale a premer o botón de apagado unha vez: o sistema operativo dentro da máquina virtual apagarase sen problemas.

Instalación do sistema operativo

A máquina virtual ten acceso total aos discos do servidor e, polo tanto, pódese usar para instalar manualmente o sistema operativo. A única limitación é a cantidade de RAM: a imaxe ISO non sempre se pode colocar na RAM. Asignamos catro gigabytes de RAM para almacenar a imaxe / mnt:

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

Tamén descargaremos a imaxe de instalación do sistema operativo 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

Agora podes iniciar a máquina virtual:

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

Bandeira - bota d instala o arranque desde a unidade de CD. Conectamos cun cliente VNC e vemos o cargador de arranque de FreeBSD.

IP-KVM vía QEMU

Dado que se utilizou a obtención dun enderezo mediante DHCP para acceder a Internet, despois da configuración pode ser necesario iniciar o sistema recentemente instalado e corrixir a configuración da rede. Nalgúns casos, pode ser necesario instalar controladores de adaptadores de rede, xa que a tarxeta de rede instalada no servidor e a emulada na máquina virtual son diferentes.

Conclusión

Este método de organizar o acceso remoto á consola do servidor consome algúns dos recursos do servidor, pero non impón ningún requisito especial ao hardware do servidor e, polo tanto, pódese implementar en case calquera condición. Usar esta solución fai que sexa moito máis fácil diagnosticar fallos de software e restaurar a funcionalidade dun servidor remoto.

Fonte: www.habr.com

Engadir un comentario