El procedimiento permite realizar virtualización en Ubuntu 12.04 con KVM.
KVM o Kernel-based Virtual Machine, (en español, Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.
KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc.
KVM fue creado, y está mantenido, por Qumranet.
Requisitos de Hardware:
Procesador x86, o x86_64, con soporte para virtualización. La tecnología de virtualización recibe la denominación VT en Intel y SVM en AMD.
KVM puede ejecutar huéspedes Linux/Unix/Windows de 32 o 64 bits.
Estado actual de desarrollo:
KVM utiliza una versión modificada de QEMU como front-end. Se está trabajando para utilizar más características de la Virtualization Technology presente en las últimas CPUs de Intel (Core 2 Duo E6300 en adelante para equipos de escritorio y Core 2 Duo T5600 y superiores para equipos portátiles) y AMD. Se han realizado pruebas de rendimiento con Xen (utilizando virtualización hardware en lugar de paravirtualización) y, para algunas cargas de trabajo, ha resultado ser más rápido. Para otras, no tanto.4
Una de las características que KVM posee es el «overcommit» que es el uso de memoria excediendo aún la memoria física del host.
Verificaciones previas:
No todos los equipos soportan virtualización por hardware. Para verificar que el equipo soporta debe ejecutarse el comando:
< egrep -c '(vmx|svm)' /proc/cpuinfo
Y devolver un valor 1 o superior Se debe verificar que la virtualización este habilitada desde el bios.
Es conveniente virtualizar en equipos con soporte a 64bit ya que permiten administrar procesos de mayor tamaño, que es uno de los elementos que van a limitar a la máquinas virtuales.
Para validar si el equipo soporta kernels de 64bits.
< egrep -c ' lm ' /proc/cpuinfo
Debe devolver un valor igual o mayor a 1.
Procedimiento:
El primer paso a realizar es asegurarse de que el equipo este actualizado.
< sudo aptitude update < sudo aptitude safe-upgrade
Y a continuación se deben instalar los siguientes paquetes necesarios para virtualizar.
< sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils virt-manager virt-viewer
Al usuario que vaya a administrar las máquinas virtuales se le debe agregar al grupo
El primer paso a realizar es actualizar el sistema.
< sudo aptitude update < sudo aptitude safe-upgrade
Y a continuación se deben instalar los siguientes paquetes.
< sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils virt-manager virt-viewer
Finalizada la instalación de los paquetes, el usuario se debe volver a loguear para que la nueva sesión pertenezca al grupo libvirtd.
< usermod usuario -a -G libvirtd
Finalizado el procedimiento, el usuario se debe volver a loguear para que la nueva sesión pertenezca al grupo de administradores de máquinas virtuales.
Configuración de Red:
Partiendo de un archivo original «/etc/network/interfaces» ( Configurado acorde a la necesidad de la red local )
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.21.150 network 192.168.21.0 netmask 255.255.255.0 broadcast 192.168.21.255 gateway 192.168.21.1
Se configura el «Bridge» (puente) para que sea utilizado por las máquinas virtuales. Recuerde adaptar eso a las necesidades de su red.
auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.21.150 network 192.168.21.0 netmask 255.255.255.0 broadcast 192.168.21.255 gateway 192.168.21.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
ADMINISTRACIÓN:
Crear una máquina virtual desde consola:
Para crear una máquina virtual desde consola se ejecutar la siguiente línea.
Los valores típicos a configurar son:
- name => nombre
- ram => cantidad de memoria asignada al equipo virtual
- disk => ubicación donde se va a crear la imagen del disco (debe existir el directorio donde se va a crear el archivo.
- network => red a utiliza
- cdrom => origen de la instalación
- –os-variant => El sistema operativo a instalar (introduce optimizaciones para el mismo, la lista de opciones se pueden ver ejecutando «man virt-install»).
sudo virt-install --connect qemu:///system --name=ldap --hvm --ram 512 --disk /var/vms/ldap.img,size=20 --network bridge=br0 --cdrom=/var/downloads/isos/ubuntu-12.04.1-server-amd64.iso --vnc --noautoconsole --os-type=linux --os-variant=ubuntuprecise
Consola:
Con el comando virsh podemos ejecutar acciones sobre las máquinas virtuales:
< virsh > Welcome to virsh, the virtualization interactive terminal. > > Type: 'help' for help with commands > 'quit' to quit
comandos básicos:
- autostart [NombreHuesped] -> Marca al huesped para ser iniciado automaticamente cuando se inicia el anfitrión.
- define [ArchivoDefinicion] -> Actualiza o incorpora la configuración del huesped cuando se modifica el xml que lo define (/etc/libvirt/qemu/huesped.xml)
- destroy [NombreHuesped] -> Apaga el huesped desconctandolo (equivalente a tirar el cable de alimentación)
- list -> lista los huéspedes registrados en el servidor.
- shutdow [NombreHuesped] -> apaga el huesped amablemente
- start [NombreHuesped] -> inicia el huésped
Instalación del huésped:
Este procedimiento se realiza tipicamente desde la estación de trabajo o desde el mismo servidor si tiene la interface gráfica instalada.
Se debe ejecutar el comando virt-manager (si no esta instalada ejecutar «sudo apt-get install virt-manager»)
< virt-manager
Desplegará la siguiente ventana.
Para conectarse al servidor se debe definir la conexión en el Menú «File» -> «Add Connection»
Seleccionar la opción «Connect to remote host», definir nombre de usuario y nombre del servidor (o dirección ip).
Una vez que se conecte al servidor, se mostrarán las máquinas virtuales instaladas en el equipo.
Realizando doble click sobre una se despliega la una ventana con lo que mostraría un equipo físico por el monitor.
4 respuestas a «Virtualización en Ubuntu 12.04 con KVM»
donde:
usermod usuario -G libvirtd
mejor:
usermod usuario -a -G libvirtd
Gracias Orglando
Buenos dias, quiero implementar este tipo de virtualizacion en la empresa… que tal les ha funcionado??
Muy bien lo use en producción varios años cuando estaba como administrador de un diario argentino.