KVM (máquina virtual basada en kernel o virtual basada en kernel) es un software de virtualización gratuito y de código abierto código fuente. Puede crear varias máquinas virtuales (VM), cada VM tiene su propio hardware virtual, como disco, procesador, RAM, etc. Se incluyó en la parte principal del kernel de Linux en la versión 2.6.20 del kernel.

Si buscas una alternativa VirtualBox, recomendamos encarecidamente utilizar KVM. También utilizamos personalmente este increíble software de virtualización.

Instalación de KVM Ubuntu 17.04

Para instalar KVM, debe tener los siguientes requisitos previos.

  1. Habilite la virtualización en el BIOS del sistema.
  2. Verifique la CPU del sistema si admite la virtualización. Ejecute el siguiente comando.

egrep -c '(vmx|svm)' /proc/cpuinfo

Cuando obtiene el resultado del comando anterior, 1 o más significa que el procesador admite la virtualización; de lo contrario, 0 o menos significa que no es compatible.

3. Verifique la arquitectura ubuntu 16.04 LTS ejecutando un comando, es decir

X86_64 es un núcleo de 64 bits.
I386, i486, i586 o i686 son núcleos de 32 bits.

El sistema operativo de 32 bits está limitado a 2 GB de RAM como máximo para esto máquina virtual.
Un kernel de 32 bits solo alojará un kernel invitado de 32 bits, mientras que un kernel de 64 bits puede alojar sistemas operativos invitados tanto de 32 como de 64 bits.

Siga los pasos para instalar KVM en Ubuntu

En esta sección, anotaremos los pasos para instalar KVM. En nuestro post anterior aprendimos. Quizás esto también te resulte interesante.

1. Instale KVM Ubuntu 17.04 y otros paquetes dependientes

En Ubuntu 17.04 LTS puedes usar el comando apto o apt-obtener ambos. No habrá diferencias en los paquetes instalados usando el comando apt o apt-get, así que estás bien aquí.

actualización sudo apta

sudo apt install qemu - kvm libvirt - bridge bin - utils

2. Obtenga información sobre nuevos usuarios y grupos para el software KVM.

Después de instalar los paquetes, se producirán algunas adiciones en la cantidad de usuarios y grupos.

(A) Se crean dos usuarios.
-libvirt-qemu
-libvirt-dnsmasq

sharad@linuxworld :~ $ cola - 2 /etc/passwd

libvirt - qemu : x : 64055 : 129 : Libvirt Qemu ,:/ var / lib / libvirt : /bin/ false

libvirt - dnsmasq : x : 121 : 130 : Libvirt Dnsmasq ,:/ var / lib / libvirt / dnsmasq : /bin/ false

sharad@linuxworld :~$

B) se crearán dos grupos.

- kvm
-libvirtd

sharad@linuxworld :~ $ cola - 2 /etc/group

kvm : x : 129 :

libvirtd:x:130:sharad

sharad@linuxworld :~ $

Es posible que hayas notado que la llamada "farsa" utilizada es miembro del grupo "libvirtd". Esto significa que este usuario puede usar KVM.

3. Verifique su instalación KVM

Es bastante sencillo comprobar su instalación KVM. Ejecute el comando -

virsh - con qemu: ///lista del sistema

La primera vez muestra un error.

error: no se pudo conectar al hipervisor

error: No se pudo conectar el enchufe a ‘/var/run/libvirt/libvirt-sock’:Permiso denegado

sharad@linuxworld :~ $

Para resolver este problema, debe cerrar sesión y volver a iniciarla en su escritorio. Especifica que el usuario actual debe iniciar sesión nuevamente.

Una vez que haya iniciado sesión, ejecute el comando nuevamente. Esta vez debería obtener el resultado que se muestra a continuación. Está vacío porque no se está creando la máquina virtual.

sharad@linuxworld :~ $ virsh - con qemu : ///lista del sistema

ID Nombre Estado

—————————————————-

sharad@linuxworld :~ $

4. Instale el Administrador de máquinas virtuales

Aquí estamos usando Virtual Machine Manager, que es una aplicación de escritorio para administrar maquinas virtuales KVM a través de libvirt.

Ejecute este comando para instalar Virtual Machine Manager.

sudo apt install virt - administrador

Puede abrir Virtual Machine Manager ingresándolo en Dash Home. Haga clic en el icono y se abrirá la aplicación.

Para abrir Virtual Machine Manager a través del símbolo del sistema, ingrese:

virt - gerente

Anteriormente, cuando instalamos KVM en Ubuntu 14.04 LTS Desktop, encontramos un problema al crear la primera máquina virtual, pero lo solucionamos muy fácilmente. No encontramos tal problema en Ubuntu 16.04 LTS Desktop.

Si tiene preguntas sobre el tema "Instalación de KVM Ubuntu 17.04", escríbanos en el formulario de comentarios. Le ayudaremos a comprender su problema mucho más rápido.

Si encuentra un error, resalte un fragmento de texto y haga clic en Ctrl+Entrar.

Anteriormente escribí sobre la instalación. Qemu-KVM V Debian. Pero, en mi opinión, la información resultó incompleta. Además, no tuve en cuenta algunos matices. Por lo tanto, les traigo un artículo actualizado sobre la instalación de la máquina virtual Qemu-KVM. Naturalmente, eliminaré el artículo anterior.

Creo que debería explicar qué es. máquina virtual, no vale la pena. Probablemente lo sepas (ya que estás leyendo este artículo). Si no - . Nos centraremos directamente en el tema. Qemu-KVM es un proyecto que combina dos de las tecnologías de virtualización completa más soñadoras (en mi opinión). Qemu es una especie de “emulador de computadora” que admite una gran variedad de arquitecturas de hardware. Puede ejecutar casi cualquier sistema operativo para cualquier dispositivo (por ejemplo, ejecuté versiones antiguas MacOS X, que es para PowerPC). La desventaja de Qemu es su lentitud debido a la falta de aceleración por hardware. Y luego llega otro proyecto al rescate: KVM. O máquina virtual del kernel. KVM es una tecnología del kernel de Linux que permite la aceleración del hardware con virtualización completa. La desventaja de KVM es que solo admite arquitectura x86.

¿Por qué Qemu-KVM? Para Linux, este es el proyecto de virtualización más recomendado. Funciona más rápido que VirtualBox Y Reproductor VMware(según mis pruebas), KVM es una tecnología nativa para Linux. Además, si tienes una buena computadora de juego con dos tarjetas de video, puede instalar en Qemu-KVM ventanas, coloque una de las tarjetas de video y olvídese de reiniciar en otro sistema operativo. Si quieres jugar, lanzas una máquina virtual con Windows y juegas. El rendimiento será el 95% del rendimiento de Windows instalado en el hardware. Pero en mi opinión es sencillamente precioso. Escribiré un artículo aparte sobre esto. Será interesante :)

Ahora describiré nuestro plan de acción. En primer lugar, realizaré la instalación usando un ejemplo. Debian 8.2 GNOME de 64 bits, aunque no habrá diferencias significativas en otros entornos gráficos. En segundo lugar, describiré cómo trabajar con KVM solo en modo gráfico (después de todo, no lo instalaremos en un servidor). Por tanto, nada de terminales, scripts, etc., como se suele hacer en el caso de la virtualización de servidores. En tercer lugar, le aconsejo que lea adicionalmente la documentación de Qemu y KVM (proporcionaré enlaces al final del artículo). Esto le resultará muy útil si desea aprovechar al máximo todo el potencial de este paquete. Bueno, nuestro plan de acción es claro. Ahora los pasos de acción:

  • instalar qemu-kvm;
  • instalación de un administrador gráfico y utilidades adicionales;
  • configurar un puente de red;
  • crear almacenamiento para máquinas virtuales;
  • instalar un sistema de invitados.
Primero, verifiquemos si su computadora admite la virtualización de hardware. Para hacer esto, ejecute el comando en la terminal:

egrep "(vmx|svm)" /proc/cpuinfo

La salida del comando debe contener vmx, o svm. Si no están allí, verifique si la virtualización está habilitada en el BIOS (busque los elementos Intel VT-i o similar para AMD). Si no hay nada, entonces no tienes suerte.

Instale los componentes necesarios:

sudo apto instalar qemu-kvm bridge-utils libvirt-bin virt-manager

Agréguese al grupo libvirt:

sudo adduser $ USUARIO libvirt

Ahora configuremos la red. Para que todas las máquinas virtuales puedan acceder a la red y comunicarse entre sí, debe crear puente de red y tarjetas de red virtuales para cada máquina virtual ( dispositivos de toque). Dado que instalaremos máquinas virtuales desde la interfaz gráfica, no es necesario crear grifos manualmente. Gerente Virt hará esto por nosotros cada vez que empecemos. Sólo necesitamos configurar el puente. Primero, habilitemos el enrutamiento en el kernel:

sudo nano /etc/sysctl.conf

Buscamos la línea net.ipv4_forward=0 y cambiamos su valor a 1 . También ahorramos:

sudo sysctl -p

De ahora en adelante asumiré lo siguiente: 1) hay uno en su computadora tarjeta de red, que recibe una dirección IP del enrutador. 2) accedes a Internet a través de un módem 3G y tu tarjeta de red es gratuita. Esta opción implica más trabajo manual, pero se ha probado varias veces (lo he hecho yo mismo en una de las máquinas). Entonces, abra el archivo de interfaces:

sudo nano /etc/network/interfaces

Su contenido predeterminado es:



baja automática
bucle invertido iface lo inet

Cambiamos su contenido. Para la primera opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
baja automática
bucle invertido iface lo inet

auto eth0
manual de iface eth0 inet

auto br0
iface br0 inet estático
dirección 192.168.0.2
puerta de enlace 192.168.0.1
máscara de red 255.255.255.0
red 192.168.0.0
transmisión 192.168.0.255
puente_ports eth0
puente_stp apagado
puente_maxwait 0
puente_fd 0

Para la segunda opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
baja automática
bucle invertido iface lo inet

ppp0 automático
iface ppp0 inet wvdial

auto eth0
manual de iface eth0 inet

auto br0
iface br0 inet estático
dirección 192.168.0.2
puerta de enlace 192.168.0.1
máscara de red 255.255.255.0
red 192.168.0.0
transmisión 192.168.0.255
puente_ports eth0
puente_stp apagado
puente_maxwait 0
puente_fd 0
ruta arriba del default br0

Nota: Si no necesita una conexión automática a Internet a través de un módem después de iniciar el sistema, elimine las líneas auto ppp0 y
iface ppp0 inet wvdial. De lo contrario, asegúrese de que cuando se inicie el sistema, el módem esté insertado en el puerto USB.

Ahorrar. Ahora, para la opción con módem, necesita instalar el programa de marcador. wvdial:

sudo apto instalar wvdial

Editar la configuración (nota: se utiliza un módem 3G como ejemplo Línea recta. Puede encontrar fácilmente ejemplos de configuraciones para otros módems en Internet):

sudo nano /etc/wvdial.conf


Inicial1 = ZTA
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","home.beeline.ru"
Modo estúpido = 1
RDSI = 0
Tipo de módem = Módem USB
Nuevo PPPD = sí
Teléfono = *99#
Módem = /dev/ttyACM0
Nombre de usuario = línea recta
Contraseña = línea recta
Baudios = 9600
País = Rusia
Reconexión automática=activada
DNS automático = desactivado
Segundos inactivos = 0

Ahorrar. Ahora el módem se encenderá inmediatamente después de que se inicie el sistema. La alineación ruta del default br0 elimina la ruta predeterminada a través del puente. Si no lo haces, no podrás conectarte a Internet, ya que el tráfico irá por el puente y no por el módem 3G.

El último paso que debemos decir cortafuegos, para que pase el tráfico desde nuestras máquinas virtuales a la red y viceversa. Para hacer esto, puedes hacerlo de dos maneras: escribir un guión con varias reglas para iptables, que se ejecutará junto con el sistema, o ingrese estas reglas manualmente y guárdelas. Usaré la primera opción. Para el segundo necesitarás instalar el paquete. iptables-persistente y simplemente ingresa las reglas una por una (usando sudo). Entonces. crear un script (en cualquier editor de texto). Pegue el siguiente contenido allí:

#!/bin/sh

# Definir la interfaz de salida para la cual se aplicará el reemplazo de dirección (NAT)
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASCARADA

# Reenviamos todos los paquetes que llegaron al módem desde red global(0.0.0.0/0) a la red local (192.168.0.0/24)
iptables -v -A ADELANTE -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACEPTAR

# Reenviar todos los paquetes provenientes de red local(192.168.0.0/24) a global (0.0.0.0/0)
iptables -v -A ADELANTE -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACEPTAR

Guárdalo como puerta de enlace.sh y otorgar derechos de ejecución (ya sea en las propiedades del archivo o en la terminal con el comando chmod +x puerta de enlace.sh). Ahora puede iniciarlo manualmente después de que se inicie el sistema o agregarlo al inicio. Para hacer esto, mueva el script a ~/.config/autostart(v. gestor de archivos enciende el programa archivos ocultos y verás el directorio .config en su directorio personal).

Ahora todo está listo para instalar la máquina virtual. Desde el menú de la aplicación, inicie Virt Manager (administrador de máquinas virtuales):

Hacer clic clic derecho en línea servidor local y elige Detalles. Ir a la pestaña Almacenamiento. Necesitamos especificar el directorio (o partición/disco) para almacenar las máquinas virtuales.

En la esquina inferior izquierda, haga clic en el signo más ( Agregar una piscina), indique el tipo de almacenamiento y la ruta al mismo.

en la pestaña Interfaces de red, puedes comprobar si todo funciona.

Ahora presionamos Archivo - Nuevo máquina virtual . Especifique la ruta a la imagen del disco y el tipo de máquina virtual. A continuación indicamos la cantidad RAM para ello y el número de núcleos de procesador. A continuación indicamos nuestro almacenamiento y pulsamos Nuevo volumen. Especifique el nombre, deje el tipo qcow2 y tamaño. sera virtual disco duro. Si planea instalar un sistema con un shell gráfico y muchos programas, proporcione más espacio (50 gigabytes). En última pestaña poner una marca en Cambiar la configuración antes del lanzamiento, comprobamos que la calidad dispositivo de red Nuestro puente está seleccionado, escriba cualquier nombre para la máquina virtual y haga clic Completo. La ventana de parámetros de esta máquina virtual se abrirá frente a usted.





Ir a la pestaña UPC y pon una marca en Copiar la configuración del procesador host.

Al lado de la pestaña Neto(siguiente), y también indicar vitio. en la pestaña Mostrar por favor indique Condimentar, y en la pestaña Video - QXL. Normalmente este enlace proporciona máximo rendimiento dibujar gráficos, pero si quieres, puedes experimentar. Tenga en cuenta que para los invitados sistemas windows, requiere la instalación por separado del controlador QXL (en el propio Windows).


Ahora que todo está listo, haz clic en la esquina superior izquierda. Iniciar instalación. E instale el sistema como de costumbre, con una excepción: tan pronto como el instalador comience a configurar automáticamente la red, haga clic en Cancelar y seleccione Configurar la red manualmente. Especifique la dirección IP deseada para la máquina virtual (en nuestro caso 192.168.0.3 ), máscara de subred ( 255.255.255.0 ), puerta de enlace (la puerta de enlace será la dirección del host, es decir 192.168.0.2 ) y servidor DNS (aquí solo especifique Google 8.8.8.8 ). Eso es todo. No hay necesidad de hacer nada más. Instale el sistema y configúrelo. En general, eso es todo. Los pasos descritos son una forma de reemplazar, digamos, VirtualBox con una alternativa mejor. Después de leer la documentación, comprenderá cuán amplias son las capacidades de Qemu-KVM. Deliberadamente no describí aquí parámetros y métodos de consola adicionales para iniciar máquinas virtuales a través del terminal, ya que esto no siempre es necesario en una máquina doméstica. Escribiré un artículo aparte sobre esto, sobre cómo configurar un servidor multifuncional doméstico (que también puede actuar como un servidor de máquina virtual). Para aquellos que, por alguna razón, no entendieron lo que estaba escrito, o todavía hay momentos incomprensibles, les sugiero que vean un video en el que no describiré, pero mostraré cómo instalar y configurar todo esto. Si tiene sugerencias o adiciones al artículo, escriba en los comentarios.

Llega un momento en la vida de un administrador de sistemas en el que tiene que construir una infraestructura empresarial desde cero o rehacer una existente que ha sido heredada. En este artículo hablaré sobre cómo implementar correctamente un hipervisor basado en Linux KVM y libvirt con soporte LVM (grupo lógico).

Revisaremos todas las complejidades de la administración del hipervisor, incluidas las utilidades de consola y GUI, la expansión de recursos y la migración de máquinas virtuales a otro hipervisor.

Primero, comprendamos qué es la virtualización. La definición oficial es: "La virtualización es la provisión de un conjunto de recursos informáticos o su combinación lógica, abstraídos de la implementación del hardware, al tiempo que proporciona un aislamiento lógico entre sí de los procesos informáticos que se ejecutan en el mismo recurso físico". Es decir, en términos humanos, al tener un servidor potente, podemos convertirlo en varios servidores de tamaño mediano, y cada uno de ellos realizará la tarea que se le asigne en la infraestructura, sin interferir con los demás.

Los administradores de sistemas que trabajan estrechamente con la virtualización en la empresa, maestros y virtuosos de su oficio, se dividen en dos campos. Algunos son partidarios del VMware para Windows de alta tecnología, pero increíblemente caro. Otros son fanáticos de las soluciones gratuitas y de código abierto basadas en Linux VM. Podríamos enumerar las ventajas de VMware durante mucho tiempo, pero aquí nos centraremos en la virtualización basada en Linux VM.

Tecnologías de virtualización y requisitos de hardware.

Ahora existen dos tecnologías de virtualización populares: Intel VT y AMD-V. Intel VT (de Intel Virtualization Technology) implementa virtualización en modo de direccionamiento real; la virtualización de E/S de hardware correspondiente se denomina VT-d. Esta tecnología suele denominarse con la abreviatura VMX (Virtual Machine eXtension). AMD creó sus propias extensiones de virtualización y las llamó inicialmente AMD Secure Virtual Machine (SVM). Cuando la tecnología llegó al mercado, pasó a ser conocida como AMD Virtualization (abreviada como AMD-V).

Antes de poner en funcionamiento el hardware, asegúrate de que el equipo soporta alguna de estas dos tecnologías (puedes consultar las especificaciones en la web del fabricante). Si hay soporte de virtualización disponible, se debe habilitar en el BIOS antes de implementar el hipervisor.

Otros requisitos de los hipervisores incluyen la compatibilidad con RAID de hardware (1, 5, 10), lo que aumenta la tolerancia a fallos del hipervisor al salir. discos duros fuera de servicio. Si no hay soporte para RAID de hardware, puede utilizar el software como último recurso. ¡Pero RAID es imprescindible!

La solución descrita en este artículo aloja tres máquinas virtuales y se ejecuta correctamente en requisitos mínimos: Core 2 Quad Q6600 / 8 GB DDR2 PC6400 / 2 × 250 GB HDD SATA (hardware RAID 1).

Instalación y configuración de un hipervisor

Le mostraré cómo configurar un hipervisor usando Debian Linux 9.6.0 - X64-86 como ejemplo. Puede utilizar cualquier distribución de Linux que desee.

Cuando decidas la elección del hardware y finalmente te lo entreguen, llegará el momento de instalar el hipervisor. Al instalar el sistema operativo, hacemos todo como de costumbre, a excepción de la partición del disco. Los administradores sin experiencia suelen seleccionar la opción "Particionar automáticamente todo el espacio en disco sin utilizar LVM". Entonces todos los datos se escribirán en un volumen, lo cual no es bueno por varias razones. Primero, si su disco duro falla, perderá todos sus datos. En segundo lugar, cambiar el sistema de archivos causará muchos problemas.

En general, para evitar pasos innecesarios y pérdidas de tiempo, recomiendo utilizar la partición del disco con LVM.

Administrador de volúmenes lógicos

Logical Volume Manager (LVM) es un subsistema disponible en Linux y OS/2, construido sobre Device Mapper. Su tarea es representar diferentes áreas de un disco duro o áreas de varios discos duros como un volumen lógico. LVM crea un grupo de volúmenes lógicos (VG - Volumes Group) a partir de volúmenes físicos (PV - Physical Volumes). Éste, a su vez, consta de volúmenes lógicos (LV - Volumen Lógico).

ahora en todos Distribuciones de Linux con kernel 2.6 y superior hay soporte para LVM2. Para usar LVM2 en un sistema operativo con kernel 2.4, necesita instalar un parche.

Una vez que el sistema haya detectado los discos duros, se iniciará el administrador de particiones del disco duro. Seleccione Guiado: use todo el disco y configure LVM.


Ahora seleccionamos el disco en el que se instalará nuestro grupo de volúmenes.



El sistema ofrecerá opciones para el diseño de medios. Seleccione "Escribir todos los archivos en una partición" y continúe.




Después de guardar los cambios, obtendremos un grupo lógico y dos volúmenes. La primera es la partición raíz y la segunda es el archivo de intercambio. Aquí muchos se preguntarán: ¿por qué no elegir el marcado manualmente y crear el LVM usted mismo?

Responderé simplemente: al crear un grupo lógico de arranque VG sección de arranque no está escrito en VG, sino que se crea en una sección separada con sistema de archivos ext2. Si esto no se tiene en cuenta, el volumen de inicio terminará en un grupo lógico. Esto lo condenará a la agonía y al sufrimiento al restaurar el volumen de inicio. Es por eso que la partición de inicio se envía a un volumen que no es LVM.



Pasemos a la configuración del grupo lógico del hipervisor. Seleccione el elemento "Configuración del administrador de volúmenes lógicos".



El sistema le notificará que todos los cambios se escribirán en el disco. Estamos de acuerdo.



vamos a crear nuevo grupo- por ejemplo, llamémoslo vg_sata.



INFORMACIÓN

Los servidores utilizan medios SATA, SSD, SAS, SCSI, NVMe. Al crear un grupo lógico, es una buena práctica especificar no el nombre del host, sino el tipo de medio que se utiliza en el grupo. Le aconsejo que nombre el grupo lógico así: vg_sata, vg_ssd, vg_nvme, etc. Esto le ayudará a comprender de qué medios se construye el grupo lógico.




Creemos nuestro primer volumen lógico. Este será el volumen de la partición raíz del sistema operativo. Seleccione el elemento "Crear volumen lógico".



Seleccione un grupo para el nuevo volumen lógico. Sólo tenemos uno.



Asignamos un nombre al volumen lógico. Al asignar un nombre, lo más correcto es utilizar un prefijo en forma del nombre de un grupo lógico, por ejemplo, vg_sata_root, vg_ssd_root, etc.



Especifique el volumen para el nuevo volumen lógico. Le aconsejo que asigne 10 GB para la raíz, pero es posible menos, ya que el volumen lógico siempre se puede ampliar.



Por analogía con el ejemplo anterior, creamos los siguientes volúmenes lógicos:

  • vg_sata_home: 20 GB para directorios de usuarios;
  • vg_sata_opt: 10 GB para instalar el software de la aplicación;
  • vg_sata_var: 10 GB para datos que cambian con frecuencia, por ejemplo, registros del sistema y otros programas;
  • vg_sata_tmp: 5 GB para datos temporales; si la cantidad de datos temporales es grande, se puede hacer más. En nuestro ejemplo, esta sección no se creó por ser innecesaria;
  • vg_sata_swap: igual a la cantidad de RAM. Esta es una sección para intercambio y la creamos como una red de seguridad, en caso de que se agote la RAM en el hipervisor.

Después de crear todos los volúmenes, completamos el trabajo del administrador.



Ahora disponemos de varios volúmenes para crear particiones del sistema operativo. No es difícil adivinar que cada partición tiene su propio volumen lógico.



Creamos una partición con el mismo nombre para cada volumen lógico.



Guarde y registre los cambios realizados.



Después de guardar los cambios en el diseño del disco, los componentes básicos del sistema comenzarán a instalarse y luego se le pedirá que seleccione e instale componentes adicionales del sistema. De todos los componentes, necesitaremos el servidor ssh y las utilidades estándar del sistema.



Después de la instalación, el gestor de arranque GRUB se generará y escribirá en el disco. Lo instalamos en el disco físico donde está guardada la partición de arranque, es decir /dev/sda.




Ahora esperamos hasta que el cargador de arranque termine de escribir en el disco y, después de la notificación, reiniciamos el hipervisor.





Después de que el sistema se reinicie, inicie sesión en el hipervisor a través de SSH. En primer lugar, instale las utilidades necesarias para el trabajo desde la raíz.

$ sudo apt-get install -y sudo htop screen net-tools dnsutils bind9utils sysstat telnet traceroute tcpdump wget curl gcc rsync

Configura SSH a tu gusto. Le aconsejo que realice inmediatamente la autorización mediante claves. Reinicie y verifique la funcionalidad del servicio.

$ sudo nano /etc/ssh/sshd_config $ sudo systemctl reiniciar sshd; sudo systemctl estado sshd

Antes de instalar el software de virtualización, debe verificar los volúmenes físicos y el estado del grupo lógico.

$sudo pvscan $sudo lvs

Instalamos componentes y utilidades de virtualización para crear un puente de red en la interfaz del hipervisor.

$ sudo apt-obtener actualización; apt-get update -y $ sudo apt install qemu-kvm libvirt-bin libvirt-dev libvirt-daemon-system libvirt-clients virtinst bridge-utils

Después de la instalación, configuramos el puente de red en el hipervisor. Comente la configuración de la interfaz de red y establezca otras nuevas:

$ sudo nano /etc/network/interfaces

El contenido será algo como esto:

Auto br0 iface br0 inet dirección estática 192.168.1.61 máscara de red 255.255.255.192 puerta de enlace 192.168.1.1 transmisión 192.168.0.61 servidor de nombres dns 127.0.0.1 sitio de búsqueda dns bridge_ports enp2s0 bridge_stp off bridge_waitport 0 bridge_fd 0

Agregamos nuestro usuario, bajo el cual trabajaremos con el hipervisor, a los grupos libvirt y kvm (para RHEL el grupo se llama qemu).

$ sudo gpasswd -a iryzhevtsev kvm $ sudo gpasswd -a iryzhevtsev libvirt

Ahora necesitamos inicializar nuestro grupo lógico para que funcione con el hipervisor, ejecutarlo y agregarlo al inicio cuando se inicie el sistema.

$ sudo virsh pool-list $ sudo virsh pool-define-as vg_sata logic --target /dev/vg_sata $ sudo virsh pool-start vg_sata; sudo virsh pool-autostart vg_sata $ sudo virsh pool-list

INFORMACIÓN

Para que un grupo LVM funcione correctamente con QEMU-KVM, primero debe activar el grupo lógico a través de la consola virsh.

Ahora descargue la distribución para instalarla en sistemas invitados y colóquela en la carpeta deseada.

$ sudo wget https://mirror.yandex.ru/debian-cd/9.5.0/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso $ sudo mv debian-9.5.0-amd64-netinst .iso /var/lib/libvirt/images/; ls -al /var/lib/libvirt/images/

Para conectarse a máquinas virtuales a través de VNC, edite el archivo /etc/libvirt/libvirtd.conf:

$ sudo grep "listen_addr = " /etc/libvirt/libvirtd.conf

Descomentemos y cambiemos la línea listening_addr = "0.0.0.0" . Guardamos el archivo, reiniciamos el hipervisor y comprobamos que todos los servicios se han iniciado y están funcionando.

La continuación está disponible sólo para miembros.

Opción 1. Únase a la comunidad del "sitio" para leer todos los materiales del sitio

¡La membresía en la comunidad dentro del período especificado le dará acceso a TODOS los materiales de Hacker, aumentará su descuento acumulativo personal y le permitirá acumular una calificación profesional de Xakep Score!

En Ubuntu, se recomienda utilizar el hipervisor KVM (administrador de máquinas virtuales) y la biblioteca libvirt como herramientas de administración del mismo. Libvirt incluye un conjunto de API de software y aplicaciones de usuario para administrar máquinas virtuales (VM) virt-manager (interfaz gráfica, GUI) o virsh ( línea de comando,CLI). Como administradores alternativos, puede utilizar convirt (GUI) o convirt2 (interfaz WEB).

Actualmente, sólo el hipervisor KVM es oficialmente compatible con Ubuntu. Este hipervisor es parte del código del kernel del sistema operativo Linux. A diferencia de Xen, KVM no admite la paravirtualización, lo que significa que para poder utilizarlo, su CPU debe admitir tecnologías VT. Puedes comprobar si tu procesador soporta esta tecnología ejecutando el comando en la terminal:

Si recibe el siguiente mensaje como resultado:

INFORMACIÓN: /dev/kvm existe Se puede utilizar la aceleración KVM

Esto significa que KVM funcionará sin problemas.

Si recibió el siguiente mensaje a la salida:

Su CPU no admite extensiones KVM. NO se puede utilizar la aceleración KVM.

entonces aún podrás usar la máquina virtual, pero será mucho más lenta.

    Instalar sistemas de 64 bits como invitados

    Asigne más de 2 GB de RAM a sistemas invitados

Instalación

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Se trata de una instalación en un servidor sin X, es decir, que no incluye interfaz gráfica. Puedes instalarlo con el comando.

Sudo apt-get install virt-manager

Después de eso, aparecerá el elemento "Administrador de máquina virtual" en el menú y, con un alto grado de probabilidad, todo funcionará. Si aún surge algún problema, deberá leer las instrucciones en la wiki en inglés.

Creando un sistema de invitados

El procedimiento para crear un sistema invitado utilizando la GUI es bastante sencillo.

Pero el modo texto se puede describir.

qcow2

Al crear un sistema utilizando una GUI como disco duro Se propone seleccionar un archivo de imagen existente o un dispositivo de bloqueo, o crear un nuevo archivo con datos sin procesar (RAW). Sin embargo, este está lejos de ser el único formato de archivo disponible. De todos los tipos de discos enumerados en man qemu-img, el más flexible y moderno es qcow2. Admite instantáneas, cifrado y compresión. Debe crearse antes de crear un nuevo invitado.

Qemu-img crear -o preallocation=metadatos -f qcow2 qcow2.img 20G

Según el mismo qemu-img, la preasignación de metadatos (-o preallocation=metadata) hace que el disco sea un poco más grande inicialmente, pero proporciona un mejor rendimiento cuando la imagen necesita crecer. De hecho, en este caso, esta opción te permite evitar un error desagradable. Imagen creada Inicialmente ocupa menos de un megabyte de espacio y crece hasta el tamaño especificado según sea necesario. El sistema invitado debería ver inmediatamente este tamaño final especificado; sin embargo, durante la fase de instalación puede ver el tamaño real del archivo. Naturalmente, se negará a instalarlo en un disco duro de 200 KB. El error no es específico de Ubuntu; aparece al menos en RHEL.

Además del tipo de imagen, posteriormente puede elegir el método para conectarla: IDE, SCSI o Virtio Disk. El rendimiento del subsistema de disco dependerá de esta elección. No existe una respuesta correcta definitiva; debe elegir según la tarea que se asignará al sistema de invitados. Si el sistema invitado se crea "para mirar", entonces cualquier método servirá. En general, la E/S suele ser el cuello de botella de una máquina virtual, por lo que al crear un sistema muy cargado, este problema debe tratarse de la manera más responsable posible.

Anteriormente escribí sobre la instalación. Qemu-KVM V Debian. Pero, en mi opinión, la información resultó incompleta. Además, no tuve en cuenta algunos matices. Por lo tanto, les traigo un artículo actualizado sobre la instalación de la máquina virtual Qemu-KVM. Naturalmente, eliminaré el artículo anterior.

Creo que debería explicar qué es. máquina virtual, no vale la pena. Probablemente lo sepas (ya que estás leyendo este artículo). Si no - . Nos centraremos directamente en el tema. Qemu-KVM es un proyecto que combina dos de las tecnologías de virtualización completa más soñadoras (en mi opinión). Qemu es una especie de “emulador de computadora” que admite una gran variedad de arquitecturas de hardware. Puede ejecutar casi cualquier sistema operativo para cualquier dispositivo (por ejemplo, ejecuté versiones antiguas MacOS X, que es para PowerPC). La desventaja de Qemu es su lentitud debido a la falta de aceleración por hardware. Y luego llega otro proyecto al rescate: KVM. O máquina virtual del kernel. KVM es una tecnología del kernel de Linux que permite la aceleración del hardware con virtualización completa. La desventaja de KVM es que solo admite arquitectura x86.

¿Por qué Qemu-KVM? Para Linux, este es el proyecto de virtualización más recomendado. Funciona más rápido que VirtualBox Y Reproductor VMware(según mis pruebas), KVM es una tecnología nativa para Linux. Además, si tienes una buena computadora para juegos con dos tarjetas de video, puedes instalarla en Qemu-KVM. ventanas, coloque una de las tarjetas de video y olvídese de reiniciar en otro sistema operativo. Si quieres jugar, lanzas una máquina virtual con Windows y juegas. El rendimiento será el 95% del rendimiento de Windows instalado en el hardware. Pero en mi opinión es sencillamente precioso. Escribiré un artículo aparte sobre esto. Será interesante :)

Ahora describiré nuestro plan de acción. En primer lugar, realizaré la instalación usando un ejemplo. Debian 8.2 GNOME de 64 bits, aunque no habrá diferencias significativas en otros entornos gráficos. En segundo lugar, describiré cómo trabajar con KVM solo en modo gráfico (después de todo, no lo instalaremos en un servidor). Por tanto, nada de terminales, scripts, etc., como se suele hacer en el caso de la virtualización de servidores. En tercer lugar, le aconsejo que lea adicionalmente la documentación de Qemu y KVM (proporcionaré enlaces al final del artículo). Esto le resultará muy útil si desea aprovechar al máximo todo el potencial de este paquete. Bueno, nuestro plan de acción es claro. Ahora los pasos de acción:

  • instalar qemu-kvm;
  • instalación de un administrador gráfico y utilidades adicionales;
  • configurar un puente de red;
  • crear almacenamiento para máquinas virtuales;
  • instalar un sistema de invitados.
Primero, verifiquemos si su computadora admite la virtualización de hardware. Para hacer esto, ejecute el comando en la terminal:

egrep "(vmx|svm)" /proc/cpuinfo

La salida del comando debe contener vmx, o svm. Si no están allí, verifique si la virtualización está habilitada en el BIOS (busque los elementos Intel VT-i o similar para AMD). Si no hay nada, entonces no tienes suerte.

Instale los componentes necesarios:

sudo apto instalar qemu-kvm bridge-utils libvirt-bin virt-manager

Agréguese al grupo libvirt:

sudo adduser $ USUARIO libvirt

Ahora configuremos la red. Para que todas las máquinas virtuales puedan acceder a la red y comunicarse entre sí, debe crear un puente de red y tarjetas de red virtuales para cada máquina virtual ( dispositivos de toque). Dado que instalaremos máquinas virtuales desde la interfaz gráfica, no es necesario crear grifos manualmente. Gerente Virt hará esto por nosotros cada vez que empecemos. Sólo necesitamos configurar el puente. Primero, habilitemos el enrutamiento en el kernel:

sudo nano /etc/sysctl.conf

Buscamos la línea net.ipv4_forward=0 y cambiamos su valor a 1 . También ahorramos:

sudo sysctl -p

A continuación, asumiré lo siguiente: 1) en su computadora hay una tarjeta de red que recibe una dirección IP del enrutador. 2) accedes a Internet a través de un módem 3G y tu tarjeta de red es gratuita. Esta opción implica más trabajo manual, pero se ha probado varias veces (lo he hecho yo mismo en una de las máquinas). Entonces, abra el archivo de interfaces:

sudo nano /etc/network/interfaces

Su contenido predeterminado es:



baja automática
bucle invertido iface lo inet

Cambiamos su contenido. Para la primera opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
baja automática
bucle invertido iface lo inet

auto eth0
manual de iface eth0 inet

auto br0
iface br0 inet estático
dirección 192.168.0.2
puerta de enlace 192.168.0.1
máscara de red 255.255.255.0
red 192.168.0.0
transmisión 192.168.0.255
puente_ports eth0
puente_stp apagado
puente_maxwait 0
puente_fd 0

Para la segunda opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
baja automática
bucle invertido iface lo inet

ppp0 automático
iface ppp0 inet wvdial

auto eth0
manual de iface eth0 inet

auto br0
iface br0 inet estático
dirección 192.168.0.2
puerta de enlace 192.168.0.1
máscara de red 255.255.255.0
red 192.168.0.0
transmisión 192.168.0.255
puente_ports eth0
puente_stp apagado
puente_maxwait 0
puente_fd 0
ruta arriba del default br0

Nota: Si no necesita una conexión automática a Internet a través de un módem después de iniciar el sistema, elimine las líneas auto ppp0 y
iface ppp0 inet wvdial. De lo contrario, asegúrese de que cuando se inicie el sistema, el módem esté insertado en el puerto USB.

Ahorrar. Ahora, para la opción con módem, necesita instalar el programa de marcador. wvdial:

sudo apto instalar wvdial

Editar la configuración (nota: se utiliza un módem 3G como ejemplo Línea recta. Puede encontrar fácilmente ejemplos de configuraciones para otros módems en Internet):

sudo nano /etc/wvdial.conf


Inicial1 = ZTA
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","home.beeline.ru"
Modo estúpido = 1
RDSI = 0
Tipo de módem = Módem USB
Nuevo PPPD = sí
Teléfono = *99#
Módem = /dev/ttyACM0
Nombre de usuario = línea recta
Contraseña = línea recta
Baudios = 9600
País = Rusia
Reconexión automática=activada
DNS automático = desactivado
Segundos inactivos = 0

Ahorrar. Ahora el módem se encenderá inmediatamente después de que se inicie el sistema. La alineación ruta del default br0 elimina la ruta predeterminada a través del puente. Si no lo haces, no podrás conectarte a Internet, ya que el tráfico irá por el puente y no por el módem 3G.

El último paso que debemos decir cortafuegos, para que pase el tráfico desde nuestras máquinas virtuales a la red y viceversa. Para hacer esto, puedes hacerlo de dos maneras: escribir un guión con varias reglas para iptables, que se ejecutará junto con el sistema, o ingrese estas reglas manualmente y guárdelas. Usaré la primera opción. Para el segundo necesitarás instalar el paquete. iptables-persistente y simplemente ingresa las reglas una por una (usando sudo). Entonces. crear un script (en cualquier editor de texto). Pegue el siguiente contenido allí:

#!/bin/sh

# Definir la interfaz de salida para la cual se aplicará el reemplazo de dirección (NAT)
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASCARADA

# Reenviamos todos los paquetes recibidos por el módem desde la red global (0.0.0.0/0) a la red local (192.168.0.0/24)
iptables -v -A ADELANTE -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACEPTAR

# Reenviar todos los paquetes provenientes de la red local (192.168.0.0/24) a la global (0.0.0.0/0)
iptables -v -A ADELANTE -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACEPTAR

Guárdalo como puerta de enlace.sh y otorgar derechos de ejecución (ya sea en las propiedades del archivo o en la terminal con el comando chmod +x puerta de enlace.sh). Ahora puede iniciarlo manualmente después de que se inicie el sistema o agregarlo al inicio. Para hacer esto, mueva el script a ~/.config/autostart(en el administrador de archivos, active mostrar archivos ocultos y verá el directorio .config en su directorio personal).

Ahora todo está listo para instalar la máquina virtual. Desde el menú de la aplicación, inicie Virt Manager (administrador de máquinas virtuales):

Haga clic derecho en la línea servidor local y elige Detalles. Ir a la pestaña Almacenamiento. Necesitamos especificar el directorio (o partición/disco) para almacenar las máquinas virtuales.

En la esquina inferior izquierda, haga clic en el signo más ( Agregar una piscina), indique el tipo de almacenamiento y la ruta al mismo.

en la pestaña Interfaces de red, puedes comprobar si todo funciona.

Ahora presionamos Archivo - Nueva máquina virtual. Especifique la ruta a la imagen del disco y el tipo de máquina virtual. A continuación, le indicamos la cantidad de RAM y el número de núcleos de procesador. A continuación indicamos nuestro almacenamiento y pulsamos Nuevo volumen. Especifique el nombre, deje el tipo qcow2 y tamaño. Este será un disco duro virtual. Si planea instalar un sistema con un shell gráfico y muchos programas, proporcione más espacio (50 gigabytes). En la última pestaña, marque la casilla Cambiar la configuración antes del lanzamiento, verifique que nuestro puente esté seleccionado como dispositivo de red, escriba cualquier nombre para la máquina virtual y haga clic en Completo. La ventana de parámetros de esta máquina virtual se abrirá frente a usted.





Ir a la pestaña UPC y pon una marca en Copiar la configuración del procesador host.

Al lado de la pestaña Neto(siguiente), y también indicar vitio. en la pestaña Mostrar por favor indique Condimentar, y en la pestaña Video - QXL. Por lo general, esta combinación proporciona el máximo rendimiento de representación de gráficos, pero si lo desea, puede experimentar. Tenga en cuenta que para los sistemas invitados de Windows, se requiere una instalación por separado del controlador QXL (en el propio Windows).


Ahora que todo está listo, haz clic en la esquina superior izquierda. Iniciar instalación. E instale el sistema como de costumbre, con una excepción: tan pronto como el instalador comience a configurar automáticamente la red, haga clic en Cancelar y seleccione Configurar la red manualmente. Especifique la dirección IP deseada para la máquina virtual (en nuestro caso 192.168.0.3 ), máscara de subred ( 255.255.255.0 ), puerta de enlace (la puerta de enlace será la dirección del host, es decir 192.168.0.2 ) y servidor DNS (aquí solo especifique Google 8.8.8.8 ). Eso es todo. No hay necesidad de hacer nada más. Instale el sistema y configúrelo. En general, eso es todo. Los pasos descritos son una forma de reemplazar, digamos, VirtualBox con una alternativa mejor. Después de leer la documentación, comprenderá cuán amplias son las capacidades de Qemu-KVM. Deliberadamente no describí aquí parámetros y métodos de consola adicionales para iniciar máquinas virtuales a través del terminal, ya que esto no siempre es necesario en una máquina doméstica. Escribiré un artículo aparte sobre esto, sobre cómo configurar un servidor multifuncional doméstico (que también puede actuar como un servidor de máquina virtual). Para aquellos que, por alguna razón, no entendieron lo que estaba escrito, o todavía hay momentos incomprensibles, les sugiero que vean un video en el que no describiré, pero mostraré cómo instalar y configurar todo esto. Si tiene sugerencias o adiciones al artículo, escriba en los comentarios.