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