VDC: aislamiento, roles y cuotas
Un VDC (centro de datos virtual) es la unidad que se utiliza para repartir un clúster entre sus consumidores. El clúster aporta el hardware: nodos, pools de almacenamiento y redes físicas. Un VDC define el límite dentro del cual un consumidor trabaja con sus máquinas virtuales, redes, datasets y volúmenes. Un clúster alberga muchos VDC, y los objetos de un VDC no son visibles desde otro.
El límite se aplica tanto a la visibilidad como a los permisos. En la lista Virtual Data Centers, los usuarios solo ven los VDC para los que tienen concesiones; los demás no existen desde su punto de vista. El rol se asigna por separado para cada VDC, de modo que una misma cuenta puede ser administrador en un VDC y observador en otro: el rol está vinculado al par "usuario + VDC", y no a la cuenta en su conjunto.
La misma lista muestra el uso de la capacidad. Las columnas Running VMS, CPU (Cores) used of quota, RAM (GB) used of quota y Storage (GB) used of quota muestran pares "usado / permitido", de modo que una sola pantalla responde a la pregunta de cuánto ha usado un VDC y cuánto tiene permitido, sin inspeccionar objetos individuales. La segunda cifra se sustituye por "∞" en un VDC sin límite establecido para ese recurso.
Los recursos entran en un VDC de tres maneras distintas, y esto es clave para comprender el aislamiento. Las máquinas virtuales, los datasets y los volúmenes se crean dentro de un VDC y le pertenecen. Una red es un objeto a nivel de clúster: entra en un VDC mediante su asignación en la pestaña Networks de la ficha del VDC, y una misma red puede asignarse a varios VDC. Cada par VDC↔red tiene un límite de direcciones independiente, que se muestra en la columna Addrs limit de la subpestaña IP Data, de modo que una red compartida no implica un pool de direcciones compartido. Las imágenes de SO siguen un tercer modelo: una imagen tiene un VDC propietario, y otros VDC pueden ver la imagen mediante una concesión de visibilidad.
Los permisos sobre el propio VDC corresponden a un rol a nivel de clúster. Crear, modificar
y eliminar un VDC, establecer un límite de direcciones de red y ver los roles asignados solo está disponible
para el rol Cluster master. Los roles a nivel de VDC, de vDC admin
hacia abajo, operan dentro de un VDC. Asignar y desasignar una red es la única operación de esta lista con
una regla menos restrictiva: puede realizarla tanto un Cluster master como un vDC admin que
haya creado la red.
El límite también se aplica a la eliminación. Un VDC vacío se elimina de inmediato. Un VDC que contiene objetos no se puede eliminar: vStack Center rechaza la solicitud e indica qué bloquea la eliminación: redes asignadas, puertos, máquinas virtuales, datasets, volúmenes o imágenes de SO propias. Esto evita que la eliminación de un VDC destruya silenciosamente el trabajo de otra persona. Si el almacenamiento del VDC está habilitado, la eliminación se convierte en una operación de larga duración: antes de eliminar el registro del VDC, se eliminan en cascada el destino iSCSI (iSCSI target), los grupos de portales, los grupos de iniciadores, los conjuntos de credenciales CHAP y el dataset ZFS raíz.
Qué pertenece a un VDC
| Objeto | Cómo entra en un VDC | Comportamiento al eliminar el VDC |
|---|---|---|
| Máquinas virtuales | Se crean dentro del VDC | Bloquean la eliminación ("VDC has assigned VMs") |
| Redes | Se asignan desde el clúster en la pestaña Networks | Bloquean la eliminación ("VDC has assigned networks") |
| Puertos de red | Aparecen cuando una red del VDC se conecta a una VM | Bloquean la eliminación ("VDC has assigned ports") |
| Datasets | Se crean en los pools de almacenamiento del clúster | Bloquean la eliminación ("VDC has assigned datasets") |
| Volúmenes SDS | Se crean en el almacenamiento del VDC | Bloquean la eliminación ("VDC has assigned volumes") |
| Imágenes de SO propias | Se cargan en el VDC, que es su propietario | Bloquean la eliminación; vStack Center enumera las imágenes que la impiden |
| Imágenes de SO con concesión de visibilidad | Se hacen visibles desde otro VDC, que es su propietario | No bloquean la eliminación: las concesiones se eliminan automáticamente |
| Almacenamiento del VDC | Se habilita en un pool de almacenamiento | Se elimina en cascada antes de eliminar el registro del VDC |
Quién puede hacer qué
| Operación | Ubicación en la interfaz | Acceso |
|---|---|---|
| Listar los VDC disponibles | Sitio → pestaña Virtual Data Centers | Cualquier usuario; la lista está limitada por sus concesiones |
| Crear un VDC | Pestaña Virtual Data Centers → Actions → Create a VDC | Cluster master |
| Cambiar el nombre, la descripción y las cuotas | Ficha del VDC → sección Settings | Cluster master |
| Eliminar un VDC | Ficha del VDC → Actions → Delete VDC | Cluster master |
| Asignar una red a un VDC | Ficha del VDC → pestaña Networks → Primary → columna Assign | Cluster master o el creador de la red con el rol vDC admin |
| Desasignar una red de un VDC | La misma ubicación | Los mismos requisitos que para la asignación |
| Redes asignadas a un VDC | Ficha del VDC → pestaña Networks → Primary | Cualquier usuario; la lista está limitada a los VDC accesibles |
| Límite de direcciones de un par VDC↔red | Pestaña Networks → IP Data → columna Addrs limit | Cluster master |
| Roles asignados en un VDC | Ficha del VDC → sección VDC roles | Cluster master |
El reparto es sencillo: los roles a nivel de clúster controlan el límite del VDC, mientras que los roles a nivel de VDC operan dentro de él. La lista completa de roles y ámbitos se encuentra en la referencia de roles y privilegios.
Las cuotas como contrato de capacidad
Una cuota es el límite superior de un recurso para un VDC. Hay cinco cuotas, organizadas en dos grupos en la ficha del VDC: Quotas contiene CPU (núcleos), RAM (GB) y Storage (GB); Secondary limits contiene CPU frequency y Snapshots. Un campo vacío significa que no hay límite establecido para ese recurso; la lista de VDC muestra dicho recurso como "∞".
Junto a las cuotas se encuentra el grupo Oversubscription factor, con los factores de sobresuscripción para CPU, RAM y Storage. El factor está separado deliberadamente de la cuota: el límite de capacidad y la sobresuscripción permitida pueden cambiarse de forma independiente.
El uso se muestra en el mismo lugar, en la ficha: el contador Running VMS, tres indicadores CPU, Memory y Storage rotulados con la cuota actual, y las filas de resumen Quotas, Oversubscription y Limits. Para un VDC sin cuota, no se calcula el uso relativo: no hay ningún valor por el que dividir. El conjunto exacto de campos y tipos figura en la referencia de cuotas y recursos del VDC.
Ciclo de vida
Un VDC pasa por tres estados. La creación establece el nombre y, opcionalmente, las cuotas; la interfaz web le guía a través de un asistente de cuatro pasos. Después, el VDC funciona y cambia: la sección Settings de su ficha le permite editar el nombre, la descripción, las cuotas y los factores de sobresuscripción, cada campo por separado. Puede dejar un valor sin cambios, borrarlo o establecer uno nuevo. La retirada se realiza con Delete VDC en el menú Actions y solo se completa después de que se hayan eliminado todos los objetos del VDC.
Los procedimientos paso a paso para los tres estados se encuentran en Cómo crear, modificar y eliminar un VDC.
Métodos de la API
Las operaciones de la API tratadas en esta página son vdc-list, vdc-create, vdc-set, vdc-delete,
vdc-assign-network, vdc-deassign-network, vdc-networks,
vdc-network-addr-limit y vdc-roles. Consulte la referencia de la
API.