Volver

2025/04/09

5. Licencia de Oracle y Oracle Linux KVM en Entornos de Servidores Virtuales

Hay un problema complicado al usar productos de Oracle en un entorno de servidor virtual. Es decir, el número de núcleos de CPU en el servidor físico base se utiliza para el conteo de licencias en lugar del número de núcleos de CPU asignados al servidor virtual. Además, el desarrollo de tecnologías de virtualización como vMotion ha complicado aún más la situación.

Por lo tanto, en este artículo, explicaremos “El concepto de licencia de Oracle en entornos de servidores virtuales” y “Oracle Linux KVM que puede reducir licencias incluso en entornos de servidores virtuales”. Además, este contenido está destinado a entornos locales (on-premises), y los servidores virtuales en la nube pública no son aplicables.

El concepto de licencia de Oracle en entornos de servidores virtuales

Conceptos básicos de licencias para entornos de servidores virtuales

Primero, cubriremos los conceptos básicos de las licencias de Oracle en un entorno de servidor virtual. Echemos un vistazo a las siguientes preguntas frecuentes publicadas en la página web de Oracle Japón.

¿Cuál es el conteo de licencias cuando se usa software de virtualización de servidores (Oracle VM, VMware, Hyper-V, etc.)?

VMware, Hyper-V, etc., se clasifican como Particionamiento Suave, y todos los procesadores físicos instalados en el servidor físico donde está instalado (o ejecutándose) el producto de Oracle se incluyen en el conteo de licencias.

* El número de máquinas virtuales (VM) donde están instalados (o ejecutándose) los productos de Oracle no está relacionado con el número de licencias requeridas.

Ha aparecido el término Particionamiento Suave, pero lo ignoraremos y lo explicaremos más adelante. En términos simples, al usar productos de Oracle en una máquina virtual (VM), como se muestra en la siguiente figura, es el procesador del servidor físico el que está sujeto a una licencia.

Por ejemplo, supongamos que hay servidores x86 con dos CPUs de 8 núcleos. Asigna dos núcleos a la máquina virtual (VM) y usa Oracle Database. En este momento, la facturación es para los servidores físicos x86. Las licencias requeridas son las siguientes:

CPU de 8 núcleos x 2 = 16 núcleos
16 núcleos x conteo de núcleos 0.5 = 8

Para Oracle Database Enterprise Edition, se requiere una licencia de 8 procesadores.
Oracle Database Standard Edition 2 no tiene en cuenta el número de núcleos, por lo que se requiere una licencia de 2 procesadores.

Consejo: Diferencias entre las licencias de Oracle EE y Oracle SE2

Aunque este no es el tema principal y no se explicará en detalle, la siguiente tabla explica las diferencias entre las licencias de las dos ediciones de Oracle Database “EE” y “SE2”. La mayor diferencia es que EE cuenta las licencias por número de núcleos, mientras que SE2 cuenta por número de procesadores. Solo se cubrirá EE en el resto de este artículo.

ProductoTipo de licenciaUnidades de conteo de licencias
Oracle Database Enterprise Edition (EE)Procesador, Named User PlusNúmero de núcleos
Oracle Database Standard Edition 2 (SE2)Procesador, Named User PlusNúmero de procesadores (máximo 2)

Consejo: Núcleos de CPU y hilos

El núcleo en la licencia de Oracle se refiere al “núcleo físico”. No es un “hilo (=núcleo lógico)” que hace que un solo núcleo de CPU parezca múltiple usando tecnología de Multi-Threading Simultáneo (SMT) como Hyper-Threading de Intel.

Por ejemplo, el Intel Xeon Platinum 8362 tiene 32 núcleos. Habilitar Hyper-Threading resulta en 64 hilos. Cuando se ve desde el sistema operativo, parece que hay 64 CPUs. Sin embargo, son los núcleos, no los hilos, los que se cuentan para la licencia de Oracle, por lo que son 32.

32 núcleos x conteo de núcleos 0.5 = 16 licencias de procesador requeridas

Concepto de entorno de servidor virtual con configuraciones de múltiples servidores

Considera un entorno de servidor virtual que consta de múltiples servidores físicos, como se muestra en la figura a continuación. Puede usarse para migración en vivo, etc., por lo que probablemente sea el método de uso más común en entornos comerciales.

En tal entorno, todos los servidores físicos que componen el clúster están sujetos a la facturación de licencias de Oracle. Esto se debe a que, cuando se usa la migración en vivo, las máquinas virtuales también pueden ejecutarse en otros servidores.

En otras palabras, cubre no solo el servidor en el que está instalado el producto de Oracle, sino también los servidores en los que el producto de Oracle está ejecutándose o podría ejecutarse.

Para servidores con las mismas especificaciones que antes, las licencias requeridas son las siguientes:

(CPU de 8 núcleos x 2) x 2 unidades = 32 núcleos
32 núcleos x conteo de núcleos 0.5 = 16

Para Oracle Database Enterprise Edition, se requiere una licencia de 16 procesadores.

La evolución de la tecnología de virtualización complica aún más la situación. Por ejemplo, VMware vSphere 6.0 y versiones posteriores permiten la migración en vivo entre clústeres. En otras palabras, ahora es posible migrar en vivo a un servidor físico host gestionado por otro vCenter.

La licencia es para “Servidores que ejecutan o podrían ejecutar productos de Oracle”. Por lo tanto, incluye no solo la migración en vivo, sino también la migración en frío, que detiene temporalmente la máquina virtual para migrar. Como resultado, todos los servidores físicos host conectados entre sí en la red con VMware o similar instalado están sujetos a una licencia. Esto requiere un gran número de licencias de Oracle.

Por lo tanto, si deseas limitar las licencias de Oracle a un servidor específico, puedes dividir la red física como se muestra a continuación para evitar la migración en vivo o en frío. En este caso, solo un servidor físico está licenciado.

Resumen de licencias de Oracle para entornos de servidores virtuales

  • En un entorno de servidor virtual, el servidor físico base está sujeto a la facturación de licencias
  • En un entorno de servidor virtual que consta de múltiples servidores físicos, todos los servidores migrables en vivo o en frío están sujetos a la facturación de licencias

Entendiendo la Política de Particionamiento

Ahora describiremos la Política de Particionamiento que es importante en entornos virtualizados. “Particionamiento” es una tecnología que divide la CPU de un servidor físico y la usa como múltiples servidores independientes. Es originalmente una tecnología que apareció en mainframes. Luego se extendió a servidores UNIX y ahora se usa en VMware y tecnologías similares. Ten en cuenta que no tiene nada que ver con la Opción de Particionamiento, que divide una tabla en múltiples partes.

Particionamiento Suave y Particionamiento Duro

Oracle ha publicado los siguientes documentos sobre la Política de Particionamiento. A diciembre de 2022, la versión en inglés es un poco más reciente, con la adición de contenedores y Kubernetes.

El documento anterior introduce los siguientes tres tipos de Particionamiento. El Particionamiento Confiable de Oracle se relaciona con sistemas diseñados (productos de electrodomésticos) como Oracle Exadata y Oracle Private Cloud Appliance. Por lo tanto, explicaremos el Particionamiento Suave y el Particionamiento Duro.

  • Particionamiento Suave
  • Particionamiento Duro
  • Particionamiento Confiable de Oracle

La documentación de la Política de Particionamiento de Oracle es muy importante. Esto se debe a que clasifica la tecnología de virtualización en Suave y Dura, reconociéndola o aclarándola como un medio para limitar el número de licencias de Oracle. Oracle define la Tecnología de Particionamiento como sigue. El Particionamiento Duro es el único medio reconocido para limitar licencias.

Particionamiento Suave
Solaris 9 Resource Containers, AIX Workload Manager, HP Process Resource Manager, Affinity Management, Oracle VM, VMware, etc.

Particionamiento Duro
Dominios Físicos, Solaris Zones, IBM LPAR, IBM Micro-Partitions, vPar, nPar, Integrity Virtual Machine, Secure Resource Partitions, Fujitsu PPAR, etc.

Cuando se usa una tecnología reconocida como Particionamiento Duro, puedes contar solo el número de núcleos de CPU asignados al entorno dividido, no los servidores físicos, como se muestra en la figura a continuación. Sin embargo, como puedes ver en la lista de Particionamiento Duro, hay mucha tecnología de servidores UNIX de gama alta del pasado, y la mayoría son ahora tecnologías menores.

La razón por la que todos los servidores se cuentan incluso si la migración en vivo o en frío está prohibida

Lo siguiente se afirmó anteriormente:

En un entorno de servidor virtual que consta de múltiples servidores físicos, todos los servidores migrables en vivo o en frío están sujetos a la facturación de licencias

Algunas características prohíben la migración en vivo o en frío, como VMware. ¿No se pueden usar esas características para limitar licencias como el Particionamiento Duro? Estas características no se pueden usar para limitar licencias.

Esto se debe a que la mayoría de las tecnologías de virtualización en servidores x86, como VMware y Hyper-V, están certificadas como Particionamiento Suave. Para limitar las licencias, necesitas una tecnología certificada como Particionamiento Duro.

Por lo tanto, para limitar las licencias en un entorno de servidor virtual que consta de múltiples servidores físicos, necesitas separar los servidores y el almacenamiento en la red para limitar los servidores en los que los productos de Oracle se ejecutan o podrían ejecutarse.

Excepciones en el Particionamiento Duro

Ahora sabes que las tecnologías de Particionamiento Suave actuales no se pueden usar para limitar las licencias de Oracle. Entonces, ¿hay alguna forma de limitar el número de núcleos de CPU en un servidor físico y reducir las licencias de Oracle? Puedes hacerlo de las siguientes maneras:

  • Usar tecnologías reconocidas como Particionamiento Duro, como Oracle Linux KVM
  • Usar sistemas diseñados como Oracle Exadata y Oracle Private Cloud Appliance, que están reconocidos como Particiones Confiables de Oracle
  • Usar Capacidad bajo Demanda (CoD) con Oracle Exadata o Oracle Database Appliance

Lo que queremos mostrarte aquí es cómo usar Oracle Linux KVM. La Política de Particionamiento de Oracle establece lo siguiente como una excepción. Ten en cuenta que Oracle VM Server no se recomienda porque está cerca del fin de soporte (Fin de Soporte Premier: marzo de 2021, Fin de Soporte Extendido: junio de 2024).

Es importante destacar que el texto dice: “Si se asigna un núcleo específico en el documento a continuación.” Para ser reconocido como Particionamiento Duro, deben cumplirse ambas condiciones siguientes. Oracle Linux KVM solo no puede cumplir con los requisitos.

  • Usa Oracle Linux KVM
  • Los núcleos usados están limitados de la manera descrita en el documento

Consejo: Concepto para contenedores como Kubernetes

Los contenedores Docker y Kubernetes también se usan comúnmente hoy en día. La Política de Particionamiento de Oracle también menciona contenedores como Kubernetes. Básicamente son una forma de Particionamiento Suave. Por lo tanto, las CPUs de todos los nodos que componen el clúster de Kubernetes están sujetas a la licencia de Oracle.

Sin embargo, puedes limitar las licencias a nodos específicos usando el selector de nodos. Para instrucciones detalladas, consulta el siguiente documento:

Ejecutando y Licenciando Programas de Oracle en Contenedores y Kubernetes

Oracle Linux KVM y asignación de núcleos

¿Qué es Oracle Linux KVM?

Oracle Linux KVM es un método de virtualización que usa KVM incrustado en el núcleo de Oracle Linux como HyperVisor. Está integrado tanto en RHCK como en UEK. No existe un producto llamado Oracle Linux KVM, y se logra incorporando paquetes que soportan la virtualización en Oracle Linux 7, Oracle Linux 8 y Oracle Linux 9.

Para instrucciones detalladas de configuración, consulta el siguiente manual. También hay una herramienta de gestión, Oracle Linux Virtualization Manager, que es equivalente a VMware vCenter.

Asignando núcleos a máquinas virtuales

Los requisitos de Particionamiento Duro no se pueden cumplir usando solo Oracle Linux KVM. Para cumplir con los requisitos, se debe asignar un núcleo específico a la máquina virtual objetivo usando una técnica llamada anclaje (pinning). Para asignar un núcleo específico, se usa el comando olvm-vmcontrol o Oracle Linux Virtualization Manager.

Sin embargo, como limitación cuando asignas un núcleo específico a una máquina virtual, la máquina virtual no es elegible para migración en vivo o en frío. Esto es importante, así que por favor recuérdalo.

Conclusión

A continuación se presenta un resumen de este artículo. En el próximo artículo, explicaremos cómo asignar núcleos específicos. También daremos instrucciones sobre el Particionamiento Duro con Oracle Linux KVM. Sin embargo, es un poco complicado, por lo que puede no funcionar bien tal como está.

El concepto de licencia de Oracle en entornos de servidores virtuales

  • En un entorno de servidor virtual, el servidor físico base está sujeto a la facturación de licencias
  • En un entorno de servidor virtual que consta de múltiples servidores físicos, todos los servidores que pueden ser migrados en vivo o en frío están, en principio, sujetos a la facturación de licencias
  • Las tecnologías de virtualización certificadas por Oracle incluyen Particionamiento Suave y Particionamiento Duro, y las licencias de Oracle solo se pueden limitar con tecnologías de Particionamiento Duro
  • Las tecnologías de virtualización usadas en servidores x86 como VMware, Hyper-V y Linux KVM se clasifican como Particionamiento Suave

Excepciones en Oracle Linux KVM

  • En Oracle Linux KVM, una tecnología se reconoce como Particionamiento Duro solo cuando se asigna un núcleo específico en un procedimiento determinado
  • Cuando se asigna un núcleo específico en Oracle Linux KVM, la migración en vivo o en frío no está disponible para esa máquina virtual