Opciones y ejemplos de configuración DE SAN ONTAP
Crea y usa los controladores SAN de ONTAP con tu instalación de Trident. Esta sección ofrece ejemplos de configuración de backend y detalles para mapear backends a StorageClasses. "Sistemas ASA r2" se diferencian de otros sistemas ONTAP (ASA, AFF y FAS) en la implementación de su capa de almacenamiento. Estas variaciones afectan el uso de ciertos parámetros, como se indica. "Obtenga más información sobre las diferencias entre los sistemas ASA r2 y otros sistemas ONTAP". En la configuración del backend de Trident, no necesitas especificar que tu sistema es ASA r2. Cuando seleccionas ontap-san como storageDriverName, Trident detecta automáticamente el sistema ASA r2 u otros sistemas ONTAP. Algunos parámetros de configuración del backend no aplican a los sistemas ASA r2, como se indica en la tabla a continuación.
|
|
Solo el ontap-san El controlador (con protocolos iSCSI, NVMe/TCP y FC) es compatible con los sistemas ASA r2.
|
Opciones de configuración del back-end
A partir de la versión 26.06, puedes activar la asignación equilibrada de ONTAP para que ONTAP seleccione el agregado para los nuevos volúmenes. Consulta "Utiliza la distribución equilibrada con los backends de ONTAP" para conocer los requisitos y ver ejemplos.
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 |
|
||
|
Nombre personalizado o el back-end de almacenamiento |
Nombre de controlador + «_» + LIF de datos |
||
|
La dirección IP de un clúster o una LIF de gestión de SVM. Se puede especificar un nombre de dominio completo (FQDN). Se puede configurar para utilizar direcciones IPv6 si Trident se instaló con el indicador IPv6. Las direcciones IPv6 deben definirse entre corchetes, Para una conmutación de sitios MetroCluster fluida, consulte Ejemplo de MetroCluster.
|
«10,0.0,1», «[2001:1234:abcd::fefe]» |
||
|
Dirección IP de LIF de protocolo. Se puede configurar para utilizar direcciones IPv6 si Trident se instaló con el indicador IPv6. Las direcciones IPv6 deben definirse entre corchetes, |
Derivado del SVM |
||
|
Máquina virtual de almacenamiento que usar |
Derivado si una SVM |
||
|
Use CHAP para autenticar iSCSI para los controladores SAN de ONTAP [Boolean]. Establezca como |
|
||
|
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 necesario para comunicarse con el clúster ONTAP . Se utiliza para la autenticación basada en credenciales. Para la autenticación de Active Directory, consulte "Autenticar Trident en un SVM backend mediante credenciales de Active Directory". |
"" |
||
|
Contraseña necesaria para comunicarse con el clúster ONTAP . Se utiliza para la autenticación basada en credenciales. Para la autenticación de Active Directory, consulte "Autenticar Trident en un SVM backend mediante credenciales de Active Directory". |
"" |
||
|
Máquina virtual de almacenamiento que usar |
Derivado si una SVM |
||
|
Prefijo que se utiliza al aprovisionar nuevos volúmenes en el SVM. No se puede modificar posteriormente. Para actualizar este parámetro, necesitas crear un nuevo backend. |
|
||
|
Agregado para el aprovisionamiento (opcional; si se configura, debe asignarse al SVM). Para el
No especificar para sistemas ASA r2. No especifiques cuándo |
"" |
||
|
Delegar la selección de agregados para nuevos volúmenes a ONTAP [booleano]. Requiere ONTAP 9.19.1 o posterior y Consulta "Utiliza la distribución equilibrada con los backends de ONTAP" para conocer los requisitos y ver ejemplos. |
|
||
|
Error al aprovisionar si el uso supera este porcentaje. Si estás usando un backend de Amazon FSx for NetApp ONTAP, no especifiques |
"" (no se aplica de forma predeterminada) |
||
|
Error en el aprovisionamiento si el tamaño del volumen solicitado es superior a este valor. Además, restringe el tamaño máximo de los volúmenes que gestiona para las LUN. |
'' (no se aplica por defecto) |
||
|
El número máximo de LUN por FlexVol debe estar comprendido entre [50 y 200] |
|
||
|
Indicadores de depuración que se deben usar para la solución de problemas. Ejemplo, {«api»:false, «method»:true} |
|
||
|
Parámetro booleano para utilizar las API REST de ONTAP . `useREST`Cuando se establece en `true` Trident utiliza las API REST de ONTAP para comunicarse con el backend; cuando se configura en `false` Trident utiliza llamadas ONTAPI (ZAPI) para comunicarse con el backend. Esta función requiere ONTAP 9.11.1 y versiones posteriores. Además, el rol de inicio de sesión de ONTAP utilizado debe tener acceso a `ontapi` solicitud. Esto se satisface mediante lo predefinido `vsadmin` y `cluster-admin` roles. A partir de la versión Trident 24.06 y ONTAP 9.15.1 o posterior, `useREST` está configurado para `true` por defecto; cambiar `useREST` a `false` para utilizar llamadas ONTAPI (ZAPI). `useREST`está totalmente calificado para NVMe/TCP.
Si se especifica, configúrelo siempre en |
|
||
|
Utilice para seleccionar |
|
||
|
Utiliza Compatible con |
|||
|
Tamaño máximo de FlexVol solicitable al usar LUN en back-end económico de ONTAP-san. |
"" (no se aplica de forma predeterminada) |
||
|
Restringe |
Recomendaciones para utilizar formatOptions
Trident recomienda las siguientes opciones para agilizar el proceso de formateo:
-
-E nodiscard (ext3, ext4): No intente descartar bloques en el momento de mkfs (descartar bloques inicialmente es útil en dispositivos de estado sólido y almacenamiento disperso/de aprovisionamiento ligero). Esto reemplaza la opción obsoleta "-K" y es aplicable a los sistemas de archivos ext3 y ext4.
-
-K (xfs): No intente descartar bloques en el momento de mkfs. Esta opción es aplicable al sistema de archivos xfs.
Autenticar Trident en un SVM backend mediante credenciales de Active Directory
Puede configurar Trident para autenticarse en un SVM de backend usando credenciales de Active Directory (AD). Antes de que una cuenta de AD pueda acceder a la SVM, debe configurar el acceso del controlador de dominio de AD al clúster o SVM. Para la administración de un clúster con una cuenta de AD, debe crear un túnel de dominio. Referirse a "Configurar el acceso al controlador de dominio de Active Directory en ONTAP" Para más detalles.
-
Configurar los ajustes del Sistema de nombres de dominio (DNS) para un SVM de backend:
vserver services dns create -vserver <svm_name> -dns-servers <dns_server_ip1>,<dns_server_ip2> -
Ejecute el siguiente comando para crear una cuenta de computadora para la SVM en Active Directory:
vserver active-directory create -vserver DataSVM -account-name ADSERVER1 -domain demo.netapp.com -
Utilice este comando para crear un usuario o grupo de AD para administrar el clúster o SVM
security login create -vserver <svm_name> -user-or-group-name <ad_user_or_group> -application <application> -authentication-method domain -role vsadmin -
En el archivo de configuración del backend de Trident , configure el
usernameypasswordparámetros al nombre de usuario o grupo de AD y la contraseña, respectivamente.
Opciones de configuración de back-end para el aprovisionamiento de volúmenes
Puede controlar el aprovisionamiento predeterminado utilizando estas opciones en la defaults sección 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" Si se especifica, configúrelo en |
|
Modo de reserva de espacio; «ninguno» (fino) o «volumen» (grueso). Empezar a |
ninguno |
|
Política de Snapshot para utilizar. Empezar a |
ninguno |
|
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. Usar grupos de políticas de QoS con Trident requiere ONTAP 9 Intersight 8 o posterior. Debe usar 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 aplica el techo máximo para el rendimiento total de todas las cargas de trabajo. |
"" |
|
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 de volumen reservado para snapshots. No especificar para sistemas ASA r2. |
«0» si |
|
Divida un clon de su elemento principal al crearlo |
"falso" |
|
Activa NetApp Volume Encryption (NVE) en el nuevo volumen; el valor predeterminado es |
"falso" Si se especifica, configúrelo en |
|
Active el cifrado LUKS. Consulte "Usar la configuración de clave unificada de Linux (LUKS)". |
"" Establecer en |
|
Política de niveles para utilizar "ninguno" No especificar para sistemas ASA r2. |
|
|
Plantilla para crear nombres de volúmenes personalizados. |
"" |
Ejemplos de aprovisionamiento de volúmenes
Aquí hay un ejemplo con los valores predeterminados definidos:
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: trident_svm
username: admin
password: <password>
labels:
k8scluster: dev2
backend: dev2-sanbackend
storagePrefix: alternate-trident
debugTraceFlags:
api: false
method: true
defaults:
spaceReserve: volume
qosPolicy: standard
spaceAllocation: 'false'
snapshotPolicy: default
snapshotReserve: '10'
|
|
Para todos los volúmenes creados usando el ontap-san driver, Trident añade un 10 % extra de capacidad a la FlexVol para acomodar los metadatos del LUN. El LUN se aprovisiona con el tamaño exacto que el usuario solicita en el PVC. Trident añade un 10 % a la FlexVol (se muestra como tamaño disponible en ONTAP). Ahora los usuarios obtienen la cantidad de capacidad utilizable que solicitaron. Este cambio también evita que los LUN se vuelvan de solo lectura a menos que se utilice por completo el espacio disponible. Esto no se aplica a ontap-san-economy.
|
Para los back-ends que definen snapshotReserve, 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 por ciento adicional que Trident agrega al FlexVol para acomodar los metadatos del LUN. Para snapshotReserve = 5%, y la solicitud de PVC = 5 GiB, el tamaño total del volumen es 5,79 GiB y el tamaño disponible es 5,5 GiB. El volume show El comando debería mostrar resultados similares a 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 usa Amazon FSx en NetApp ONTAP con Trident, NetApp le recomienda que especifique nombres de DNS para las LIF en lugar de direcciones IP. |
Ejemplo de SAN ONTAP
Se trata de una configuración básica que utiliza el ontap-san controlador.
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
k8scluster: test-cluster-1
backend: testcluster1-sanbackend
username: vsadmin
password: <password>
Ejemplo de MetroCluster
Puede configurar el backend para evitar tener que actualizar manualmente la definición de backend después del switchover y el switchover durante "Replicación y recuperación de SVM".
Para una conmutación de sitios y una conmutación de estado sin problemas, especifique la SVM con managementLIF y omita svm los parámetros. Por ejemplo:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
Ejemplo de economía de SAN ONTAP
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
Ejemplo de autenticación basada en certificados
En este ejemplo de configuración básica 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
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
Ejemplos de CHAP bidireccional
Estos ejemplos crean un backend con useCHAP establezca en true.
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
k8scluster: test-cluster-1
backend: testcluster1-sanbackend
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
---
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
username: vsadmin
password: <password>
Ejemplo de distribución equilibrada
Este ejemplo habilita la distribución equilibrada de ONTAP para que ONTAP seleccione el agregado para los nuevos volúmenes. La distribución equilibrada requiere ONTAP 9.19.1 o una versión posterior. Consulta "Utiliza la distribución equilibrada con los backends de ONTAP" para obtener más información.
---
version: 1
storageDriverName: ontap-san
backendName: san-balanced-placement
managementLIF: 10.0.0.1
svm: svm_iscsi
username: vsadmin
password: <password>
useBalancedPlacement: true
Ejemplo de NVMe/TCP
Debe tener una SVM configurada con NVMe en el back-end de ONTAP. Esta es una configuración de back-end básica para NVMe/TCP.
---
version: 1
backendName: NVMeBackend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_nvme
username: vsadmin
password: password
sanType: nvme
useREST: true
Ejemplo de SCSI sobre FC (FCP)
Debe tener una SVM configurada con FC en el back-end de ONTAP. Esta es una configuración de back-end básica para FC.
---
version: 1
backendName: fcp-backend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_fc
username: vsadmin
password: password
sanType: fcp
useREST: true
Ejemplo de configuración de backend con nameTemplate
---
version: 1
storageDriverName: ontap-san
backendName: ontap-san-backend
managementLIF: <ip address>
svm: svm0
username: <admin>
password: <password>
defaults:
nameTemplate: "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.vo\
lume.RequestName}}"
labels:
cluster: ClusterA
PVC: "{{.volume.Namespace}}_{{.volume.RequestName}}"
Ejemplo de formatOptions para el controlador ONTAP-san-economy
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
method: true
api: true
defaults:
formatOptions: -E nodiscard
Ejemplos de back-ends con pools virtuales
En estos archivos de definición de backend de ejemplo, se establecen valores predeterminados específicos para todos los pools de almacenamiento, como spaceReserve en ninguno, spaceAllocation en falso, y. encryption en falso. Los pools virtuales se definen en la sección de almacenamiento.
Trident establece las etiquetas de aprovisionamiento en el campo de comentarios. En las copias FlexVol volume Trident se establecen comentarios Todas las etiquetas presentes en un pool virtual para el volumen de almacenamiento durante el aprovisionamiento. Para mayor comodidad, los administradores de almacenamiento pueden definir etiquetas por pool virtual y agrupar volúmenes por etiqueta.
En estos ejemplos, algunos de los pools de almacenamiento establecen sus propios spaceReserve, spaceAllocation, y. encryption y algunos pools sustituyen los valores predeterminados.
Ejemplo de SAN ONTAP
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
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"
Ejemplo de economía de SAN ONTAP
---
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
username: vsadmin
password: <password>
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"
- labels:
department: legal
creditpoints: "5000"
zone: us_east_1c
defaults:
spaceAllocation: "true"
encryption: "false"
Ejemplo de NVMe/TCP
---
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: 10.0.0.1
svm: nvme_svm
username: vsadmin
password: <password>
useREST: true
defaults:
spaceAllocation: "false"
encryption: "true"
storage:
- labels:
app: testApp
cost: "20"
defaults:
spaceAllocation: "false"
encryption: "false"
Asigne los back-ends a StorageClass
Las siguientes definiciones de StorageClass hacen referencia a Ejemplos de back-ends con pools virtuales. Usando el campo parameters.selector, cada StorageClass indica qué grupos virtuales se pueden usar para alojar un volumen. El volumen ahora tiene los aspectos definidos en el grupo virtual elegido.
-
El
protection-goldStorageClass se asigna al primer grupo virtual en elontap-sanbackend. Este es el único grupo que ofrece protección de nivel gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4" -
El
protection-not-goldStorageClass se asigna al segundo y tercer grupo virtual enontap-sanbackend. Estos son los únicos grupos que ofrecen un nivel de protección distinto a gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4" -
El
app-mysqldbStorageClass se asigna al tercer grupo virtual enontap-san-economybackend. Este es el único grupo que ofrece configuración de grupo de almacenamiento para la app tipo mysqldb.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4" -
El
protection-silver-creditpoints-20kStorageClass se asigna al segundo grupo virtual enontap-sanbackend. Este es el único grupo que ofrece protección de nivel silver y 20 000 puntos de crédito.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: csi.trident.netapp.io parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4" -
El
creditpoints-5kStorageClass se asigna al tercer grupo virtual en el backendontap-sany al cuarto grupo virtual en el backendontap-san-economy. Estas son las únicas ofertas de grupos con 5000 puntos de crédito.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4" -
El
my-test-app-scStorageClass se asigna al grupo virtualtestAPPen el controladorontap-sanconsanType: nvme. Este es el único grupo que ofrecetestApp.--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-test-app-sc provisioner: csi.trident.netapp.io parameters: selector: "app=testApp" fsType: "ext4"
Trident decide qué grupo virtual se selecciona y garantiza que se cumpla el requisito de almacenamiento.