Introducción
¿Qué es una máquina virtual (VM)?
Una máquina virtual (VM) es un entorno virtual que funciona como un sistema informático virtual con su propia CPU, memoria, interfaz de red y almacenamiento, creado en un sistema de hardware físico (ubicado fuera o dentro de las instalaciones). El software llamado hipervisor separa los recursos de la máquina del hardware y los aprovisiona adecuadamente para que la máquina virtual pueda utilizarlos.
¿Cómo funcionan las máquinas virtuales?
La tecnología de virtualización le permite compartir un sistema con muchos entornos virtuales. El hipervisor administra el hardware y separa los recursos físicos de los entornos virtuales. Los recursos se dividen según sea necesario desde el entorno físico hasta las máquinas virtuales.
¿Qué es un KVM?
KVM o (máquina virtual basada en kernel) es una solución de virtualización completa para Linux. Eso está incluido en el kernel de Linux desde 2.6.20 y es estable y rápido para la mayoría de las cargas de trabajo.
Comencemos nuestros procedimientos:
Paso 1:Comprobación de las extensiones de virtualización de hardware
Para hosts basados en Intel, verifique que la extensión de virtualización de CPU [vmx] esté disponible.
Para hosts basados en AMD, verifique que la extensión de virtualización de CPU [svm] esté disponible.
Verifique también que los módulos KVM estén cargados en el kernel.
RHEL o Ubuntu
root@W10GCHF473:~# grep -c vmx /proc/cpuinfo
8
root@W10GCHF473:~#
root@W10GCHF473:~#
root@W10GCHF473:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Paso 2:Instalar paquetes y herramientas KVM
Instalaremos qemu-kvm y qemu-img paquetes al principio. Estos paquetes proporcionan el administrador de imágenes de disco y KVM a nivel de usuario.
Ubuntu:
root@W10GCHF473:~# apt install qemu-kvm libvirt-daemon-system libvirt-clients
RHEL:
[root@rhelab~]# yum install qemu-kvm qemu-img
también instalaremos las herramientas más importantes para administrar máquinas virtuales:
- virt-manager proporciona una herramienta GUI para administrar sus máquinas virtuales.
- libvirt-cliente proporciona una herramienta CL para administrar su entorno virtual, esta herramienta se llama virsh.
- instalación virtual proporciona el comando "virt-install" para crear sus máquinas virtuales desde CLI.
- libvirt proporciona las bibliotecas del lado del servidor y del host para interactuar con los hipervisores y los sistemas host.
RHEL:
[root@rhelab ~]# yum install virt-manager libvirt libvirt-python libvirt-client
Paso 3:habilite e inicie el servicio de virtualización (libvirtd)
RHEL/Ubuntu
[root@rhelab ~]#systemctl enable libvirtd
[root@rhelab ~]#systemctl restart libvirtd
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Mon 2021-04-26 15:48:46 EET; 14s ago
Main PID: 15401 (libvirtd)
Parte 1:
Puede construir su máquina usando virt-manager .
Aunque virt-manager es una herramienta basada en GUI, también podemos iniciarla desde la terminal y desde la GUI.
RHEL/UBUNTU
root@W10GCHF473:~# virt-manager
Puede elegir la mejor manera de instalar el sistema operativo
- Imagen ISO o CDROM
- Importar imagen de disco existente
- PXE, HTTP, NFS y FTP
Parte 2:
Cree su VM usando qemu
Qemu es un proyecto muy antiguo y grande que tiene diferentes bases de usuarios y se cruza con diferentes proyectos. Qemu se utiliza en el proyecto de virtualización del kernel de Linux llamado KVM. Por lo tanto, este proyecto también proporciona a Qemu diferentes nombres de comandos pero con más funciones.qemu_system_x86_64 es el comando o binario para Qemu que se utiliza para crear máquinas virtuales x86 de 64 bits
root@W10GCHF473:~# qemu-system-x86_64 -bios Data/OVMF.fd -drive file=CentOS-7-x86_64-DVD-1708.iso,media=cdrom,readonly -net nic -net user -m 5172 -vga qxl --enable-kvm -smp 4
Puede conocer todas las opciones usando la opción -h con el comando qemu-system-x86_64
root@W10GCHF473:~# qemu-system-x86_64 -h|more
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.14)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
usage: qemu-system-x86_64 [options] [disk_image]
'disk_image' is a raw hard disk image for IDE hard disk 0
Standard options:
-h or -help display this help and exit
-version display version information and exit
...
memory-encryption=@var{} memory encryption object to use (default=none)
-cpu cpu select CPU ('-cpu help' for list)
...
-m [size=]megs[,slots=n,maxmem=size]
configure guest RAM
size: initial amount of guest memory
slots: number of hotplug slots (default: none)
maxmem: maximum amount of guest memory (default: none)
...