Visitas: 11
KVM (Kernel virtual Machine) es una solución de virtualización completa para Linux en el hardware x86 con extensiones de virtualización (Intel-VT o AMD-V). Para virtualizar Sistemas Operativos utilizo KVM como solución y hasta ahora no me defraudo.
Se pueden crear miles de máquinas virtuales de Linux, Windows, etc.
Quiero aclarar que para este post haremos en la misma máquina (PC) los accesos a los guest, pero también se puede tener en una máquina (PC) como servidor de máquinas virtuales y se accede remotamente a ellas.
OBS:
- Uso Debian Stretch de 64 bits.
Lo primero que vamos a identificar es si nuestro procesador soporta KVM, los de Intel le llaman Intel-VT y los de AMD le llaman AMD-V. Con los nuevos procesadores que están en el mercado casi seguro que ya soportan virtualización por hardware.
La forma de identificarlos es distinta, para ver si tu procesador soporta virtualización por Kernel, vamos a buscar en las flags del procesador.
Para Intel, escribimos en la consola:
grep --color vmx /proc/cpuinfo
Debe aparecer en rojo un montón de palabras, entre ellas, la palabra vmx.
En el caso de AMD el procedimiento es similar. Escribimos en la consola:
grep --color svm /proc/cpuinfo
Debe aparecer en rojo un montón de palabras, entre ellas, la palabra svm.
Si aparece en tu caso uno de los dos resultados, dependiendo de tu procesador; te recomiendo a que instales KVM; pero si no, sería mejor optar por una solución como VirtualBox, porque con KVM sería muy lento.
Ahora instalaremos los paquetes necesarios, entramos en la consola y escribimos:
sudo apt update sudo apt install qemu-kvm libvirt0 virtinst kvm virt-viewer libvirt-clients libvirt-daemon-system -y sudo apt clean && sudo apt autoclean
Para agregar al usuario que queremos que use la virtualización. En este caso usamos proyectosbeta, pero pueden elegir cualquiera. Escribimos en la consola:
sudo adduser proyectosbeta libvirt sudo adduser proyectosbeta kvm
Sería bueno cargar el módulo por si las moscas:
Para Intel, escribimos en la consola:
sudo modprobe kvm-intel
Para AMD, escribimos en la consola:
sudo modprobe kvm-amd
Preparar la configuración de red para que los futuros guests tengan conectividad entre el host y los guest.
Entramos en la consola y escribimos:
sudo nano /etc/network/interfaces
Les podría salir algo similar a lo siguiente:
auto enp2s0 iface enp2s0 inet dhcp
Reemplazar lo anterior por:
auto br0 iface br0 inet dhcp bridge_ports enp2s0 bridge_stp on bridge_maxwait 0
Ahora guardamos los cambios (control + o) y luego lo cerramos (control + x). Antes de crear una máquina virtual debe de reiniciar su sistema. Escribimos en la consola:
sudo reboot
OBS:
- Ser usuario proyectosbeta.
Luego de reiniciar podemos continuar.
Creación de VM’s por línea de comando virt-install:
Escribimos en la consola:
virt-install --connect=qemu:///system --name=debianPrueba --ram=256 --vcpus=1 --check-cpu --os-type=linux --hvm --vnc --accelerate --disk=/home/proyectosbeta/debianPrueba.img,size=8,sparse=true --cdrom=/home/proyectosbeta/debian-9.2.0-amd64-netinst.iso --network=bridge:br0
El significado de los parámetros:
- name=debianPrueba -> El nombre que le vamos a dar a la VM.
- ram=256 -> La RAM que le vamos a asignar (se puede modificar posteriormente).
- vcpus=1 -> CPU’s virtuales que le vamos a asignar.
- check-cpu -> Comprueba que el nº de CPU’s asignadas no exceda el del Host y si es así nos avisa.
- os-type=linux -> Tipo de Sistema Operativo que vamos a instalar (linux o windows).
- hvm -> Que utilice full-virtualization.
- disk=/home/proyectosbeta/debianPrueba.img,size=8,sparse=true -> El disco que vamos a crear, size=8 el tamaño en GB, sparse=true que no reserve todo el espacio y que lo vaya asignando a medida que crece el disco (.img).
- cdrom=/home/proyectosbeta/debian-9.2.0-amd64-netinst.iso -> La iso o el cd si está puesto y montado.
- network=bridge:br0 -> Que utilice como red el dispositivo bridge ‘br0‘ para poder tener la red en el mismo rango que el host.