viernes, 24 de febrero de 2017

Utilizar tecnología de virtualización KVM en Linux

En ambientes de pequeñas empresas u oficinas con más de un servidor cada día es más sencillo bajar los costos en hardware y mantenimiento como asi también tener un plan de contingencia con recursos necesarios implementando  la virtualización de varios servidores en una sola máquina física a través de la tecnología KVM (Kernel-based Virtual Machine).
En la distribución Ubuntu Server se dispone desde el propio instalador la opción "virtual Machine Host".

Si optamos por realizar nosotros mismos esa instalación para ver qué paquetes y dependencias se instalarán disponemos del meta paquete ubuntu-virt-server :
sudo apt install ubuntu-virt-server

 Para asegurarnos que nuestro procesador soporta virtualización ejecutamos:
egrep -c mvx /proc/cpuinfo
 en caso de tener procesador AMD reemplazamos mvx por svm
Así mismo, para comprobar si podemos utilizar un SO de 64 bits ejecutamos:
egrep -c lm /proc/cpuinfo
Como se observa en la imagen los dos cores soportan virtualización y son de arquitectura x64.

  Para comenzar la instalación de nuestras máquinas virtuales comprobamos si nuestro usuario pertenece al grupo libvirtd:
# groups


Instalamos el paquete virtinst que nos permite manipular la creación y replica de discos
sudo apt install virtinst

chequeamos si esta instalado el paquete virt-viewer que nos muestra la ventana de la VM a través del protocolo vnc
sudo apt show virt-viewer|grep Installed
 creamos una VM:
# sudo virt-install \
 --connect qemu:///system \
 --name=WebServer \
 --hvm \
 --ram 1024 \
 --disk /var/lib/libvirt/images/webServer.img,size=100 \
 --network bridge=virbr0 \
 --cdrom= /var/lib/libvirt/images/ubuntu-16.04-server-amd64.iso \
 --vnc \
 --os-type=linux
Prestar ATENCIÓN que para no tener inconvenientes de denegación de acceso a las imagenes ISO e IMG deben estar en  /var/lib/libvirt/images/


Si por alguna razón tenemos que volver a crear esta vm tenemos que removerla del hypervisor.

Listamos las vm:
# sudo virsh list

Observamos que la vm WebServer esta corriendo por lo que primero debemos apagarla con el parámetro "destroy" y luego removerla con el parámetro "undefine:
#sudo virsh destroy WebServer
#sudo virsh -c qemu:///system undefine WebServer

Recreamos la misma VM (observar que si estamos logeados por ssh al servidor host debemos poner el parámetro -Y o -X para que vnc pueda desplegar la ventana de la VM)


En este caso con F4 vamos a seleccionar una facilidad que nos brinda Ubuntu que es "instalar una VM minima"


Configuramos la VM para que inicie automáticamente con el host
#sudo virsh -c qemu:///system autostart WebServer
 A partir de aqui ya podremos conectarnos y configurar el servidor en la VM de la forma tradicional por ssh:
#ssh -Y 192.168.122.20


Fuentes:
http://bitubuntu.blogspot.com.ar/2013/06/virtualizacion-con-kvm.html
https://www.ibm.com/developerworks/ssa/linux/library/l-kvm-virtual-server/
http://blog.jorgeivanmeza.com/2010/01/administrar-maquinas-virtuales-con-kvm-desde-linea-de-comando-en-ubuntu-9-10/
https://es.wikipedia.org/wiki/Plan_de_contingencias

No hay comentarios: