KVM es un software de virtualización de hardware de código abierto a través del cual podemos crear y ejecutar múltiples máquinas virtuales basadas en Linux y Windows simultáneamente. KVM se conoce como Máquina Virtual basada en el Kernel porque cuando instalamos el paquete KVM entonces el módulo KVM se carga en el kernel actual y convierte nuestra máquina Linux en un hipervisor.
En este post primero demostraremos cómo podemos instalar el hipervisor KVM en CentOS 7.x y RHEL 7.x y luego intentaremos instalar máquinas virtuales.
Antes de proceder a la instalación de KVM, vamos a comprobar si la CPU de su sistema soporta la Virtualización de Hardware.
Ejecute el comando beneath desde la consola.
# grep -E '(vmx|svm)' /proc/cpuinfo
Deberíamos obtener la palabra vmx o svm en la salida, de lo contrario la CPU no soporta la virtualización.
Paso:1 Instalar KVM y sus paquetes asociados
Ejecutar el siguiente comando yum para instalar KVM y sus paquetes asociados.
# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
Inicie y habilite el servicio libvirtd
# systemctl start libvirtd# systemctl enable libvirtd
Ejecute el siguiente comando para comprobar si el módulo KVM está cargado o no
# lsmod | grep kvmkvm_intel 162153 0kvm 525409 1 kvm_intel#
En caso de que tenga una instalación mínima de CentOS 7 y RHEL 7 , entonces virt-manger no se iniciará para ello necesita instalar el paquete x-window.
# yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y
Reinicie el servidor y luego intente iniciar virt manager.
Paso:2 Iniciar el Virt Manager
Virt Manager es una herramienta gráfica a través de la cual podemos instalar y administrar máquinas virtuales. Para iniciar el virt manager escriba el comando ‘virt-manager’ desde el terminal.
# virt-manager
Paso:3 Configurar la interfaz de puente
Antes de empezar a crear VMs , vamos a crear primero la interfaz de puente. La interfaz de puente es necesaria si desea acceder a las máquinas virtuales desde fuera de la red de su hipervisor.
# cd /etc/sysconfig/network-scripts/# cp ifcfg-eno49 ifcfg-br0#
En el comando cp sustituya el nombre de la interfaz que se adapte a su sistema y, a continuación, edite el archivo de interfaz y establezca lo siguiente:
# vi ifcfg-eno49TYPE=EthernetBOOTPROTO=staticDEVICE=eno49ONBOOT=yesBRIDGE=br0
Edite el archivo de puente (ifcfg-br0) y establezca lo siguiente:
# vi ifcfg-br0TYPE=BridgeBOOTPROTO=staticDEVICE=br0ONBOOT=yesIPADDR=192.168.10.21NETMASK=255.255.255.0GATEWAY=192.168.10.1DNS1=192.168.10.11
Reemplace la dirección IP y los detalles del servidor DNS según su configuración.
Reinicie el servicio de gestión de red para habilitar la interfaz de puente.
# systemctl restart NetworkManager#
Nota: Por defecto, en CentOS 7 / RHEL 7 el servicio de gestión de red está habilitado y si se han realizado cambios en los archivos de red, debemos reiniciar el servicio de gestión de red para que los cambios surtan efecto. En caso de que el servicio Network Manager esté deshabilitado y detenido, entonces podemos utilizar el servicio de red (systemctl restart network)
Compruebe la interfaz Bridge utilizando el siguiente comando :
# ip addr show br0
Paso:4 Inicie la creación de máquinas virtuales.
Ahora cree una máquina virtual desde la línea de comandos utilizando el comando ‘virt-install’ o desde la interfaz gráfica de usuario (virt-manager)
Creemos una máquina virtual de «Windows Server 2012 R2» utilizando virt-manager.
Inicie el «virt-manager»
Vaya a la opción de archivo, haga clic en «Nueva máquina virtual»
Vamos a utilizar un archivo ISO como medio de instalación. En el siguiente paso especifique la ruta del archivo ISO.
Haga clic en Forward.
Especifique los recursos de computación : RAM y CPU según su configuración.
Haga clic en Forward para continuar.
Especifique el tamaño de almacenamiento de la máquina virtual, en mi caso estoy usando 25G.
En el siguiente paso especifique el nombre de la máquina virtual y seleccione la red como ‘ Bridge bro’
Haga clic en Finish para iniciar la instalación.
Siga las instrucciones de la pantalla y complete la instalación.
Creación de una máquina virtual desde la línea de comandos:
Las máquinas virtuales también se pueden crear desde la consola utilizando el comando ‘virt-install’. En el siguiente ejemplo voy a máquina virtual de Ubuntu 16.04 LTS.
# virt-install --name=Ubuntu-16-04 --file=/var/lib/libvirt/images/ubuntu16-04.dsk --file-size=20 --nonsparse --graphics spice --vcpus=2 --ram=2048 --cdrom=ubuntu-16.04-server-amd64.iso --network bridge=br0 --os-type=linux --os-variant=genericStarting install...Allocating 'ubuntu16-04.dsk' | 20 GB 00:00:00Creating domain...
Siga la instrucción ahora y completar la instalación.
En el comando ‘virt-install’ anterior hemos utilizado las siguientes opciones :
- nombre = <Nombre de la máquina virtual>
- archivo = <Lugar donde se almacenará el archivo de disco de nuestra máquina virtual >
- tamaño del archivo = <Tamaño de la máquina virtual, en mi caso es de 20GB >
- -nonsparse = <Asignar todo el almacenamiento mientras se crea>
- -graphics = <Especificar la herramienta gráfica para la instalación interactiva, en el ejemplo anterior estoy usando spice >
- -vcpu = < Número de CPU virtual para la máquina >
- -ram = < Tamaño de la RAM para la máquina virtual >
- -cdrom = < CD ROM virtual que especifica el medio de instalación como archivo ISO >
- -network = < se utiliza para especificar qué red vamos a utilizar para la máquina virtual, en este ejemplo estoy puenteando la interfaz>
- -os-type = < Tipo de sistema operativo como linux y window>
- -os-variant= <KVM mantiene las variantes del SO como ‘fedora18′, ‘rhel6’ y ‘winxp’ , esta opción es opcional y si no está seguro de la variante del SO puede mencionarla como genérica>
Una vez completada la Instalación podemos acceder a la consola de la Máquina Virtual desde ‘virt-manager’ como se muestra a continuación.
Eso es todo, la instalación básica y la configuración del hipervisor KVM se ha completado.