Opciones de configuración y ejemplos
Descubra cómo crear y usar controladores SAN de ONTAP con su instalación de Astra Trident. En esta sección, se ofrecen ejemplos de configuración del back-end y detalles sobre cómo asignar back-ends a StorageClasses.
Opciones de configuración del back-end
Consulte la siguiente tabla para ver las opciones de configuración del back-end:
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Siempre 1 |
|
|
Nombre del controlador de almacenamiento |
“ontap-nas”, “ontap-nas-economy”, “ontap-nas-flexgroup”, “ontap-san” y “ontap-san-economy” |
|
Nombre personalizado o el back-end de almacenamiento |
Nombre del conductor + “_” + dataLIF |
|
La dirección IP de una LIF de gestión de clústeres o SVM |
“10.0.0.1”, “[2001:1234:abcd::fefe]” |
|
Dirección IP de LIF de protocolo. Use corchetes para IPv6. No se puede actualizar después de configurarlo |
Derivado de la SVM a menos que se especifique |
|
Usar CHAP para la autenticación de iSCSI para los controladores SAN de ONTAP [booleano] |
falso |
|
Secreto CHAP del iniciador. Obligatorio si |
"" |
|
Conjunto de etiquetas con formato JSON arbitrario que se aplica en los volúmenes |
"" |
|
Secreto CHAP del iniciador de destino. Obligatorio si |
"" |
|
Nombre de usuario entrante. Obligatorio si |
"" |
|
Nombre de usuario de destino. Obligatorio si |
"" |
|
Valor codificado en base64 del certificado de cliente. Se utiliza para autenticación basada en certificados |
"" |
|
Valor codificado en base64 de la clave privada de cliente. Se utiliza para autenticación basada en certificados |
"" |
|
Valor codificado en base64 del certificado de CA de confianza. Opcional. Se utiliza para autenticación basada en certificados |
"" |
|
Nombre de usuario para conectarse al clúster/SVM. Se utiliza para autenticación basada en credenciales |
"" |
|
Contraseña para conectarse al clúster/SVM. Se utiliza para autenticación basada en credenciales |
"" |
|
Máquina virtual de almacenamiento que usar |
Derivado si una SVM |
|
Nombre del igroup para volúmenes DE SAN que usar |
"Trident-<backend-UUID>" |
|
El prefijo que se utiliza cuando se aprovisionan volúmenes nuevos en la SVM. No se puede actualizar después de configurarlo |
"trident" |
|
Error al aprovisionar si el uso supera este porcentaje. No se aplica a Amazon FSX para ONTAP |
“” (no se aplica de forma predeterminada) |
|
No se pudo aprovisionar si el tamaño de volumen solicitado es superior a este valor para el controlador económico. |
“” (no se aplica de forma predeterminada) |
|
El número máximo de LUN por FlexVol debe estar comprendido entre [50 y 200] |
“100” |
|
Indicadores de depuración que se deben usar para la solución de problemas. Ejemplo, {“api”:false, “method”:true} |
nulo |
|
Parámetro booleano para usar las API DE REST de ONTAP. Vista previa técnica |
falso |
useREST se proporciona como avance técnico que se recomienda para entornos de prueba y no para cargas de trabajo de producción. Cuando se establece en true , Astra Trident utilizará las API DE REST de ONTAP para comunicarse con el back-end. Esta función requiere ONTAP 9.9 o posterior. Además, el rol de inicio de sesión de ONTAP utilizado debe tener acceso a ontap cliente más. Esto está satisfecho por el predefinido vsadmin y.. cluster-admin funciones.
|
Para comunicarse con el clúster ONTAP, debe proporcionar los parámetros de autenticación. Puede ser el nombre de usuario o la contraseña de un inicio de sesión de seguridad o un certificado instalado.
Si utiliza un entorno de administración de Amazon FSX para ONTAP de NetApp, no especifique el limitAggregateUsage parámetro. La fsxadmin y.. vsadmin Las funciones que ofrece Amazon FSX para ONTAP de NetApp no incluyen los permisos de acceso necesarios para recuperar el uso de agregados y limitarla a través de Astra Trident.
|
No utilizar debugTraceFlags a menos que esté solucionando problemas y necesite un volcado de registro detallado.
|
Para la ontap-san
Controladores, el valor predeterminado es utilizar todas las IP de LIF de datos de la SVM y para utilizar la multivía iSCSI. Especificar una dirección IP para la LIF de datos del ontap-san
los controladores les obligan a deshabilitar la multivía y a usar solo la dirección especificada.
Al crear un back-end, recuerde eso dataLIF y.. storagePrefix no se puede modificar una vez creada. Para actualizar estos parámetros, deberá crear un nuevo backend.
|
igroupName
Puede establecerse en un igroup que ya se creó en el clúster de ONTAP. Si no se especifica, Astra Trident crea automáticamente un igroup llamado Trident-<backend-UUID>. Si proporciona un nombre de canal medio predefinido, NetApp recomienda usar un igroup por clúster de Kubernetes, si la SVM se va a compartir entre entornos. Esto es necesario para que Astra Trident mantenga automáticamente las adiciones y eliminaciones por IQN.
Los back-ends también pueden tener iGroups actualizados después de la creación:
-
Se puede actualizar el nombre de Ile para que apunte a un nuevo igroup que se crea y gestiona en la SVM fuera de Astra Trident.
-
Se puede omitir el nombre de la pila. En este caso, Astra Trident creará y gestionará automáticamente un igroup trident-<backend-UUID>.
En ambos casos, los archivos adjuntos de volumen seguirán siendo accesibles. Los futuros archivos adjuntos de volumen utilizarán el igroup actualizado. Esta actualización no interrumpe el acceso a los volúmenes presentes en el back-end.
Se puede especificar un nombre de dominio completo (FQDN) para el managementLIF
opción.
`managementLIF` Para todos los controladores ONTAP también se puede establecer en direcciones IPv6. Asegúrese de instalar Trident con el `--use-ipv6` bandera. Hay que tener cuidado para definir `managementLIF` La dirección IPv6 entre corchetes.
Cuando se usen direcciones IPv6, asegúrese de managementLIF y.. dataLIF (si se incluye en su definición de backend) se definen entre corchetes, como [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]. Si dataLIF No se proporciona; Astra Trident recuperará las LIF de datos IPv6 desde la SVM.
|
Para habilitar los controladores ontap-san para que usen CHAP, configure el useCHAP
parámetro a. true
en su definición de backend. A continuación, Astra Trident configurará y utilizará CHAP bidireccional como la autenticación predeterminada para la SVM proporcionada en el back-end. Consulte "aquí" para descubrir cómo funciona.
Para la ontap-san-economy
controlador, el limitVolumeSize
Opción también restringirá el tamaño máximo de los volúmenes que gestiona para qtrees y LUN.
Astra Trident establece etiquetas de aprovisionamiento en el campo "Comentarios" de todos los volúmenes creados mediante ontap-san controlador. Para cada volumen creado, el campo "Comentarios" del FlexVol se rellenará con todas las etiquetas presentes en el pool de almacenamiento en el que se haya colocado. Los administradores de almacenamiento pueden definir etiquetas por pool de almacenamiento y agrupar todos los volúmenes creados en un pool de almacenamiento. Esto proporciona una forma cómoda de diferenciar los volúmenes basándose en un conjunto de etiquetas personalizables que se proporcionan en la configuración del back-end.
|
Opciones de configuración de back-end para el aprovisionamiento de volúmenes
Puede controlar cómo se aprovisiona cada volumen de forma predeterminada mediante estas opciones de una sección especial de la configuración. Para ver un ejemplo, vea los ejemplos de configuración siguientes.
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Asignación de espacio para las LUN |
“verdadero” |
|
Modo de reserva de espacio; “none” (thin) o “VOLUME” (grueso) |
“ninguna” |
|
Política de Snapshot que se debe usar |
“ninguna” |
|
Grupo de políticas de calidad de servicio que se asignará a los volúmenes creados. Elija uno de qosPolicy o adaptiveQosPolicy por pool/back-end de almacenamiento |
"" |
|
Grupo de políticas de calidad de servicio adaptativo que permite asignar los volúmenes creados. Elija uno de qosPolicy o adaptiveQosPolicy por pool/back-end de almacenamiento |
"" |
|
Porcentaje del volumen reservado para instantáneas “0” |
Si |
|
Divida un clon de su elemento principal al crearlo |
“falso” |
|
Divida un clon de su elemento principal al crearlo |
“falso” |
|
Habilite el cifrado de volúmenes de NetApp |
“falso” |
|
Estilo de seguridad para nuevos volúmenes |
“unix” |
|
Política de organización en niveles para usar "ninguno" |
“Solo Snapshot” para configuración previa a ONTAP 9.5 SVM-DR |
El uso de grupos de políticas de calidad de servicio con Astra Trident requiere ONTAP 9.8 o posterior. Se recomienda utilizar un grupo de políticas de calidad de servicio no compartido y asegurarse de que el grupo de políticas se aplique a cada componente individualmente. Un grupo de políticas de calidad de servicio compartido hará que se aplique el techo para el rendimiento total de todas las cargas de trabajo. |
A continuación se muestra un ejemplo con valores predeterminados definidos:
{ "version": 1, "storageDriverName": "ontap-san", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "trident_svm", "username": "admin", "password": "password", "labels": {"k8scluster": "dev2", "backend": "dev2-sanbackend"}, "storagePrefix": "alternate-trident", "igroupName": "custom", "debugTraceFlags": {"api":false, "method":true}, "defaults": { "spaceReserve": "volume", "qosPolicy": "standard", "spaceAllocation": "false", "snapshotPolicy": "default", "snapshotReserve": "10" } }
Para todos los volúmenes creados mediante la ontap-san Controlador, Astra Trident añade un 10 % adicional de capacidad a FlexVol para acomodar los metadatos de las LUN. La LUN se aprovisionará con el tamaño exacto que el usuario solicite en la RVP. Astra Trident añade el 10 % a FlexVol (se muestra como tamaño disponible en ONTAP). Los usuarios obtienen ahora la cantidad de capacidad utilizable que soliciten. Este cambio también impide que las LUN se conviertan en de solo lectura a menos que se utilice completamente el espacio disponible. Esto no se aplica a ontap-san-economy.
|
Para los back-ends que definen snapshotReserve
, Astra Trident calcula el tamaño de los volúmenes de la siguiente manera:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
El 1.1 es el 10 % adicional que Astra Trident añade a FlexVol para acomodar los metadatos de las LUN. Para snapshotReserve
= 5 % y la solicitud de PVC = 5GIB, el tamaño total del volumen es de 5.79GIB y el tamaño disponible es de 5.5GIB. La volume show
el comando debería mostrar resultados similares a los de este ejemplo:
En la actualidad, el cambio de tamaño es la única manera de utilizar el nuevo cálculo para un volumen existente.
Ejemplos de configuración mínima
Los ejemplos siguientes muestran configuraciones básicas que dejan la mayoría de los parámetros en los valores predeterminados. Esta es la forma más sencilla de definir un back-end.
Si se utiliza Amazon FSX en ONTAP de NetApp con Astra Trident, se recomienda especificar los nombres DNS para las LIF en lugar de las direcciones IP. |
ontap-san
controlador con autenticación basada en certificados
Este es un ejemplo de configuración de backend mínima. clientCertificate
, clientPrivateKey
, y. trustedCACertificate
(Opcional, si se utiliza una CA de confianza) se completan en backend.json
Y tome los valores codificados base64 del certificado de cliente, la clave privada y el certificado de CA de confianza, respectivamente.
{ "version": 1, "storageDriverName": "ontap-san", "backendName": "DefaultSANBackend", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.3", "svm": "svm_iscsi", "useCHAP": true, "chapInitiatorSecret": "cl9qxIm36DKyawxy", "chapTargetInitiatorSecret": "rqxigXgkesIpwxyz", "chapTargetUsername": "iJF4heBRT0TCwxyz", "chapUsername": "uh2aNCLSd6cNwxyz", "igroupName": "trident", "clientCertificate": "ZXR0ZXJwYXB...ICMgJ3BhcGVyc2", "clientPrivateKey": "vciwKIyAgZG...0cnksIGRlc2NyaX", "trustedCACertificate": "zcyBbaG...b3Igb3duIGNsYXNz" }
ontap-san
Controlador con CHAP bidireccional
Este es un ejemplo de configuración de backend mínima. Esta configuración básica crea un ontap-san
back-end con useCHAP
establezca en true
.
{ "version": 1, "storageDriverName": "ontap-san", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.3", "svm": "svm_iscsi", "labels": {"k8scluster": "test-cluster-1", "backend": "testcluster1-sanbackend"}, "useCHAP": true, "chapInitiatorSecret": "cl9qxIm36DKyawxy", "chapTargetInitiatorSecret": "rqxigXgkesIpwxyz", "chapTargetUsername": "iJF4heBRT0TCwxyz", "chapUsername": "uh2aNCLSd6cNwxyz", "igroupName": "trident", "username": "vsadmin", "password": "secret" }
ontap-san-economy
controlador
{ "version": 1, "storageDriverName": "ontap-san-economy", "managementLIF": "10.0.0.1", "svm": "svm_iscsi_eco", "useCHAP": true, "chapInitiatorSecret": "cl9qxIm36DKyawxy", "chapTargetInitiatorSecret": "rqxigXgkesIpwxyz", "chapTargetUsername": "iJF4heBRT0TCwxyz", "chapUsername": "uh2aNCLSd6cNwxyz", "igroupName": "trident", "username": "vsadmin", "password": "secret" }
Ejemplos de back-ends con pools de almacenamiento virtuales
En el archivo de definición del back-end de ejemplo que se muestra a continuación, se establecen valores predeterminados específicos para todos los grupos de almacenamiento, como spaceReserve
en ninguno, spaceAllocation
en falso, y. encryption
en falso. Los pools de almacenamiento virtual se definen en la sección de almacenamiento.
En este ejemplo, algunos de los recursos compartidos de almacenamiento son los suyos propios spaceReserve
, spaceAllocation
, y. encryption
los valores y algunos pools sobrescriben los valores predeterminados establecidos anteriormente.
{ "version": 1, "storageDriverName": "ontap-san", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.3", "svm": "svm_iscsi", "useCHAP": true, "chapInitiatorSecret": "cl9qxIm36DKyawxy", "chapTargetInitiatorSecret": "rqxigXgkesIpwxyz", "chapTargetUsername": "iJF4heBRT0TCwxyz", "chapUsername": "uh2aNCLSd6cNwxyz", "igroupName": "trident", "username": "vsadmin", "password": "secret", "defaults": { "spaceAllocation": "false", "encryption": "false", "qosPolicy": "standard" }, "labels":{"store": "san_store", "kubernetes-cluster": "prod-cluster-1"}, "region": "us_east_1", "storage": [ { "labels":{"protection":"gold", "creditpoints":"40000"}, "zone":"us_east_1a", "defaults": { "spaceAllocation": "true", "encryption": "true", "adaptiveQosPolicy": "adaptive-extreme" } }, { "labels":{"protection":"silver", "creditpoints":"20000"}, "zone":"us_east_1b", "defaults": { "spaceAllocation": "false", "encryption": "true", "qosPolicy": "premium" } }, { "labels":{"protection":"bronze", "creditpoints":"5000"}, "zone":"us_east_1c", "defaults": { "spaceAllocation": "true", "encryption": "false" } } ] }
A continuación, se muestra un ejemplo de iSCSI para el ontap-san-economy
controlador:
{ "version": 1, "storageDriverName": "ontap-san-economy", "managementLIF": "10.0.0.1", "svm": "svm_iscsi_eco", "useCHAP": true, "chapInitiatorSecret": "cl9qxIm36DKyawxy", "chapTargetInitiatorSecret": "rqxigXgkesIpwxyz", "chapTargetUsername": "iJF4heBRT0TCwxyz", "chapUsername": "uh2aNCLSd6cNwxyz", "igroupName": "trident", "username": "vsadmin", "password": "secret", "defaults": { "spaceAllocation": "false", "encryption": "false" }, "labels":{"store":"san_economy_store"}, "region": "us_east_1", "storage": [ { "labels":{"app":"oracledb", "cost":"30"}, "zone":"us_east_1a", "defaults": { "spaceAllocation": "true", "encryption": "true" } }, { "labels":{"app":"postgresdb", "cost":"20"}, "zone":"us_east_1b", "defaults": { "spaceAllocation": "false", "encryption": "true" } }, { "labels":{"app":"mysqldb", "cost":"10"}, "zone":"us_east_1c", "defaults": { "spaceAllocation": "true", "encryption": "false" } } ] }
Asigne los back-ends a StorageClass
Las siguientes definiciones de StorageClass se refieren a los pools de almacenamiento virtual anteriores. Con el parameters.selector
Field, cada clase de almacenamiento llama a qué pools virtuales se pueden utilizar para alojar un volumen. El volumen tendrá los aspectos definidos en el pool virtual elegido.
-
El primer tipo de almacenamiento (
protection-gold
) se asignará al primer, segundo grupo de almacenamiento virtual delontap-nas-flexgroup
back-end y el primer pool de almacenamiento virtual delontap-san
back-end. Se trata de la única piscina que ofrece protección de nivel Gold. -
El segundo tipo de almacenamiento (
protection-not-gold
) se asignará al tercer y cuarto bloque de almacenamiento virtual enontap-nas-flexgroup
back-end y el segundo, tercer pool de almacenamiento virtual delontap-san
back-end. Estos son los únicos pools que ofrecen un nivel de protección distinto al Gold. -
El tercer tipo de almacenamiento (
app-mysqldb
) se asignará al cuarto bloque de almacenamiento virtual enontap-nas
back-end y el tercer pool de almacenamiento virtual deontap-san-economy
back-end. Estos son los únicos grupos que ofrecen la configuración del pool de almacenamiento para la aplicación de tipo mysqldb. -
El cuarto tipo de almacenamiento (
protection-silver-creditpoints-20k
) se asignará al tercer grupo de almacenamiento virtual enontap-nas-flexgroup
back-end y el segundo pool de almacenamiento virtual deontap-san
back-end. Estas son las únicas piscinas que ofrecen protección de nivel Gold con 20000 puntos de crédito. -
El quinto tipo de almacenamiento (
creditpoints-5k
) se asignará al segundo grupo de almacenamiento virtual enontap-nas-economy
back-end y el tercer pool de almacenamiento virtual deontap-san
back-end. Se trata de la única oferta de pool en 5000 puntos de crédito.
Astra Trident decidirá qué pool de almacenamiento virtual se selecciona y garantizará que se cumplan los requisitos de almacenamiento.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: netapp.io/trident parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"