Almacenamiento del VDC: modelo y arquitectura
Qué es
El almacenamiento del VDC (Unified Storage) es un almacenamiento en bloque que pertenece a un único centro de datos virtual (VDC) y se exporta a hosts externos mediante iSCSI. El almacenamiento utiliza un pool del clúster: vStack Center crea un dataset ZFS raíz en el pool y lo asocia con el VDC. Los volúmenes se crean dentro de este dataset, se descuentan de la cuota de almacenamiento de su VDC y se exportan como LUN.
El modelo es acotado y predecible: una instancia de almacenamiento por VDC, un pool para ese almacenamiento y un destino iSCSI. Estas restricciones estrictas simplifican la principal pregunta operativa: «¿Quién es el propietario de este volumen y quién puede verlo?». La respuesta siempre es inequívoca, porque un volumen tiene exactamente un VDC propietario y se exporta exactamente a un grupo de iniciadores.
Componentes del almacenamiento
Las entidades forman una cadena desde el hardware hasta el consumidor. El pool proporciona el espacio, el dataset raíz aísla el espacio del VDC, el volumen es la unidad que se exporta, el destino y el LUN proporcionan el acceso, y los grupos de iniciadores y de portales definen quién puede conectarse y a través de qué direcciones.
| Entidad | Qué es | Ámbito de pertenencia |
|---|---|---|
| Pool | El pool ZFS del clúster que aloja el dataset raíz del almacenamiento | Clúster |
| Dataset raíz | Un dataset con el formato <пул>/<имя>; el nombre contiene de 1 a 63 caracteres: letras latinas minúsculas, dígitos, puntos y guiones | Un VDC |
| Volumen | Un zvol con el nombre completo <пул>/.vol/<имя>; el tamaño se especifica en GB y el tamaño de bloque predeterminado es 32768 | Un VDC |
| Destino iSCSI (iSCSI target) | Un punto de acceso con un IQN con el formato iqn.2024-01.io.vstack:<имя хранилища> | Un VDC |
| LUN | Un número en 0..255 con el que el volumen es visible en el destino | Un destino |
| Grupo de portales | Un conjunto de pares «dirección + puerto TCP» en los que escucha el destino | Un pool |
| Portal | Un par IP:port dentro de un grupo. No se administra como un objeto independiente: los portales se definen mediante la composición del grupo | Grupo de portales |
| Grupo de iniciadores | Una lista de IQN de iniciadores y de redes autorizadas en notación CIDR | Un VDC |
| Grupo de autenticación CHAP | Un conjunto de credenciales para la protección de iSCSI con contraseña | Un VDC |
El nombre del almacenamiento no es una simple etiqueta: de él se deriva el IQN del destino. El segmento
del nombre del dataset raíz que sigue a / se añade al prefijo iqn.2024-01.io.vstack:.
Por lo tanto, los nombres de almacenamiento deben ser únicos dentro del clúster; de lo contrario, el segundo
destino no se puede crear.
Cómo funcionan las operaciones
vStack Center no accede directamente al pool. Los comandos de almacenamiento se envían al controlador SAN del pool que aloja el dataset raíz. Esto provoca diferencias en el comportamiento de la interfaz que es importante comprender, ya que determinan cuándo verá el resultado.
| Clase de operación | Comportamiento de la interfaz | Ejemplos |
|---|---|---|
| Lectura de registros almacenados | Responde de inmediato con los registros de vStack Center | Resumen del almacenamiento, lista de volúmenes, vista general del acceso al clúster |
| Lectura de métricas en vivo | Consulta al controlador SAN; si no está disponible, deja vacíos los campos en vivo, pero abre la página | Ficha del volumen, capacidad actual del almacenamiento |
| Cambio | Espera la confirmación del controlador del pool y mantiene visible el indicador de progreso | Habilitación del almacenamiento, creación de un grupo de portales |
| Secuencia de cambios | Espera a que se complete toda la secuencia de pasos en el controlador | Asignación y desasignación de un volumen |
Los registros se escriben tras la confirmación. Si el controlador rechaza la operación, no aparece ningún grupo, destino ni volumen en vStack Center; el motivo del rechazo se transmite desde el controlador sin cambios. Lo contrario también se cumple: un objeto en la lista significa que el controlador confirmó la operación. Estos objetos no tienen un estado intermedio de «creación».
La eliminación sí tiene un estado intermedio. A partir de la versión 3.1.0, la eliminación interrumpida del almacenamiento se muestra como un estado independiente: indica que la eliminación del VDC debe ejecutarse de nuevo; antes, ese almacenamiento parecía estar habilitado y en buen estado. Una eliminación correcta borra este estado.
Invariantes del modelo
Algunas restricciones están integradas en el modelo y se comprueban antes de contactar con el controlador. Conocer estas reglas ahorra tiempo al investigar fallos.
| Invariante | Qué ocurre si se infringe |
|---|---|
| Una instancia de almacenamiento por VDC | Una nueva habilitación se rechaza con el código -45007 |
| Un pool por instancia de almacenamiento | El pool se toma del almacenamiento del VDC y no se puede seleccionar |
| Un destino por VDC | Una nueva configuración de iSCSI se rechaza con el código -45014 |
| El nombre del volumen es único dentro del almacenamiento del VDC | Un nombre ya en uso se rechaza con el código -45018 |
| Un volumen se exporta exactamente a un grupo de iniciadores | Ya está asignado: código -45027 |
| El número de LUN está disponible en el destino | Un número ya en uso: código -45029 |
| Un grupo de portales es inmutable | Su composición no se puede editar: cree un grupo nuevo en su lugar |
| Un grupo de autenticación CHAP por destino | Asignar un grupo nuevo sustituye al anterior |
Capacidad y cuota
La capacidad del almacenamiento del VDC es igual a la cuota de almacenamiento del VDC; el almacenamiento no tiene un límite propio. En el resumen del almacenamiento, la cuota aparece en el campo Capacity de la ficha Properties. La columna Storage de la pantalla Virtual Data Centers muestra el espacio utilizado en todos los VDC; el propio límite se edita en la configuración del VDC mediante el campo Storage (GB).
La cuota abarca todo el espacio que utiliza el VDC, no solo los volúmenes del almacenamiento: se suman los discos
de las máquinas virtuales y los volúmenes creados anteriormente. La comprobación se ejecuta antes de
contactar con el controlador y con un bloqueo sobre el VDC: dos solicitudes simultáneas
no pueden superar conjuntamente el límite. Si el tamaño solicitado no cabe, la operación
se rechaza con el código -45017, y el mensaje muestra el espacio solicitado y el disponible.
Indicador de funcionalidad
Todo el dominio está controlado por el indicador feature.unified_storage en las opciones
del clúster. El indicador está deshabilitado de forma predeterminada. Mientras está deshabilitado, cualquier operación de almacenamiento
se rechaza tras la comprobación de privilegios con el código -45001 y el mensaje "Unified Storage
feature is disabled". El rol Cluster master no omite el indicador.
Quién puede ver qué
El dominio se divide en los niveles de clúster y de VDC. La habilitación del almacenamiento y la creación y eliminación de grupos de portales están reservadas al rol Cluster master. Un administrador de VDC puede leer su almacenamiento y trabajar con sus volúmenes y grupos de iniciadores. Puede leer los grupos de portales de todo el clúster; este acceso no se limita a su VDC.
| Privilegio | Número | Se concede a |
|---|---|---|
Enable vDC Storage | 13000 | Cluster master (se requiere ámbito global) |
iSCSI Create Portal Group | 13004 | Cluster master |
iSCSI Delete Portal Group | 13005 | Cluster master |
iSCSI View Portal Group | 13006 | Cluster master, administrador de VDC (todo el clúster) |
iSCSI List Portal Groups | 13007 | Cluster master, administrador de VDC (todo el clúster) |
Configure vDC Storage iSCSI | 13009 | Cluster master |
View vDC Storage | 13010 | Cluster master, administrador de VDC (sus VDC) |
List vDC Storages | 13011 | Cluster master, administrador de VDC (sus VDC) |
View vDC Storage iSCSI Detail | 13026 | Cluster master, administrador de VDC (sus VDC) |
Create vDC Volume | — | Cluster master, administrador de VDC (su VDC) |
Delete vDC Volume | — | Cluster master, administrador de VDC (su VDC) |
Map vDC Volume | — | Cluster master, administrador de VDC (su VDC) |
Unmap vDC Volume | — | Cluster master, administrador de VDC (su VDC) |
List All Volumes | — | Cluster master (ámbito global) |
View Storage Overview | — | Cluster master (ámbito global) |
Los privilegios 13006 y 13007 no tienen en cuenta el ámbito, por lo que un administrador de VDC puede ver los grupos de portales de todos los pools del clúster. Aun así, no puede crearlos ni eliminarlos.
Los privilegios 13010 y 13011 sí tienen en cuenta el ámbito: un administrador de VDC recibe datos
solo de los VDC a los que está autorizado a acceder. Una solicitud sobre otro VDC devuelve
-403 sin revelar si ese VDC existe. El mismo enfoque protege las
lecturas entre VDC: la vista general del clúster y la tabla combinada de volúmenes muestran la topología
de todos los VDC, por lo que no están disponibles para un administrador de un VDC concreto.
Vista general del acceso al clúster
La vista del clúster está en la sección Unified Storage, bajo el nodo del clúster. La pestaña Overview muestra el bloque Protocol Access Overview: un embudo de acceso con cinco recuentos: Initiators → Portal Groups → VDC with Unified Storage → Targets → LUNs. Todos los recuentos proceden de una única instantánea coherente, por lo que los niveles del embudo son aritméticamente coherentes entre sí.
El desglose es por protocolo: en la versión actual, la pantalla tiene una sola columna, iSCSI. Un clúster sin almacenamiento muestra un mensaje independiente en lugar de una cuadrícula de ceros, mientras que un cero en un clúster no vacío se muestra como «0»: son estados distintos. Un error de carga también se distingue de «sin datos».
La sección solo es visible para el rol Cluster master: sin los privilegios de vista general del clúster, el nodo Unified Storage no aparece en el árbol en absoluto.
Los grupos de portales del clúster están en la misma sección, en la pestaña Protocols → selector iSCSI.
Dónde encontrar información
| Tarea | Dónde se describe |
|---|---|
| Habilitar el almacenamiento del VDC | Cómo crear un VDC con Unified Storage |
| Crear, leer y eliminar un volumen | Volúmenes del VDC |
| Configurar el punto de acceso y CHAP | Configuración de iSCSI y CHAP |
| Definir quién está autorizado y a través de qué direcciones | Grupos de iniciadores y de portales |
| Exportar un volumen a un host y eliminar la asignación | Conexión de volúmenes mediante iSCSI |
| Ver todo el clúster | Esta página, sección «Vista general del acceso al clúster» |
Orden de despliegue
Los pasos siguen una secuencia estricta, y cada paso depende del anterior. El administrador del clúster prepara de antemano un grupo de portales en el pool: sin él, el formulario de configuración de iSCSI no permite continuar. A continuación, habilite el almacenamiento en el pool, configure iSCSI, cree un grupo de iniciadores y, solo entonces, asigne los volúmenes.
Puede crear volúmenes en cuanto se habilite el almacenamiento: iSCSI no es necesario para la creación; es necesario para la asignación.
Consulte también
- Cómo crear un VDC con Unified Storage: el procedimiento inicial, desde la creación de un VDC hasta la creación del primer volumen.
- Pools de almacenamiento: dónde se encuentra el dataset raíz y cómo se calcula la capacidad del pool.
- Cuotas y recursos del VDC: cómo funciona la cuota de almacenamiento que determina la capacidad del almacenamiento.
Métodos de la API
Operaciones de la API que se tratan en esta página: vdc-storage-get, vdc-storage-list,
cluster-storage-overview, cluster-list-volumes; consulte la
referencia de la API.