GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar un servidor KVM de forma rápida

Esta es una configuración rápida muy breve sobre cómo poner en funcionamiento el servidor KVM (el hipervisor de la máquina virtual del kernel de Linux).

¿Por qué KVM?

KVM es un hipervisor, al igual que VmWare ESX, Hyper-V y XEN de Microsoft. Lo bueno (como de costumbre) de KVM es que es parte de Linux, lo que significa que es gratis y su rendimiento es excelente. Usarlo en un entorno de producción como un hipervisor independiente es una excelente opción, tiene una huella de servidor host baja (en términos de necesidades de rendimiento y disco) y se puede administrar fácilmente con otras herramientas como virt-manager.

Supuestos

Este tutorial rápido asume que:
  • Desea ejecutar un servidor KVM con al menos una máquina virtual invitada,
  • Su servidor KVM obtiene una dirección IP en su red,
  • Su(s) máquina(s) virtual(es) obtiene(n) una dirección IP de su red, por lo que puede usar puentes en lugar de natting (usar NATting en lugar de puentes es una tarea fácil pero no forma parte de este procedimiento),
  • Puede usar lvm para la asignación de espacio en disco en su maestro KVM (usar otros métodos de asignación de espacio en disco, como archivos de imagen, también es fácil, pero no forma parte de este procedimiento); tenga en cuenta que tendrá que instalarlo antes de pasar por el a continuación, si aún no está instalado en su servidor.
  • Está utilizando Ubuntu 10.04 o posterior. Debe ser un servidor Ubuntu actualizado con conectividad de red y acceso a través de ssh.

Agradecimientos

Esta es una breve guía que debe renovarse y lo hará pronto; sin embargo, en su estado actual, se tomó principalmente de www.screenage.de, así que un gran apoyo para el autor original, ccm. Se han realizado modificaciones menores para mejorar la legibilidad.

Poner en marcha la red

Para la red en puente, debe instalar las utilidades del puente y cambiar la configuración de su red. Primero instale el paquete: Ahora agregue un puente llamado „br0“ (esto solo se ha hecho una vez):
$ sudo apt-get install bridge-utils
Ahora cambie su /etc/network/interfaces para que use el puente br0. Este paso configura br0 en lugar de eth0. Piense en eth0 como si fuera solo un transporte físico agregado a la interfaz del puente virtual. auto br0iface br0 inet staticaddress 192.168.1.100netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1bridge_ports eth0bridge_fd 9bridge_hello 2bridge_maxage 12bridge_stp off

Asegúrese de no olvidar configurar su „eth0“ en „iface eth0 inet manual“ como se muestra arriba. Esto es necesario porque desea evitar que eth0 obtenga una dirección a través de dhcp, pero aún desea que esté allí para su puente, ya que es la capa física. Después de configurar el puente, reinicie su red (sudo /etc/init.d/networking restart ) o reinicie su servidor. Si ya está accediendo a su servidor por ssh, tenga en cuenta que una mala configuración podría bloquearlo.

Instalar KVM

Ahora es el momento de instalar kvm y algunas aplicaciones auxiliares útiles:
$ sudo brctl addbr br0

Eso es todo:ya tiene un servidor kvm ahora. Hora de…

Instala tu primera máquina virtual

Vamos a configurar un volumen lógico de 100 Gb para el invitado, descargar Ubuntu y crear una máquina con 2 Gb de RAM y 4 núcleos:

$ sudo apt-get install qemu-kvm ubuntu-vm-builder uml-utilities \ virtual

Obtener una conexión VNC

KVM usa VNC para brindarle una interfaz gráfica a su máquina. Lo bueno de esto es que te permite usar instaladores gráficos (y sí, incluso Windows) sin problemas. Como incluso el servidor Ubuntu arranca en modo gráfico al principio, es genial usar VNC aquí.

Supongo que está trabajando en un servidor remoto. KVM le da a cada invitado que lanza una nueva instancia de vnc con un nuevo puerto incrementado. Comienza con 5900. Así que hagamos un túnel a través de ssh:

# cree un volumen lógico vacío de 100 Gbsudo lvcreate --size 100G vg0 --name guest1# descargue Ubuntu iso (o use uno que ya tenga)$ wget http://..../# create machine$ sudo virt-install --connect qemu:///system -n guest1 -r 2048 \ --vcpus=4 -f /dev/mapper/guest1 --network =bridge:br0 \ --vnc --accelerate -v -c ./SOMEUBUNTUISO.iso \ --os-type=linux --os-variant=ubuntuKarmic --noautoconsole# tenga en cuenta:"ubuntuKarmic" es actualmente el más reciente # esquema predeterminado de virt-install:solo use esto si tiene dudas.

Se conecta a su host kvm remoto a través de ssh y abre un túnel ssh en el puerto 5900. Ahora inicie su cliente VNC preferido localmente y permita que se conecte a la pantalla "0" o al puerto 5900, lo que significa lo mismo en VNC (duh...).

A partir de ahora, debería ver su servidor en una pantalla VNC. Instálelo como instalaría cualquier otro servidor. La red está conectada en puente, por lo que incluso podría usar dhcp si se ofrece en su red.

Asegúrese de instalar el paquete "acpi" dentro de su invitado kvm; de lo contrario, no podrá detener al invitado desde el maestro (como se hace a través de acpi):

ssh usuario@remotekvmhost -L 5900:localhost:5900

Después de la instalación, puede administrar sus gues de kvm usando los siguientes comandos:

# asegúrese de que "acpi" esté instalado en *guest* machinesudo apt-get install acpi

Montar los volúmenes LVM

Como habrá notado, los volúmenes lvm de su invitado virtual no se pueden montar directamente en el maestro, ya que contienen su propia tabla de particiones. Sin embargo, si necesita acceder al sistema de archivos del invitado desde el maestro, debe crear algunos nodos de dispositivo. Existe una gran herramienta llamada "kpartx" que puede crear y eliminar nodos de dispositivos por usted. Es tan fácil como esto:

# listar instancias en ejecución$ virsh list# iniciar una instancia$ virsh start NOMBREINSTANCIA# detener una instancia cortésmente$ virsh detener INSTANCIA# destruir inmediatamente una instancia en ejecución $ virsh destroy INSTANCE# edita el archivo de configuración para una instancia$ virsh edit INSTANCE

Tenga en cuenta que este método también funciona con otros dispositivos de bloque, como archivos de imagen que contienen tablas de partición. Solo puede tener problemas cuando su volumen lvm contiene su propio lvm. Si ese es el caso, juegue con pvscan, vgscan y lvscan después de usar kpartx. Sea valiente, pero tenga en cuenta que hacer una copia de seguridad de los datos siempre es una buena idea.

Interfaces de gestión alternativas

En caso de que realmente necesite una interfaz gráfica de usuario para sus necesidades de gestión, marque "virt-manager". Puede instalar esto en su escritorio y administrar de forma remota las instancias en ejecución:

$ sudo install virt-manager

Sin embargo, debe consultar la página "Administrador de máquinas virtuales" de RedHat. Puede ser una buena idea compilar e instalar manualmente una versión más reciente y confiar en los procedimientos de configuración. Personalmente, prefiero usar la consola de texto sin formato aquí, ya que ayuda a poder actuar bastante rápido y desde cualquier lugar cuando ocurren problemas y, por supuesto, no tiene la sobrecarga de ejecutar X11 en el servidor.

Conclusión

Hoy en día es bastante fácil configurar un servidor KVM. Como los invitados habilitados para KVM/libvirt son bastante rápidos, es una forma agradable y fácil incluso de alojar máquinas virtuales. Ejecuto alrededor de una docena de máquinas virtuales y tres servidores de hardware durante dos años sin ningún problema serio.


Linux
  1. Cómo configurar un servidor SVN en CentOS

  2. Cómo configurar el servidor Rsyslog en Debian 11

  3. Cómo configurar SSH sin contraseña en Linux

  4. ¿Cómo configurar el servidor NTP en CentOS?

  5. ¿Cómo iniciar el servidor Tomcat en Linux?

Cómo:Configuración inicial del servidor Ubuntu 15.04

Cómo:Configuración inicial del servidor Fedora 21

Cómo:Configuración inicial del servidor Debian 8.2

Cómo configurar HAProxy en CentOS 8

Cómo configurar la caché de Nginx en el servidor LEMP

¿Cómo cambiar la zona horaria en Ubuntu 18.04 Server?

    # install kpartx$ sudo install kpartx# ¡asegúrese de que virtual gues esté apagado!# cree nodos de dispositivo$ sudo kpartx -a /dev/mapper /guest1# compruebe /dev/mapper para ver si hay nuevos nodos de dispositivo y móntelos/desmóntelos# una vez que haya terminado, elimine los nodos$ sudo kpartx -d /dev/mapper/guest1