KVM proporciona un juego de módulos que permiten utilizar el núcleo de Oracle Linux como hipervisor para ejecutar máquinas virtuales. KVM está integrado en Unbreakable Enterprise Kernel (UEK) por defecto.
Importante
Oracle Linux 7 Premier Support finalizó el 31 de diciembre de 2024, y la imagen de Oracle Linux KVM de Oracle Cloud Marketplace ya no es compatible.
Si ya utiliza la imagen de Oracle Linux KVM de Oracle Cloud Marketplace con su instancia informática, no habrá cambios en su instancia.
La imagen de Oracle KVM incluye:
El entorno base y las herramientas para configurar una instancia de Oracle Cloud como host de KVM para desplegar y gestionar máquinas virtuales.
utilidades para gestionar las configuraciones de host, invitados, almacenamiento y red necesarias para el entorno
Importante
Actualmente, la imagen de Oracle no está diseñada para utilizarse con otras soluciones de gestión virtual, como Oracle Linux Virtualization Manager.
Si no está familiarizado con Oracle Cloud Infrastructure, consulte la sección Introducción en la documentación de Oracle Cloud Infrastructure. También debe estar familiarizado con la gestión de invitados de máquinas virtuales mediante libvirt, en concreto virsh y virt-install.
Para obtener más información sobre el uso de KVM con Oracle Linux, consulte:
Oracle actualiza la imagen de KVM de forma regular con las últimas actualizaciones y erratas de seguridad. Oracle actualiza este documento solo cuando se agregan nuevas funciones o se modifican las funciones existentes.
La versión 2.0 presenta las siguientes actualizaciones:
El sistema operativo base se actualiza a Oracle Linux 7 Update 9 y Unbreakable Enterprise Kernel Release 6 (UEKR6).
El paquete oci-utils se actualiza a la versión v0.11.6-9.
Oracle Cloud Marketplace ahora ofrece dos versiones de la imagen de Oracle Linux KVM:
Oracle Linux KVM Image (Autonomous Linux): esta imagen se configura para ejecutar Oracle Autonomous Linux mediante los repositorios estándar de Oracle Linux. Oracle Autonomous Linux proporciona capacidades autónomas, como la aplicación de parches automatizada de Ksplice con un tiempo de inactividad cero y la detección de vulnerabilidades de seguridad conocidas, para ayudar a mantener la instancia con una alta seguridad y fiabilidad. La versión de Autonomous Linux de la imagen se muestra en Oracle Cloud Marketplace como imagen de Oracle Linux KVM (Autonomous Linux).
Imagen de Oracle Linux KVM: la versión de Oracle Linux de la imagen se muestra en Oracle Cloud Marketplace como imagen de Oracle Linux KVM. Importante
Las futuras versiones de la imagen de Oracle Linux KVM para Oracle Cloud Infrastructure se configurarán como Autonomous Linux mediante los repositorios de Oracle Linux estándar.
Versión 1.6 🔗
El sistema operativo base se actualiza a Oracle Linux 7 Update 8.
Los paquetes oci-utils se actualizan a la versión v0.11.3-6.
Las utilidades de OCI se han mejorado para proporcionar soporte de varias VNIC. Para obtener más información, consulte Uso de las utilidades OCI-KVM.
La implantación Python3 de las utilidades de OCI incluye mejoras de seguridad para Instance Metadata Service v2.
Paquete python36-oci-sdk instalado en la imagen para proporcionar funcionalidad adicional para las utilidades de OCI.
El canal Utilidades de Oracle Linux 7 KVM está activado para proporcionar actualizaciones para los paquetes qemu-kvm y libvirt.
Versión 1.5 🔗
El sistema operativo base se ha actualizado a Oracle Linux 7 Update 7.
Se ha mejorado el soporte de unidades de computación para que admitan:
Unidad dedicada (BM) de AMD de Oracle Cloud Infrastructure.
Virtualización anidada para las unidades de máquina virtual (VM) basadas en Intel de Oracle Cloud Infrastructure.
En esta versión, se incluyen nuevas utilidades de OCI-KVM para Oracle Cloud Infrastructure:
oci-kvm create-network
Crea una red virtual de VNIC para un invitado de KVM. Crea una red libvirt con puente sobre una VNIC, lo que permite compartir una única VNIC entre varios invitados.
oci-kvm delete-network
Suprime una red virtual de VNIC para un invitado de KVM.
oci-kvm create-storage-pool
Crea, monta y configura un sistema de archivos en un dispositivo de almacenamiento de bloques o en un almacenamiento asignado en el servicio Oracle Cloud File Storage en Oracle Cloud Infrastructure. Permite el uso de un único disco de bloque para alojar varios discos invitados.
1.4 🔗
El sistema operativo base se basa en Oracle Linux 7 Update 5.
Se ha mejorado el paquete oci-utils para proporcionar las siguientes capacidades:
Creación de VNIC con el comando oci-network-config --create-vnic.
Creación de dispositivo de bloques con el comando oci-iscsi-config --create-volume.
Las interfaces de red de función virtual ahora están completamente configuradas con la red LSB systemd nativa de Oracle Linux (archivos de configuración de red ifcfg).
Puede crear instancias de Oracle KVM con cualquiera de las unidades de computación. Sin embargo, las máquinas virtuales basadas en procesadores AMD no soportan la virtualización anidada. Para obtener más información, consulte Unidades de computación.
No puede conectar un invitado de KVM a VLAN 0 en unidades con una NIC física activa 1. Sin embargo, puede conectar invitados de KVM a otras VLAN en cualquiera de las NIC físicas.
Asignación de almacenamiento de bloques y VNIC 🔗
Antes de crear una máquina virtual en la instancia de KVM, debe asignar almacenamiento de bloques y VNIC.
Cada invitado necesita un dispositivo de almacenamiento de bloques de Oracle Cloud Infrastructure dedicado y una VNIC.
Creación y asociación de almacenamiento de bloques 🔗
Uso de la consola
Utilice la consola de Oracle Cloud Infrastructure para crear y asociar el almacenamiento de bloques.
Por ejemplo, para crear y asociar volume_001 a un tamaño de 128 GB:
# oci-iscsi-config create --attach-volume --volume-name volume_001 --size 128
Creating a new 128 GB volume pool_volume_001
Volume [pool_volume_001] created
Attaching the volume to this instance
Attaching iSCSI device.
Volume [pool_volume_001] is attached.
Para verificar la configuración:
# oci-iscsi-config show --details
Currently attached iSCSI devices:
Target | Volume name | Volume OCID | Persistent portal | Current portal | Session State | Attached device | Size |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
iqn.2015-12.com.oracleiaas:id...| volume_001 |ocid1.volume.oc1.uk-london-1....| 169.254.2.2:3260 | 169.254.2.2:3260 | LOGGED_IN | sdb | 128G |
Nota
Si el comando falla con: Volume creation has failed: Failed to create volume
Seleccione un dispositivo de almacenamiento de bloques para la máquina virtual:
Ejecute sudo oci-iscsi-config show --details para mostrar los detalles de todo el almacenamiento asociado a la instancia.
Seleccione un dispositivo y anote el nombre del Dispositivo asociado (por ejemplo, sdb).
A la hora de ejecutar el comando create, utilizará este nombre al especificar --disk. Agregue /dev a la ruta, por ejemplo /dev/sdb.
Seleccione una VNIC específica para la máquina virtual:
Ejecute sudo oci-network-config show --details
Seleccione una VNIC adecuada y anote el nombre del Enlace (por ejemplo, ens5).
A la hora de ejecutar el comando create, utilizará este nombre al especificar la opción --net.
Nota
Varios invitados no pueden utilizar la misma VNIC ni el mismo dispositivo de almacenamiento de bloques.
Puede asignar varias VNIC a un solo invitado.
Puede conectar varias redes virtuales a un invitado.
Utilice el comando oci-kvm create con cualquiera de las opciones disponibles para crear la máquina virtual. Para obtener más información, consulte oci-kvm create.
Si se coloca el archivo .iso en /home/opc, se pueden producir incidencias de permisos. Asegúrese de que el archivo .iso está en una ubicación accesible (como /tmp).
Ejemplo con el almacenamiento de bloques
En este ejemplo, se crea un invitado con un dispositivo de almacenamiento de bloques específico y una consola serie para la salida de la consola. También puede utilizar otras opciones, como VNC para la salida de la consola. Si se utiliza una opción gráfica, debe configurar adecuadamente la lista de seguridad de Oracle Cloud Infrastructure para la subred a la que está asociada esta imagen.
Ejemplo con un pool de almacenamiento y varias VNIC
En este ejemplo, se crea un invitado configurado para utilizar un pool de almacenamiento, varias VNIC (dos VNIC en este ejemplo con la opción -n) y una consola serie para la salida de la consola.
Utilice el comando oci-kvm destroy para eliminar y anular la configuración de todos los recursos del sistema asignados a la máquina virtual de invitado y hacer que estén disponibles para su reutilización.
Conéctese a su instancia de KVM mediante SSH, por ejemplo:
Antes de eliminar una máquina virtual, debe pararla:
oci-kvm destroy -s VM_NAME
Una vez que la máquina virtual se para, puede destruirla permanentemente:
oci-kvm destroy -D VM_NAME
Por ejemplo, para destruir kvm_vm_001:
$ oci-kvm destroy -D kvm_vm_001
Domain kvm_vm_001 has been undefined
El comando oci-kvm destroy anula la definición de la máquina virtual en libvirt y limpia todos los recursos del host que se hayan creado para esta. Los recursos de Oracle Cloud Infrastructure asignados a la máquina virtual están disponibles para que las nuevas máquinas virtuales los reutilicen.
Uso de las utilidades OCI-KVM 🔗
Las utilidades de OCI-KVM (oci-kvm) le permiten crear y configurar invitados de KVM en instancias de Oracle Cloud Infrastructure.
Durante el proceso de creación automática de invitados, la utilidad garantiza que los recursos de Oracle Cloud Infrastructure no se asignen a más de un invitado de KVM. Cuando ya no necesite un invitado, las utilidades pueden eliminarlo y anular la configuración de todos los recursos del sistema asignados al invitado.
Creación de oci-kvm 🔗
Descripción 🔗
Realiza todas las acciones necesarias para crear un invitado de KVM que utilice el almacenamiento de bloques de Oracle Cloud Infrastructure y las VNIC de Oracle Cloud Infrastructure para el disco raíz y la interfaz de red.
Para el almacenamiento de bloques, valida y comprueba el dispositivo para asegurarse de que no se haya asignado a otro invitado. También se puede utilizar un pool de almacenamiento.
Para las interfaces de red virtual, crea toda la infraestructura de red virtual, incluidas las funciones virtuales, las VLAN, los dispositivos de almacenamiento de bloques individuales y las VNIC necesarias para cada invitado.
Los invitados no pueden compartir una VNIC ni un dispositivo de almacenamiento de bloques.
Los clientes pueden tener varias VNIC asignadas y estar conectados a más de una red virtual.
Ruta al dispositivo de bloque que se utilizará como disco raíz de la máquina virtual; utilice con -p | --pool y -s | --disk-size.
-s | --disk-size disk_size
Tamaño del disco, en GB, que se creará al utilizar el pool de almacenamiento; se utiliza con -d | --disk y -p | --pool.
-p | --pool pool_name
Nombre del pool de almacenamiento que se utilizará para el disco raíz. Utilice con -d |--disk y -s | --disk-size.
-v | --virtual-network virtual_network_name
Nombre de la red libvirt a la que conectar el invitado; se puede repetir para conectar al invitado a varias redes.
-n | --net ip_vnic
IP o nombre de la VNIC asignada al invitado; se puede repetir para asignar varias VNIC.
-V | --virt optional_arguments
Otros argumentos opcionales para proporcionar a virt-install. Estos argumentos se transfieren sin modificar a virt-install, incluso si son argumentos que oci-kvm comprendería de otro modo.
Ejemplos
En este ejemplo se muestra cómo crear un invitado denominado MY_VM con un disco raíz de 128 GB en el pool de almacenamiento denominado MY_POOL con la VNIC 192.168.100.1.
En este ejemplo se muestra cómo crear un invitado de Oracle Linux 7 Update 8 configurado para utilizar un pool de almacenamiento, varias VNIC (dos VNIC en este ejemplo con la opción -n ) y una consola serie para la salida de la consola.
Ruta al disco donde se crea el pool de almacenamiento.
-N | --netfshost ip_nfs
Nombre o IP del servidor NFS donde se crea el pool de almacenamiento; utilice con -p | --path.
-p | --path path_netfs
Ruta al recurso NETFS; utilice con -N | --netfshost.
Ejemplos
En este ejemplo, se muestra cómo crear un pool de almacenamiento basado en disco en el disco /dev/sdb.
oci-kvm create-pool --disk /dev/sdb
En este ejemplo, se muestra cómo crear un pool de almacenamiento basado en NETFS denominado MY_POOL en el recurso NFS FileSystem-20201212-1454 en el servidor NFS 192.168.100.1.
IP de puente para espacio de dirección de red virtual.
-S | --ip-start ip_start
Primer rango de IP invitado en el espacio de dirección de red virtual.
-E | --ip-end ip_end
Último rango de IP invitado en el espacio de direcciones de red virtual.
-P | --ip-prefix ip_prefix
Prefijo IP que se utilizará en la red virtual.
Ejemplos
En este ejemplo, se muestra cómo crear una red virtual denominada MYNET0 en una VNIC con 10.0.1.2 como dirección IP, una IP de puente 192.168.100.9, un rango de IP 192.168.100.10 - 192.268.100.30 y un prefijo de IP 24.