LinuxParty
Comenzaremos por deshabilitar SELinux, que es la herramienta de seguridad de Linux, en teoría, sólo debería desactivarlo de forma temporal y posteriormente añadir las reglas precisas para que funcione según le digamos.
Lea el artículo: Cómo crear máquinas virtuales en Linux usando KVM (máquina virtual basada en kernel)
Deshabilitar SELinux
# Utilice "setenforce" en la mayoría de las distribuciones lea el manual:
man setenforce
[root@localhost opt]# vi /etc/sysconfig/selinux SELINUX=disabled
Instalación de Virsh
Si hemos seguido la entrada anterior donde aprendimos a virtualizar con KVM/QEMU pero en modo gráfico, tendremos ya prácticamente todos los paquetes necesarios instalados a falta de virt-install, de lo contrario los instalaremos:
[root@localhost ~]# yum install virt-install libvirt bridge-utils
Esto instalará las siguientes dependencias:
libvirt-client
libvirt-python
virt-manager-common
libvirt-daemon
libvirt-daemon-config-network
libvirt-daemon-config-nwfilter
libvirt-daemon-driver-interface
libvirt-daemon-driver-lxc
libvirt-daemon-driver-network
libvirt-daemon-driver-nodedev
libvirt-daemon-driver-nwfilter
libvirt-daemon-driver-qemu
libvirt-daemon-driver-secret
libvirt-daemon-driver-storage
Iniciamos el demonio:
[root@localhost ~]# service libvirtd start
Conectamos con el hipervisor:
[root@localhost ~]# virsh -c qemu:///system Bienvenido a virsh, la terminal de virtualización interactiva. virsh #
Listamos las máquinas (evidentemente no existirá ninguna):
virsh # list Id Nombre Estado ----------------------------------------------------
Salimos de la consola Virsh:
virsh # quit
Crear máquina virtual
Lo primero es asegurarnos de que disponemos de una iso en nuestro sistema anfitrión. Nosotros tenemos nuestra ISO en el directorio:
[root@localhost opt]# ls /var/lib/libvirt/iso linuxmint-17.1-cinnamon-64bit.iso
Y lo segundo es crear un directorio donde almacenar nuestras futuras imágenes, es decir nuestras máquinas virtuales (si no existiese):
[root@localhost opt]# mkdir /var/lib/libvirt/images
Lanzamos la instalación de la máquina
[root@localhost iso]# virt-install --connect qemu:///system --name myserver \ --memory 512 --disk path=/var/lib/libvirt/images/myserver.qcow2,size=10 \ --vcpus=1 -c /var/lib/libvirt/iso/linuxmint-17.1-cinnamon-64bit.iso \ --vnc --os-type linux --network bridge=virbr0 --noautoconsole \ --hvm --keymap es Iniciando la instalación... Asignando 'myserver.img' | 10 GB 00:00:00 Creando dominio... | 0 B 00:00:00 La instalación del dominio continúa en curso. Puede reconectarse a la consola para completar el proceso de instalación. [root@localhost opt]#
Donde:
--connect : conectar con el hipervisor --name : indicamos el nombre de la máquina --memory : ram en MB --disk : especificar el disco de la nueva máquina. Se pueden combinar opciones por ejemplo --disk path=[ruta],size=10,cache=none --vcpus : indicar el número de cpus virtuales. Igualmente podemos encadenar opciones como --vcpus 5,maxcpus=10 para definir un rango o incluso ser mas específicos con --vcpus sockets=2,cores=4,threads=2 -c : también podemos usar --cdrom y como podemos imaginar se usan para indicar el medio de instalación --vnc : habilitamos escritorio vnc para poder conectar desde un cliente --os-type : tipo de sistema operativo que va a ser instalado en la máquina virtual --network : indicamos la interfaz de red, en nuestro caso tenemos configurado un puente a una red virtual mediante la interfaz virbr0 --noautoconsole : hará que el proceso continúe en segundo plano. Luego podremos continuar en modo gráfico a través de virt-manager --hvm : la máquina virtual tendrá una arquitectura full-virtualization. Para utilizar la para-virtualización deberíamos de utilizar --paravirt --keymap : el teclado será configurado para el Español
Nota: Podemos conocer mas parámetros si utilizamos la opción –help:
$ virt-install --help
Ahora podemos abrir virt-manager desde el anfitrión y seguir con la instalación del sistema:
[root@localhost ~]# virt-manager
Iniciar, suspender, reanudar, reiniciar y apagar la máquina virtual
- Conectar con el hipervisor: virsh -c qemu:///system
- Iniciar la máquina virtual: start myserver
- Suspender la máquina virtual: suspend myserver
- Reanudad la máquina virtual: resume myserver
- Reiniciar la máquina virtual: reboot myserver
- Apagar una máquina virtual: shutdown myserver
Otros comandos
- “Matar” la máquina virtual: destroy myserver
- Listar máquinas virtuales running: virsh list
- Listar todas las máquinas: virsh list –all
- Obtener información sobre una máquina: dominfo myserver
- Ver CPU máquina: vcpuinfo hypnos
- Ver el estado de la máquina virtual: domstate myserver
- Listar volúmenes de almacenamiento: pool-list
- Obtener información sobre el volumen físico: pool-info myvol
- Editar las características del volumen: pool-edit myvol
- Listar todos los discos virtuales: vol-list myvol
- Hacer que una máquina inicie automáticamente: virsh autostart myserver
- Hacer que una máquina deje de iniciar al inicio: virsh –disabled autostart myserver
- Editar información de la máquina virtual: edit myserver
- Ver redes virtuales configuradas: net-list
- Obtener información sobre las redes: net-dumpxml <red>
- Crear una red virtual: net-create /etc/libvirt/qemu/networks/myred.xml ## Este archivo debe de existir, al final del post dejo una plantilla
- Definir/elegir una red virtual: net-define /etc/libvirt/qemu/networks/myotrared.xml
- Iniciar la red virtual: net-start myotrared
- Iniciar automáticamente una red virtual: net-autostart myred
- Editar una red virtual: net-edit myotrared
- Destruir una red virtual: net-destroy myre
Plantilla de red
[root@localhost opt]# vi /etc/libvirt/qemu/networks/myred.xml
<network> <name>myred</name> <uuid>6cbbd170-c641-8d6c-ae79-6791b3288426</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' forwardDelay='0' /> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.100' end='192.168.122.200' /> </dhcp> </ip> </network>
Convertir una imagen
Convertir una imagen con formato raw a qcow2:
[root@localhost opt]# qemu-img convert -f raw -O qcow2 -o preallocation=metadata /ruta_imagen/nombre_imagen.img /ruta_imagen/nombre_imagen.qcow2
ó
[root@localhost opt]# qemu-img convert -f raw imagen.raw -O qcow2 imagen.qcow2
-
Virtualización
- VirtualBox 7.1.4 agrega soporte inicial para Linux Kernel 6.12 y otros cambios de Linux
- VirtualBox 7.1 promete soporte Wayland para compartir portapapeles en Linux
- VirtualBox 7.0.20 presenta soporte inicial para los kernels openSUSE 15.6 y RHEL 9.5
- VirtualBox 7.0.16 lanzado con soporte inicial para los kernels Linux 6.8 y 6.9
- Instalar un Sistema Operativo Invitado en VirtualBox
- Publicación de QEMU 8.0 para Linux, Windows y Mac con más emulación ARM y RISC-V
- Realidad Virtual, una revolución para el modelo digital de ocio
- Cómo instalar QEMU/KVM en Ubuntu para crear máquinas virtuales
- Cómo instalar VirtualBox 7.0 en AlmaLinux
- Cómo ejecutar aplicaciones de Android en Linux mediante Anbox
- Multipass: ejecutar varias VMs Ubuntu Linux bajo Demanda para cualquier sistema Linux
- Cómo usar máquinas virtuales Virtualbox en KVM en Linux
- Cómo clonar y crear una plantilla de máquina virtual KVM
- Gestión de máquinas virtuales KVM con Cockpit Web Console en Linux
- Cómo crear máquinas virtuales en Linux usando KVM (máquina virtual basada en kernel)