Menú
Está libre
registrarse
el principal  /  POR / VDS KVM Ubuntu 14.04 con cáscara gráfica. Documentación rusa-idioma en Ubuntu

VDS KVM Ubuntu 14.04 con cáscara gráfica. Documentación rusa-idioma en Ubuntu

Anteriormente ya escribí sobre la instalación. Qemu-kvm. en Debian.. Pero, en mi opinión, la información resultó ser incompleta. Además, no consideré algunos matices. Por lo tanto, llamo a su atención un artículo actualizado sobre la instalación de la máquina virtual QEMU-KVM. Antiguo artículo, naturalmente, eliminar.

Creo que explicar lo que es máquina virtual, no vale la pena. Probablemente lo sepa (si lees este artículo). Si no - . Partimizaremos directamente en Sabget. Qemu-kvm. - Este es un proyecto para combinar dos tecnologías de virtualización notables (en mi opinión). QEMU. - Este es un tipo de emulador informático, que admite las grandes arquitecturas de hardware. Puede ejecutar casi cualquier sistema operativo para cualquier dispositivo (por ejemplo, lanzé versiones anteriores. Mac OS X.que para PowerPC.). La desventaja de QEMU es su lentitud debido a la falta de una aceleración de enfoque. Y luego otro proyecto llega al rescate Kvm. . O máquina virtual kernel. KVM es una tecnología de kernel de Linux que permite aceleracion de hardware Con total virtualización. La desventaja de KVM es el apoyo de solo la arquitectura X86.

¿Por qué QMU-KVM? Para Linux, este es el proyecto de virtualización más recomendado. Funciona más rápido que Virtualbox. y VMware Player. (De acuerdo con mis pruebas), KVM es una tecnología nativa de Linux. Además, si eres un buen dueño. equipo de juegos Con dos tarjetas de video, puedes instalar en Qemu-KVM. Ventanas, nos dividimos en una de las tarjetas de video y nos olvidamos del reinicio a otro sistema operativo. Quería jugar: lanzó un virtual con Windows and Play. El rendimiento será del 95% del rendimiento instalado en la "hierro" de Windows. Pero es simplemente magnífico, en mi opinión. Voy a escribir un artículo separado al respecto. Será interesante:)

Ahora describiré el plan de nuestras acciones. Primero, llevaré a cabo la instalación en el ejemplo. Debian 8.2 Gnome 64 bitAunque no habrá diferencias especiales en otros entornos gráficos. En segundo lugar, describiré el trabajo con KVM solo en modo gráfico (no lo pondremos en el servidor). Por lo tanto, no hay terminales, scripts, etc., como generalmente vienen en el caso de la virtualización del servidor. En tercer lugar, le aconsejo que lea además la documentación de QEMU y KVM (Link Link al final del artículo). Es muy útil para usted si desea un máximo de usar todo el potencial de este paquete. Bueno, bueno, el plan de nuestras acciones es claro. Ahora las acciones de los pasos:

  • instalación QEMU-KVM;
  • instalación de un gerente de gráficos y utilidades adicionales;
  • configurando el puente de la red;
  • creando un repositorio para maquinas virtuales;
  • instalación de un sistema de invitados.
Para empezar, verifique si su computadora admite la virtualización de hardware. Para hacer esto, en el terminal realiza el comando:

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

En la salida del equipo debe estar presente, ya sea vmxya sea svm.. Si no hay, si la virtualización está habilitada en el BIOS (busque artículos Intel vt-i o similar para AMD.). Si no hay nada, significa que no es suerte.

Instale los componentes necesarios:

sUDO APT Instale Qemu-KVM Bridge-Utils Libvirt-bin Virt-Manager

Nos agregamos al Grupo Libvirt:

sudo adduser $ usuario libvirt

Ahora establezca la red. Para que todos los automóviles vértice vayan a la red y se comuniquen entre sí, debe crear un puente de red y tarjetas de red virtuales para cada virtual ( toque Dispositivos). Dado que las máquinas virtuales nos instalaremos desde interfaz gráficaNo necesitas crear manualmente toque "s. Virt Manager. Hazlo para nosotros cada vez que empieces. Solo necesitamos configurar el puente. Para empezar, encienda el enrutamiento en el kernel:

sudo nano /etc/sysctl.conf.

Estamos buscando una cadena net.ipv4_forward \u003d 0 y cambie su valor a 1 . Guarda y:

sudo sysctl -p.

A continuación, asumiré lo siguiente: 1) En su computadora hay uno tarjeta de lanaRecibiendo la dirección IP del enrutador. 2) Usted va en línea a través de un módem 3G, y su tarjeta de red es gratuita. Esta opción sugiere más hecha a mano, pero se ha comprobado repetidamente (en uno de los autos en sí). Entonces, abre el archivo de las interfaces:

sudo nano / etc / red / interfaces

El contenido predeterminado es:



auto lo.
ifeace lo inet loopback

Cambia sus contenidos. Para la primera opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
auto lo.
ifeace lo inet loopback

Auto eth0.
iFace eth0 inet manual

AUTO BR0.
iFACE BR0 INET estático
dirección 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
red 192.168.0.0.
transmisión de 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
auto lo.
ifeace lo inet loopback

Auto PPP0.
iFACE PPP0 INET WVDIAL

Auto eth0.
iFace eth0 inet manual

AUTO BR0.
iFACE BR0 INET estático
dirección 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
red 192.168.0.0.
transmisión de 192.168.0.255
Puente_ports eth0.
puente_stp apagado.
Puente_maxwait 0.
Puente_fd 0.
up Route del Predeterminado BR0

Nota: Si no necesita conectar automáticamente el Internet a través del módem después del inicio del sistema, retire la línea AUTO PPP0 de la configuración
iFACE PPP0 INET WVDIAL. De lo contrario, asegúrese de que al iniciar el sistema, el módem se inserta en el puerto USB.

Nosotros salvamos. Ahora, para una opción con un módem, debe instalar el programa de marcación wvdial:

sudo apt instalar wvdial

CONFIG CORRECT (NOTA: El módem 3G se usa como ejemplo Línea recta.. Ejemplos de configs para otros módems que puede encontrar fácilmente en Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d atz.
Init2 \u003d atq0 v1 e1 s0 \u003d 0 & c1 & d2 + fclass \u003d 0
Init3 \u003d at + cgdcont \u003d 1, "ip", "home.beeline.ru"
Modo estúpido \u003d 1
Isdn \u003d 0.
Tipo de módem \u003d Módem USB
Nuevo pppd \u003d si
Teléfono \u003d * 99 #
Módem \u003d / dev / ttyacm0
Nombre de usuario \u003d Beeline.
Contraseña \u003d beeline.
Baud \u003d 9600.
País \u003d Rusia.
Auto reconectado \u003d en
Auto DNS \u003d OFF
Segundos de espera \u003d 0

Nosotros salvamos. Ahora, el módem se encenderá inmediatamente después de cargar el sistema. La cadena BR0 ROUTE UP UP ROUTE elimina la ruta predeterminada a través del puente. Si esto no se hace, no podrá conectarse con Internet, ya que el tráfico irá al puente, y no a través de un módem 3G.

Última etapa tenemos que decir pared lejosPara que se perdió el tráfico de nuestro virtual y de regreso a la red. Para hacer esto, puede ir de dos maneras: escriba un script con múltiples reglas para iptablesque se ejecutará junto con el sistema, o ingresará estas reglas manualmente y guardarlas. Aproveché la primera opción. Para el segundo necesitará instalar el paquete. iptables-persistente Y simplemente ingrese alternativamente las reglas (usando sudo). Entonces. Crear un script (en cualquier editor de texto). Inserte los siguientes contenidos allí:

#! / bin / sh

# Defina la interfaz de salida para la cual se aplicará el reemplazo de la dirección (NAT)
iPTables -v -t NAT -A POSTROUTING -O PPP0 -J MASQUERADE

# Enviamos todos los paquetes que vinieron al módem de red global (0.0.0.0/0) a la red de área local (192.168.0.0/24)
iPTables -v -A Forward -I PPP0 -O BR0 -s 0.0.0.0/0 -D 192.168.0.0/24 -J Aceptar

# Enviamos todos los paquetes que vienen de red local (192.168.0.0/24) al global (0.0.0.0/0)
iPTables -v -A Forward -I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J Aceptar

Mantenerlo como gateway.Sh. y dar derechos para ejecutar (o en las propiedades del archivo, o en el comando terminal chmod + x gateway.sh). Ahora puede ejecutarlo manualmente, después de que el sistema haya sido cargado, o agregue a AutoLoad. Para hacer esto, mueva el script en ~ / .config / autostart (en administrador de archivos Encender el show archivos ocultosy verás el catálogo .config en el directorio de inicio).

Ahora todo está listo para instalar una máquina virtual. En el menú de la aplicación, ejecute VirT Manager (Administrador de máquinas virtuales):

Haga clic derecho en la línea localhost. y elige Detalles. Ir a la pestaña Almacenamiento. Necesitamos especificar un directorio (o sección de disco / disco) para almacenar máquinas virtuales.

En la esquina inferior izquierda, haga clic en el signo más ( Agregar pulido), Especifico el tipo de repositorio y la ruta a ella.

En la pestaña Interfaces de redPuedes comprobar si todo funciona.

Ahora haz clic Archivo - nueva máquina virtual. Especifique la ruta a la imagen del disco, el tipo de máquina virtual. A continuación, especifique el número de RAM para ella y el número de núcleos de procesador. A continuación, especifique nuestro almacenamiento y haga clic en Nuevo volumen. Indique el nombre, el tipo se deja. qcow2.y tamaño. Será virtual hdd. Si planea instalar un sistema con una cáscara gráfica y un montón de programas, dar más lugares (GIGS 50). En la última pestaña, ponga una garrapata en Cambiar la configuración antes de comenzarCompruebe que como dispositivo de red Nuestro puente está seleccionado, escriba cualquier nombre para virtuales y haga clic en Completo. Abrirá la ventana Parámetros de esta máquina virtual.





Ir a la pestaña UPCy poner una garrapata en Copie la configuración del procesador del sistema Host.

Junto a la pestaña Neto (Siguiente), y también especifique vitio.. En la pestaña Monitor Especificar Especia.y en la pestaña Video - Qxl.. Por lo general, este paquete proporciona productividad máxima Recluta gráficos, pero si lo desea, puede experimentar. Tenga en cuenta que para los huéspedes sistemas de Windows, Requerido instalación separada Controladores QXL (en Windows).


Ahora, cuando todo está listo, en la esquina superior izquierda, haga clic en Iniciar instalación. Y ponemos el sistema como de costumbre, con una excepción: tan pronto como el instalador comience automáticamente a ajustar la red, haga clic en Cancelary seleccione Configurar una red manualmente. Especifique la dirección IP deseada para virtuales (en nuestro caso 192.168.0.3 ), máscara de subred ( 255.255.255.0 ), la puerta de enlace (la puerta de enlace será la dirección del host, como 192.168.0.2 ) y el servidor DNS (aquí solo ingresa a Google 8.8.8.8 ). Y eso es. A continuación no hagas nada. Ponga el sistema y configure. En general, todo. Las acciones descritas son la forma de reemplazar, digamos, VirtualBox en más mejor alternativa. Después de leer la documentación, entenderá lo amplia de las posibilidades de QEMU-KVM. Intencionalmente no describí aquí los parámetros y métodos de consola adicionales para iniciar máquinas virtuales a través del terminal, ya que no siempre se necesita en una máquina para el hogar. Escribiré sobre este artículo separado, al configurar un servidor multifuncional en el hogar (que también puede actuar como un servidor de máquinas virtuales). Para aquellos que, por alguna razón, no entendieron lo que se escribió, o se mantuvo en momentos incomprensibles, propongo ver el video, en el que no lo describiré, pero le mostraré cómo todo es bueno y sintonizar. Si tiene alguna sugerencia o adiciones al artículo, escriba en los comentarios.

Anteriormente ya escribí sobre la instalación. Qemu-kvm. en Debian.. Pero, en mi opinión, la información resultó ser incompleta. Además, no consideré algunos matices. Por lo tanto, llamo a su atención un artículo actualizado sobre la instalación de la máquina virtual QEMU-KVM. Antiguo artículo, naturalmente, eliminar.

Creo que explicar lo que es máquina virtual, no vale la pena. Probablemente lo sepa (si lees este artículo). Si no - . Partimizaremos directamente en Sabget. Qemu-kvm. - Este es un proyecto para combinar dos tecnologías de virtualización notables (en mi opinión). QEMU. - Este es un tipo de emulador informático, que admite las grandes arquitecturas de hardware. Puede ejecutar casi cualquier sistema operativo para cualquier dispositivo (por ejemplo, lanzé versiones anteriores. Mac OS X.que para PowerPC.). La desventaja de QEMU es su lentitud debido a la falta de una aceleración de enfoque. Y luego otro proyecto llega al rescate Kvm. . O máquina virtual kernel. KVM es una tecnología de kernel de Linux que le permite proporcionar una aceleración de hardware con una virtualización completa. La desventaja de KVM es el apoyo de solo la arquitectura X86.

¿Por qué QMU-KVM? Para Linux, este es el proyecto de virtualización más recomendado. Funciona más rápido que Virtualbox. y VMware Player. (De acuerdo con mis pruebas), KVM es una tecnología nativa de Linux. Más, si usted es el propietario de una buena computadora con dos tarjetas de video, puede instalar en Qemu-KVM Ventanas, nos dividimos en una de las tarjetas de video y nos olvidamos del reinicio a otro sistema operativo. Quería jugar: lanzó un virtual con Windows and Play. El rendimiento será del 95% del rendimiento instalado en la "hierro" de Windows. Pero es simplemente magnífico, en mi opinión. Voy a escribir un artículo separado al respecto. Será interesante:)

Ahora describiré el plan de nuestras acciones. Primero, llevaré a cabo la instalación en el ejemplo. Debian 8.2 Gnome 64 bitAunque no habrá diferencias especiales en otros entornos gráficos. En segundo lugar, describiré el trabajo con KVM solo en modo gráfico (no lo pondremos en el servidor). Por lo tanto, no hay terminales, scripts, etc., como generalmente vienen en el caso de la virtualización del servidor. En tercer lugar, le aconsejo que lea además la documentación de QEMU y KVM (Link Link al final del artículo). Es muy útil para usted si desea un máximo de usar todo el potencial de este paquete. Bueno, bueno, el plan de nuestras acciones es claro. Ahora las acciones de los pasos:

  • instalación QEMU-KVM;
  • instalación de un gerente de gráficos y utilidades adicionales;
  • configurando el puente de la red;
  • creando un almacenamiento para máquinas virtuales;
  • instalación de un sistema de invitados.
Para empezar, verifique si su computadora admite la virtualización de hardware. Para hacer esto, en el terminal realiza el comando:

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

En la salida del equipo debe estar presente, ya sea vmxya sea svm.. Si no hay, si la virtualización está habilitada en el BIOS (busque artículos Intel vt-i o similar para AMD.). Si no hay nada, significa que no es suerte.

Instale los componentes necesarios:

sUDO APT Instale Qemu-KVM Bridge-Utils Libvirt-bin Virt-Manager

Nos agregamos al Grupo Libvirt:

sudo adduser $ usuario libvirt

Ahora establezca la red. Para que todos los automóviles vértice vayan a la red y se comuniquen entre sí, debe crear un puente de red y tarjetas de red virtuales para cada virtual ( toque Dispositivos). Dado que instalaremos máquinas virtuales de la interfaz gráfica, entonces no necesita crear un toque manualmente. Virt Manager. Hazlo para nosotros cada vez que empieces. Solo necesitamos configurar el puente. Para empezar, encienda el enrutamiento en el kernel:

sudo nano /etc/sysctl.conf.

Estamos buscando una cadena net.ipv4_forward \u003d 0 y cambie su valor a 1 . Guarda y:

sudo sysctl -p.

A continuación, asumiré lo siguiente: 1) En su computadora hay una tarjeta de red que recibe la dirección IP del enrutador. 2) Usted va en línea a través de un módem 3G, y su tarjeta de red es gratuita. Esta opción sugiere más hecha a mano, pero se ha comprobado repetidamente (en uno de los autos en sí). Entonces, abre el archivo de las interfaces:

sudo nano / etc / red / interfaces

El contenido predeterminado es:



auto lo.
ifeace lo inet loopback

Cambia sus contenidos. Para la primera opción:

fuente /etc/network/interfaces.d/*

# La interfaz de red loopback
auto lo.
ifeace lo inet loopback

Auto eth0.
iFace eth0 inet manual

AUTO BR0.
iFACE BR0 INET estático
dirección 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
red 192.168.0.0.
transmisión de 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
auto lo.
ifeace lo inet loopback

Auto PPP0.
iFACE PPP0 INET WVDIAL

Auto eth0.
iFace eth0 inet manual

AUTO BR0.
iFACE BR0 INET estático
dirección 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
red 192.168.0.0.
transmisión de 192.168.0.255
Puente_ports eth0.
puente_stp apagado.
Puente_maxwait 0.
Puente_fd 0.
up Route del Predeterminado BR0

Nota: Si no necesita conectar automáticamente el Internet a través del módem después del inicio del sistema, retire la línea AUTO PPP0 de la configuración
iFACE PPP0 INET WVDIAL. De lo contrario, asegúrese de que al iniciar el sistema, el módem se inserta en el puerto USB.

Nosotros salvamos. Ahora, para una opción con un módem, debe instalar el programa de marcación wvdial:

sudo apt instalar wvdial

CONFIG CORRECT (NOTA: El módem 3G se usa como ejemplo Línea recta.. Ejemplos de configs para otros módems que puede encontrar fácilmente en Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d atz.
Init2 \u003d atq0 v1 e1 s0 \u003d 0 & c1 & d2 + fclass \u003d 0
Init3 \u003d at + cgdcont \u003d 1, "ip", "home.beeline.ru"
Modo estúpido \u003d 1
Isdn \u003d 0.
Tipo de módem \u003d Módem USB
Nuevo pppd \u003d si
Teléfono \u003d * 99 #
Módem \u003d / dev / ttyacm0
Nombre de usuario \u003d Beeline.
Contraseña \u003d beeline.
Baud \u003d 9600.
País \u003d Rusia.
Auto reconectado \u003d en
Auto DNS \u003d OFF
Segundos de espera \u003d 0

Nosotros salvamos. Ahora, el módem se encenderá inmediatamente después de cargar el sistema. La cadena BR0 ROUTE UP UP ROUTE elimina la ruta predeterminada a través del puente. Si esto no se hace, no podrá conectarse con Internet, ya que el tráfico irá al puente, y no a través de un módem 3G.

Última etapa tenemos que decir pared lejosPara que se perdió el tráfico de nuestro virtual y de regreso a la red. Para hacer esto, puede ir de dos maneras: escriba un script con múltiples reglas para iptablesque se ejecutará junto con el sistema, o ingresará estas reglas manualmente y guardarlas. Aproveché la primera opción. Para el segundo necesitará instalar el paquete. iptables-persistente Y simplemente ingrese alternativamente las reglas (usando sudo). Entonces. Cree un script (en cualquier editor de texto). Inserte los siguientes contenidos allí:

#! / bin / sh

# Defina la interfaz de salida para la cual se aplicará el reemplazo de la dirección (NAT)
iPTables -v -t NAT -A POSTROUTING -O PPP0 -J MASQUERADE

# Enviamos todos los paquetes que vinieron al módem de la red global (0.0.0.0/0) a la red de área local (192.168.0.0/24)
iPTables -v -A Forward -I PPP0 -O BR0 -s 0.0.0.0/0 -D 192.168.0.0/24 -J Aceptar

# Enviamos todos los paquetes que vienen de la red local (192.168.0.0/24) al Global (0.0.0.0/0)
iPTables -v -A Forward -I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J Aceptar

Mantenerlo como gateway.Sh. y dar derechos para ejecutar (o en las propiedades del archivo, o en el comando terminal chmod + x gateway.sh). Ahora puede ejecutarlo manualmente, después de que el sistema haya sido cargado, o agregue a AutoLoad. Para hacer esto, mueva el script en ~ / .config / autostart (En el Administrador de archivos, encienda la pantalla de archivos ocultos, y verá el directorio .config en el directorio de inicio).

Ahora todo está listo para instalar una máquina virtual. En el menú de la aplicación, ejecute VirT Manager (Administrador de máquinas virtuales):

Haga clic derecho en la línea localhost. y elige Detalles. Ir a la pestaña Almacenamiento. Necesitamos especificar un directorio (o sección de disco / disco) para almacenar máquinas virtuales.

En la esquina inferior izquierda, haga clic en el signo más ( Agregar pulido), Especifico el tipo de repositorio y la ruta a ella.

En la pestaña Interfaces de redPuedes comprobar si todo funciona.

Ahora haz clic Archivo - nueva máquina virtual. Especifique la ruta a la imagen del disco, el tipo de máquina virtual. A continuación, especifique el número de RAM para ella y el número de núcleos de procesador. A continuación, especifique nuestro almacenamiento y haga clic en Nuevo volumen. Indique el nombre, el tipo se deja. qcow2.y tamaño. Será un disco duro virtual. Si planea instalar un sistema con una cáscara gráfica y un montón de programas, dar más lugares (GIGS 50). En la última pestaña, ponga una garrapata en Cambiar la configuración antes de comenzar, Compruebe que nuestro puente esté seleccionado como un dispositivo de red, escriba cualquier nombre para virtuales y haga clic en Completo. Abrirá la ventana Parámetros de esta máquina virtual.





Ir a la pestaña UPCy poner una garrapata en Copie la configuración del procesador del sistema Host.

Junto a la pestaña Neto (Siguiente), y también especifique vitio.. En la pestaña Monitor Especificar Especia.y en la pestaña Video - Qxl.. Por lo general, este grupo proporciona el máximo rendimiento de rendimiento de dibujo, pero si lo desea, puede experimentar. Tenga en cuenta que para las ventanas de los sistemas de invitados, se requiere una instalación separada del controlador QXL (en Windows en sí).


Ahora, cuando todo está listo, en la esquina superior izquierda, haga clic en Iniciar instalación. Y ponemos el sistema como de costumbre, con una excepción: tan pronto como el instalador comience automáticamente a ajustar la red, haga clic en Cancelary seleccione Configurar una red manualmente. Especifique la dirección IP deseada para virtuales (en nuestro caso 192.168.0.3 ), máscara de subred ( 255.255.255.0 ), la puerta de enlace (la puerta de enlace será la dirección del host, como 192.168.0.2 ) y el servidor DNS (aquí solo ingresa a Google 8.8.8.8 ). Y eso es. A continuación no hagas nada. Ponga el sistema y configure. En general, todo. Las acciones descritas son la forma de reemplazar, digamos, VirtualBox para una mejor alternativa. Después de leer la documentación, entenderá lo amplia de las posibilidades de QEMU-KVM. Intencionalmente no describí aquí los parámetros y métodos de consola adicionales para iniciar máquinas virtuales a través del terminal, ya que no siempre se necesita en una máquina para el hogar. Escribiré sobre este artículo separado, al configurar un servidor multifuncional en el hogar (que también puede actuar como un servidor de máquinas virtuales). Para aquellos que, por alguna razón, no entendieron lo que se escribió, o se mantuvo en momentos incomprensibles, propongo ver el video, en el que no lo describiré, pero le mostraré cómo todo es bueno y sintonizar. Si tiene alguna sugerencia o adiciones al artículo, escriba en los comentarios.

En este artículo introductorio, diré brevemente sobre todos. softwareUtilizado en el proceso de desarrollo. En más detalle se dirán a ellos en los siguientes artículos.

¿Por qué? Este sistema operativo está cerca de mí y comprensiblemente, de modo que al elegir una distribución de tormento, tormentos y miniaturas no se prueban. No tiene ventajas especiales para Red Hat Enterprise Linux, pero se decidió trabajar con un sistema familiar.

Si planea implementar de forma independiente la infraestructura utilizando tecnologías similares, le aconsejaría que tome RHEL: Gracias a la buena documentación y bien escrito programas aplicados Será, si no es un orden de magnitud, entonces exactamente dos veces más fácilmente, y gracias al sistema de certificación desarrollado sin mucha dificultad, será posible encontrar un cierto número de especialistas, en el nivel adecuado de conocidos en este sistema operativo.

Nosotros, yo repito, decidimos usar. Apriete con un conjunto de paquetes de Sid / experimental y algunos paquetes, jalados y recogidos con nuestros parches.
Los planes tienen un repositorio de publicación con paquetes.

Al elegir una tecnología de virtualización, se consideraron dos opciones: Xen y KVM.

También se tuvo en cuenta el hecho de la disponibilidad. numero enorme Los desarrolladores, hosters, soluciones comerciales precisamente sobre la base de Xen, más interesantes fue tomar una decisión sobre la base de KVM.

La razón principal por la que decidimos usar exactamente KVM es la necesidad de ejecutar máquinas virtuales con FreeBSD y, en perspectiva, MS Windows.

Para conducir maquinas virtuales Resultó ser extremadamente conveniente utilizar los productos que usan API: virsh, gerente virtual., virt-Install, etc.

Este es un sistema que almacena la configuración de las máquinas virtuales, las controla, las estadísticas de los cables en ellas garantiza que al iniciar la máquina virtual, la interfaz aumenta, conecta los dispositivos a la máquina, en general, realiza un montón de trabajo útil y un poco más.

Por supuesto, la solución no es perfecta. De las minusas deben ser llamadas:

  • Mensajes de error absolutamente invalables.
  • La incapacidad de cambiar la parte de la configuración de la máquina virtual sobre la marcha, aunque QMP (Protocolo de monitor de QMU) está bastante permitido.
  • A veces es imposible conectarse a Libvirtd para una razón incomprensible, deja de responder a eventos externos.

El principal problema en la implementación del servicio al principio fue la limitación de los recursos para máquinas virtuales. En Xen, este problema se resolvió con la ayuda de un chaduler interno distribuyendo recursos entre máquinas virtuales, y lo que es la más bella, se implementó la posibilidad de limitar y las operaciones de disco.

En KVM, nada ha sucedido antes de que aparezca el mecanismo de distribución de recursos nucleares. Como de costumbre en Linux, el acceso a estas funciones se implementó mediante un especial sistema de archivos cgroup.en el que podría agregar el proceso al grupo utilizando llamadas de sistema convencionales al grupo, asigne su peso en loros, especifique el kernel en el que funcionará, especifique rendimiento El disco que este proceso puede usar, o, nuevamente, asignarle el peso.

El beneficio es que todo esto se implementa dentro del kernel, y es posible usar esto no solo para el servidor, sino también para el escritorio (como se usa en el parche del kernel de Linux de ~ 200 líneas que hace maravillas "). Y en mi opinión, este es uno de los cambios más significativos en la rama 2.6, sin contar su # 12309 favorito, en lugar de agrupar el siguiente sistema de archivos. Bueno, excepto Pohmelfs (pero puramente debido al nombre).

La actitud hacia esta biblioteca-utilidad que tengo bastante ambigua.

Por un lado se ve así:

Y esta cosa es maldita sea difícil recolectar de la fuente y cuanto más en el paquete: a veces me parece que Linux desde cero se acumula desde cero algo más fácil.

Por otro lado, una cosa muy poderosa que le permite crear imágenes para máquinas virtuales, modificarlas, escalar, para colocar a GRUB, modificar la tabla de particiones, administrar archivos de configuración, transferir las máquinas de "hierro" al entorno virtual, transferir virtual Máquinas de una imagen a otra para transferir máquinas virtuales de una imagen a la plancha y, honestamente, aquí falla la fantasía. Oh, sí: aún puede ejecutar el demonio dentro de la máquina virtual Linux y acceder a los datos de la máquina virtual, y hacerlo todo en Shell, Python, Perl, Java, Ocaml. Este es un breve y lejos de lista llena con qué se puede hacer con

Curiosamente, la mayor parte del Código B se genera en el momento del ensamblaje, así como la documentación del proyecto. OCAML, PERL es muy utilizado. El código en sí está escrito en C, que luego se convierte en OCAML, y se genera piezas de código repetidas. Trabajar con imágenes se lleva a cabo ejecutando una imagen de servicio especial (Supliance Supermin), en el que se envían los comandos a través del canal dentro de él. Dentro de esta imagen contiene algunos rescates un conjunto de servicios públicos, como separados, MKF y otro administrador de sistemas útiles.

Con recientemente, incluso comencé a usarlo en casa cuando me fundí de la imagen de Nandroid, necesitaba los datos. Pero esto requiere el kernel con soporte para las yffs.

Otro

A continuación se muestran algunas referencias más interesantes a la descripción de las tarjetas usadas, lea y discute, si es interesante. Por ejemplo,

Personalmente más fácil pensar en KVM (máquina virtual basada en el núcleo), como un nivel de abstracción sobre las tecnologías de la virtualización de trabajos duros Intel VT-X y AMD-V. Tomamos un automóvil con un procesador que apoya una de estas tecnologías, ponen esto máquina LinuxEn Linux, instale KVM, como resultado, tenemos la oportunidad de crear virtuales. Así que aproximadamente alojamientos en la nube de trabajo, como los servicios web de Amazon. Junto con KVM, también se usa Xen, pero la discusión de esta tecnología ya está más allá del alcance de este post. A diferencia de las tecnologías de virtualización de contenedores, por ejemplo, el mismo docker, KVM le permite ejecutar cualquier sistema operativo como sistema de invitados, pero también tiene acerca desalto por encima de la virtualización.

Nota: Las acciones descritas a continuación fueron probadas por mí en Ubuntu Linux 14.04, pero en la teoría será válido en gran medida tanto para otras versiones de Ubuntu como otras distribuciones de Linux. Todo debe trabajar en el escritorio y en el servidor, el acceso a lo cual se realiza por SSH.

Instalación de KVM

Verificamos si el procesador compatible con Intel VT-X o AMD-V:

gREP -E "(VMX | SVM)" / proc / cpuinfo

Si algo está atascado, entonces se apoya, y puede actuar más.

Instale KVM:

sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin virtinst puente-utils

Lo que se usa para mantener:

  • / var / libvirt / boot / - ISO Imágenes para instalar sistemas de invitados;
  • / Var / lib / libvirt / images / - images discos duros sistemas de invitados;
  • / Var / log / libvirt / - Aquí debe buscar todos los registros;
  • / etc / libvirt / - directorio con archivos de configuración;

Ahora que KVM está instalado, cree nuestro primer virtual.

Creando Primeras Artes Virtuales

Escogí FreeBSD como sistema de invitados. Swing ISO-Image del sistema:

cD / VAR / LIB / libvirt / boot /
sudo wget http: // ftp.freebsd.org/ ruta / a / some-freebsd-disk.iso

La gestión de máquinas virtuales en la mayoría de los casos se realiza utilizando la utilidad virsh:

sudo virsh --help.

Antes de comenzar virtuales, tendremos que reunir información adicional.

Miramos la lista de redes disponibles:

sudo virsh net-list

Visualización de una red específica (nombre predeterminado nombrado):

sudo virsh net-info predeterminado

Miramos la lista de optimizaciones disponibles para el sistema operativo invitado:

sudo virt-install --os-variante

Entonces, ahora cree una máquina virtual con 1 CPU, 1 GB de RAM y 32 GB de espacio en disco conectado a la red predeterminada:

sudo vtr-install \\
- TIPO-TIPO \u003d KVM \\
- Nombre FreeBSD10 \\
--ram 1024 \\
--vcpus \u003d 1 \\
--os-variante \u003d FreeBSD8 \\
--Hvm \\
--CDROM \u003d / VAR / LIB / libvirt / boot / FreeBSD-10.2 -Relese-AMD64-DISCT1.ISO \\
--Network Network \u003d Predeterminado, Modelo \u003d Virtio \\
--Graphics vnc \\
- Ruta de disco \u003d / var / libvirt / imágenes / FreeBSD10.IMG, Tamaño \u003d 32, bus \u003d virtio

Puedes ver:

ADVERTENCIA No se puede conectar a la consola gráfica: Virt-Viewer no
Instalado. Por favor, instale el paquete "Virt-Viewer".

Instalación de dominio aún en progreso. Puedes volver a conectarte a la consola.
Para completar el proceso de instalación.

Esto es normal y debe ser.

Luego vea las propiedades virtuales en formato XML:

sudo virsh dumpxml freebsd10

Aquí es el más información completa. Incluyendo, por ejemplo, y la dirección MAC que nos necesitará más. Hasta ahora encontramos información sobre VNC. En mi caso:

Con la ayuda de su cliente favorito (Yo utilizo personalmente Rammina), pase por el VNC, si es necesario, utilizando el reenvío de puertos SSH. Encuentra justo en el instante FreeBSD. Además, todo es como de costumbre, próximo, siguiente, siguiente, obtenemos el sistema instalado.

Equipos principales

Consideremos ahora los principales comandos para trabajar con KVM.

Obtención de una lista de todos los virtuales:

sudo virsh list --all

Recibiendo información sobre una máquina virtual específica:

sudo virsh Dominfo FreeBSD10

Ejecutar la virtual:

sudo virsh comienza FreeBSD10

Detener virtual sobre:

sudo virsh cierre FreeBSD10

Rígido para matar a un virtual (a pesar del nombre, no Eliminación):

sudo virsh destroy freebsd10

Rebut un virtual:

sudo virsh reinicio FreeBSD10

Construir virtual:

sudo virt-clone -o freebsd10 -n freebsd10-clone \\
--File / var / lib / libvirt / imágenes / FreeBSD10-Clone.img

Habilitar / Desactivar Autorun:

sudo virsh autostart freebsd10
sudo virsh autostart --disable freebsd10

Ejecutar virsh en el modo de diálogo (todos los comandos en el modo de diálogo, como se describe anteriormente):

sudo virsh.

Edición de las propiedades de virtuales en XML, incluso aquí puede cambiar el límite en la cantidad de memoria y así sucesivamente:

sudo virsh edit freebsd10

¡Importante! Comentarios de XML editado, desafortunadamente, se eliminan.

Cuando se detiene una virtute, el disco también se puede entregar:

sUDO QEMU-IMG CAMBIO / VAR / LIB / libvirt / imágenes / FreeBSD10.IMG -2G
sUDO QEMU-IMG INFO / VAR / LIB / LIBVIRT / IMÁGENES / FREEBSD10.IMG

¡Importante! Es más probable que su sistema operativo invitado no sea así que el disco de repente se volvió más o menos. En el mejor de los casos, arrancará en modo de emergencia con una propuesta para canjear el disco. Lo más probable es que no quiera hacer eso. Es mucho más fácil ser comenzar un nuevo virtual y alternar todos los datos en él.

La copia de seguridad y la recuperación son bastante simples. Es suficiente guardar en algún lugar de la salida DUPXML, así como una imagen de disco, y luego restaurarlos. En Youtube logró encontrar video Con la demostración de este proceso, todo es realmente simple.

Red de configuración

Una pregunta interesante: ¿cómo determinar qué dirección IP recibió un virtual uno después de descargar? En KVM, esto se hace por astucia. Finalmente escribí un script de este tipo en Python:

#! / usr / bin / env Python3

# Virt-IP.PY Script
# (c) 2016 Aleksander Alekseev
# http: // sitio /

importación
importar re.
importación del sistema operativo.
subproceso de importación
de XML .Tree Import ElementTree

dEF EPRINT (STR):
imprimir (STR, archivo \u003d sys .stderr)

si len (sys .argv)< 2 :
EPrint ("Uso:" + SYS .ARGV [0] + " " )
EPrint ("Ejemplo:" + sys .argv [0] + "FreeBSD10")
sys .exit (1)

si OS .GETEUID ()! \u003d 0:
EPRINT ("ERROR: SHOLD BE root")
EPrint ("Sugerencia: RUN` Sudo" + SYS .ARGV [0] + "...` ");
sys .exit (1)

si subprocieres. Call ( "Que ARRANDO 2\u003e & 1\u003e / dev / null", Shell \u003d verdadero)! \u003d 0:
EPrint ("Error: Arring eXTRAVIADO." )
EPrint ( "Sugerencia: Ejecutar` Sudo Apt-Get Instale FLUSING ')
sys .exit (1)

Dominio \u003d SYS .ARGV [1]

si no es re .match ("^ * $", dominio):
EPrint ( "Error: Characteristas no válidos en nombre de dominio")
sys .exit (1)

DOMOUT \u003d Subproceso .Check_Output ("Virsh Dumpxml" + dominio + "|| verdadero",
Shell \u003d verdadero)
DOMOUT \u003d DOMOUT.DECODIENTO ("UTF-8"). Strip ()

si Domout \u003d\u003d "":
# Mensaje de error ya impreso por DumpXML
sys .exit (1)

Doc \u003d elementaltree.fromstring (DOMOUT)

# 1. Listar todas las interfaces de red
# 2. Ejecutar 'arping` en cada interfaz en paralelo
# 3. las respuestas grep
cmd \u003d. "(ifconfig | Cut -d" "-f 1 | grep -e". "| + \
"Xargs -p0 -i iface arping -i iface -c 1 () 2\u003e & 1 |" + \
"GREP" BYTES DE ") || VERDADERO"

para niño en doc.iter ():
si niño.tag \u003d\u003d "mac":
Macaddr \u003d niño.attrib ["dirección"]
MacOut \u003d subproceso .Check_Output (cmd.format (macaddr),
Shell \u003d verdadero)
imprimir (Macout.DECODE ("UTF-8"))

El script funciona tanto con la red predeterminada como con la red puenteada cuya configuración veremos a continuación. Sin embargo, en la práctica, mucho más conveniente para configurar KVM para que siempre asigne las mismas direcciones IP a los sistemas de invitados. Para estas reglas de configuración de la red:

sudo virsh net-edit predeterminado

... sobre esta manera:

>



>

Después de hacer estas ediciones.


>

... y reemplazar algo como:




>

Reinicie el sistema de invitados y compruebe que recibió IP por DHCP desde el enrutador. Si quieres sistema de invitados Tenía una dirección IP estática, se configura como de costumbre dentro del propio sistema de invitados.

Programa de VirT-Manager

También puede estar interesado en el programa VirT-Manager:

sudo apt-get install vtr-manager
sudo usermod -a -g libvirtd nombre de usuario

Esta es la ventana principal:

Como puede ver, el VirT-Manager no solo es la GUI para virtuales que se ejecutan localmente. Con él, puede administrar máquinas virtuales trabajando en otros hosts, así como mirar hermosos horarios en tiempo real. Personalmente, encuentro especialmente conveniente en el Administrador de VirT, lo que no necesita para buscar configuraciones, qué puerto está girando un VNC de un sistema de invitados en particular. Usted acaba de encontrar un virtual sobre la lista, realiza un doble clic, y obtiene acceso al monitor.

Incluso con la ayuda de VirT-Manager, es muy conveniente hacer las cosas que de otra manera requerirían la edición que consume mucho tiempo de los archivos XML y en algunos casos realizando comandos adicionales. Por ejemplo, renombrando máquinas virtuales, configurando la afinidad de la CPU y cosas similares. Por cierto, el uso de la afinidad de la CPU reduce significativamente el efecto de los vecinos ruidosos y el efecto de las máquinas virtuales en el sistema host. Si es posible, uselo siempre.

Si decide usar KVM como sustituto de VirtualBox, tenga en cuenta que no pueden dividir la virtualización de hardware. Para ganar kvm en su escritorio, no solo tendrá que detener a todos los virtuales en VirtualBox y Vagrant, sino también reiniciar el sistema. Personalmente encontré KVM mucho más conveniente que VirtualBox, como mínimo, porque no requiere el comando configuración de sudo / sbin / rcvboxdrv Después de cada actualización central, C Unity funciona adecuadamente, y en general le permite ocultar todas las ventanas.

KVM (Máquina virtual basada en el software de virtualización gratuito en el kernel o basado en el kernel). código fuente. Puede crear varias máquinas virtuales (VM), cada máquina virtual tiene su propio equipo virtual, como disco, procesador, rAM Etc. Se incluyó en la parte principal del kernel de Linux en la versión 2.6.20 Kernel.

Si buscas una alternativa. Virtualbox.Recomendamos encarecidamente usar 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 espacios en blanco preliminares.

  1. Habilitar la virtualización en el BIOS del sistema.
  2. Verifique la CPU del sistema si es compatible con la virtualización. Siga el comando a continuación.

eGREP - C '(VMX | SVM)' / PROC / CPUINFO

Cuando recibe una conclusión del comando anterior o 1, o más, esto significa que el procesador admite la virtualización diferente a 0 o menos significa que no admite.

3. Revisa la arquitectura. Ubuntu. 16.04 LTS ejecutando un comando es decir,

X86_64 es un kernel de 64 bits.
I386, I486, I586 o I686 son un kernel de 32 bits.

El sistema operativo de 32 bits se limita a 2 GB de RAM tanto como sea posible para esta máquina virtual.
El kernel de 32 bits se colocará solo en un núcleo de invitado de 32 bits, mientras que en el núcleo de 64 bits puede ser de 32 bits y de 64 bits. O.S.

Realizar pasos para instalar KVM en Ubuntu

En esta sección, anotaremos los pasos para instalar KVM. En nuestra publicación anterior hemos aprendido. Tal vez también será interesante para usted.

1. Instalación de KVM Ubuntu 17.04 y otros paquetes dependientes

En Ubuntu 17.04 LTS puedes usar el comando aPTO o apt-conseguir ambos. No habrá diferencias en los paquetes instalados utilizando el comando APT o APT-GET, para que esté bien aquí.

actualización de sudo apt.

sudo apt instale qemu - kvm libvirt - bin puente - utils

2. Aprenda sobre nuevos usuarios y un grupo de software KVM.

Después de instalar los paquetes, algunas adiciones se realizarán en el número de usuarios y grupos.

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

[Correo electrónico protegido] : ~ $ Cola - 2 / etc / passwd

libvirt - Qemu: X: 64055: 129: Libvirt Qemu ,: / var / libvirt: / bin / False

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

s. [Correo electrónico protegido] :~ $

B) Se crearán dos grupos.

- KVM.
- libvirtd.

[Correo electrónico protegido] : ~ $ Cola - 2 / etc / grupo

kVM: X: 129:

libvirtd: x: 130: sharad

[Correo electrónico protegido] :~ $

Puede notar que la llamada "Sharad" utilizada es miembro del Grupo Libvirtd. Esto significa que este usuario puede usar KVM.

3. Compruebe la instalación de KVM

Es bastante simple verificar la instalación de KVM. Ejecutar el equipo -

VIRSH - C QMU: /// LISTA DEL SISTEMA

Por primera vez, mostrará un error.

error: Error al conectarse al hipervisor

eRROR: Error al conectar el zócalo a '/ Var / run / libvirt / libvirt-sock': Permiso denegado.

[Correo electrónico protegido] :~ $

Para resolver este problema, debe salir y iniciar sesión en su escritorio. Indica que el usuario actual debe volver a iniciar sesión.

Después de iniciar sesión en el sistema, reinicie el comando. Esta vez debe obtener el resultado como se indica a continuación. Está vacío porque no se crea la máquina virtual.

[Correo electrónico protegido] : ~ $ VIRSH - C QEMU: /// LISTA DEL SISTEMA

Estado de nombre de identificación.

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

[Correo electrónico protegido] :~ $

4. Instale el Administrador de máquinas virtuales

Aquí usamos Virtual Machine Manager, que es una aplicación de escritorio para administrar máquinas virtuales KVM a través de Libvirt.

Ejecute este comando para instalar el Administrador de máquinas virtuales.

sudo apt instalar virt - gerente

Puede abrir el Administrador de máquinas virtuales ingresándolo en el Dash Home.Haga clic en el icono, abrirá la aplicación.

Para abrir el Administrador de máquinas virtuales a través de línea de comando, ingresar -

virt - Administrador.

Anteriormente, cuando instalamos KVM en Ubuntu 14.04 LTS Desktop, nos encontramos con un problema al crear la primera máquina virtual, pero lo decidimos con mucha facilidad. En Ubuntu 16.04 LTS Desktop, no encontramos este problema.

Si tiene preguntas sobre el tema "Instalación de KVM Ubuntu 17.04", escríbelas en el formulario para comentarios. Le ayudaremos a lidiar con su pregunta mucho más rápido.

Si ha encontrado un error, seleccione el fragmento de texto y haga clic en CTRL + ENTER..