Opciones y ejemplos de configuración de SAN de ONTAP
Aprenda cómo crear y utilizar controladores ONTAP SAN con su instalación de Trident . Esta sección proporciona ejemplos de configuración de backend y detalles para mapear backends a StorageClasses.
"Sistemas ASA r2"Se diferencia de otros sistemas ONTAP (ASA, AFF y FAS) en la implementación de su capa de almacenamiento. Estas variaciones afectan al uso de ciertos parámetros, tal como se indica. "Obtenga más información sobre las diferencias entre los sistemas ASA r2 y otros sistemas ONTAP .".
|
|
Sólo el ontap-san El controlador (con protocolos iSCSI y NVMe/TCP) es compatible con los sistemas ASA r2.
|
En la configuración del backend de Trident , no es necesario especificar que su sistema sea ASA r2. Cuando seleccionas ontap-san como el storageDriverName Trident detecta automáticamente el ASA r2 o el sistema ONTAP tradicional. Algunos parámetros de configuración del backend no son aplicables a los sistemas ASA r2, como se indica en la tabla siguiente.
Opciones de configuración del backend
Consulte la siguiente tabla para ver las opciones de configuración del backend:
| Parámetro | Descripción | Por defecto | ||
|---|---|---|---|---|
|
Siempre 1 |
|||
|
Nombre del controlador de almacenamiento |
|
||
|
Nombre personalizado o el backend de almacenamiento |
Nombre del controlador + "_" + dataLIF |
||
|
Dirección IP de un clúster o LIF de gestión de SVM. Se puede especificar un nombre de dominio completo (FQDN). Se puede configurar para usar direcciones IPv6 si Trident se instaló usando la bandera IPv6. Las direcciones IPv6 deben definirse entre corchetes, como por ejemplo: Para una transición fluida a MetroCluster , consulteEjemplo de MetroCluster .
|
"10.0.0.1", "[2001:1234:abcd::fefe]" |
||
|
Dirección IP del protocolo LIF. Se puede configurar para usar direcciones IPv6 si Trident se instaló usando la bandera IPv6. Las direcciones IPv6 deben definirse entre corchetes, como por ejemplo: |
Derivado por la SVM |
||
|
Máquina virtual de almacenamiento a utilizar Omitir para Metrocluster. Ver elEjemplo de MetroCluster . |
Derivado si se trata de una SVM |
||
|
Utilice CHAP para autenticar iSCSI para controladores SAN ONTAP [Booleano]. Empezar a |
|
||
|
Secreto del iniciador de CHAP. Requerido si |
"" |
||
|
Conjunto de etiquetas arbitrarias con formato JSON para aplicar a los volúmenes |
"" |
||
|
Secreto del iniciador del objetivo CHAP. Requerido si |
"" |
||
|
Nombre de usuario entrante. Requerido si |
"" |
||
|
Nombre de usuario objetivo. Requerido si |
"" |
||
|
Valor codificado en Base64 del certificado del cliente. Se utiliza para la autenticación basada en certificados. |
"" |
||
|
Valor codificado en Base64 de la clave privada del cliente. Se utiliza para la autenticación basada en certificados. |
"" |
||
|
Valor codificado en Base64 del certificado de CA de confianza. Opcional. Se utiliza para la 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 a utilizar |
Derivado si se trata de una SVM |
||
|
Prefijo utilizado al aprovisionar nuevos volúmenes en la SVM. No se puede modificar posteriormente. Para actualizar este parámetro, deberá crear un nuevo backend. |
|
||
|
Agregado para aprovisionamiento (opcional; si se establece, debe asignarse a la SVM). Para el
No especificar para sistemas ASA r2. |
"" |
||
|
Fallará el aprovisionamiento si el uso supera este porcentaje. Si utiliza un backend de Amazon FSx for NetApp ONTAP , no especifique |
" (no se aplica por defecto) |
||
|
Fallará el aprovisionamiento si el tamaño de volumen solicitado supera este valor. También restringe el tamaño máximo de los volúmenes que administra para las LUN. |
" (no se aplica por defecto) |
||
|
Número máximo de LUN por Flexvol, debe estar en el rango [50, 200] |
|
||
|
Indicadores de depuración para usar al solucionar problemas. Ejemplo: {"api":false, "method":true} No lo utilice a menos que esté solucionando problemas y necesite un volcado de registro detallado. |
|
||
|
Parámetro booleano para utilizar las API REST de ONTAP . `useREST`Cuando se configura para `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 cualificado para NVMe/TCP.
Si se especifica, siempre se establecerá en |
|
||
|
Utilice para seleccionar |
`iscsi`si está en blanco |
||
|
Usar Compatible con |
|||
|
Tamaño máximo de FlexVol solicitable al usar LUN en el backend ontap-san-economy. |
" (no se aplica por defecto) |
||
|
Restringe |
Recomendaciones para el uso de formatOptions
Trident recomienda la siguiente opción para agilizar el proceso de formateo:
-E no descartar:
-
Conservar, no intentar 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 todos los sistemas de archivos (xfs, ext3 y ext4).
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 backend para el aprovisionamiento de volúmenes
Puedes controlar el aprovisionamiento predeterminado utilizando estas opciones en el defaults sección de la configuración. Para ver un ejemplo, consulte los ejemplos de configuración a continuación.
| Parámetro | Descripción | Por defecto |
|---|---|---|
|
Asignación de espacio para LUN |
"verdadero" Si se especifica, establecer en |
|
Modo de reserva de espacio: "ninguno" (delgado) o "volumen" (grueso). Empezar a |
"ninguno" |
|
Política de instantáneas a utilizar. Empezar a |
"ninguno" |
|
Grupo de políticas QoS que se asignará a los volúmenes creados. Elija una de las opciones qosPolicy o adaptiveQosPolicy por grupo de almacenamiento/backend. El uso de grupos de políticas QoS con Trident requiere ONTAP 9.8 o posterior. Debe utilizar un grupo de políticas QoS no compartido y asegurarse de que el grupo de políticas se aplique a cada componente individualmente. Un grupo de políticas QoS compartidas impone un límite máximo al rendimiento total de todas las cargas de trabajo. |
"" |
|
Grupo de políticas QoS adaptativas para asignar a los volúmenes creados. Elija una de las opciones qosPolicy o adaptiveQosPolicy por grupo de almacenamiento/backend. |
"" |
|
Porcentaje de volumen reservado para instantáneas. No especificar para sistemas ASA r2. |
"0" si |
|
Separar un clon de su progenitor al crearlo |
"FALSO" |
|
Habilite el cifrado de volumen de NetApp (NVE) en el nuevo volumen; el valor predeterminado es |
"falso" Si se especifica, establecer en |
|
Habilitar el cifrado LUKS. Referirse a"Utilice la configuración de clave unificada de Linux (LUKS)." . |
" Configurado a |
|
Política de jerarquización para usar "ninguna" No especificar para sistemas ASA r2 . |
|
|
Plantilla para crear nombres de volumen personalizados. |
"" |
Ejemplos de aprovisionamiento por volumen
Aquí tenéis un ejemplo con 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 utilizando el ontap-san El controlador Trident agrega un 10 por ciento de capacidad adicional al FlexVol para dar cabida a los metadatos de LUN. La LUN se aprovisionará con el tamaño exacto que el usuario solicite en el PVC. Trident añade un 10 por ciento al FlexVol (se muestra como Tamaño disponible en ONTAP). Los usuarios ahora obtendrán la cantidad de capacidad utilizable que solicitaron. Este cambio también evita que las LUN se conviertan en de solo lectura a menos que se utilice todo el espacio disponible. Esto no se aplica a ontap-san-economy.
|
Para backends 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 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:
Actualmente, la única forma de utilizar el nuevo cálculo para un volumen existente es redimensionándolo.
Ejemplos de configuración mínima
Los siguientes ejemplos muestran configuraciones básicas que dejan la mayoría de los parámetros con sus valores predeterminados. Esta es la forma más sencilla de definir un backend.
|
|
Si utiliza Amazon FSx en NetApp ONTAP con Trident, NetApp recomienda que especifique nombres DNS para las LIF en lugar de direcciones IP. |
Ejemplo de SAN de ONTAP
Esta es una configuración básica que utiliza ontap-san conductor.
---
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 del backend después del cambio de estado y el cambio de estado durante"replicación y recuperación de SVM" .
Para una conmutación y recuperación sin interrupciones, especifique el SVM utilizando managementLIF y omitir el svm parámetros. Por ejemplo:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
Ejemplo económico de ONTAP SAN
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 rellenan en backend.json y tome los valores codificados en base64 del certificado del 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 bidireccionales
Estos ejemplos crean un backend con useCHAP empezar a 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 NVMe/TCP
Debe tener una SVM configurada con NVMe en su backend ONTAP . Esta es una configuración básica de backend 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 un SVM configurado con FC en su backend ONTAP . Esta es una configuración básica de backend 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 plantilla de nombre
---
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 opciones de formato 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 backends con pools virtuales
En estos archivos de definición de backend de ejemplo, se establecen valores predeterminados específicos para todos los grupos de almacenamiento, tales como: spaceReserve en ninguno, spaceAllocation en falso, y encryption en falso. Los grupos virtuales se definen en la sección de almacenamiento.
Trident establece las etiquetas de aprovisionamiento en el campo "Comentarios". Los comentarios se configuran en el FlexVol volume. Trident copia todas las etiquetas presentes en un grupo virtual al volumen de almacenamiento durante el aprovisionamiento. Para mayor comodidad, los administradores de almacenamiento pueden definir etiquetas por grupo virtual y agrupar volúmenes por etiqueta.
En estos ejemplos, algunos de los grupos de almacenamiento establecen sus propias configuraciones. spaceReserve , spaceAllocation , y encryption valores, y algunos pools anulan los valores predeterminados.
Ejemplo de SAN de 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 económico de ONTAP SAN
---
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"
Asignar backends a StorageClasses
Las siguientes definiciones de StorageClass hacen referencia aEjemplos de backends con pools virtuales . Utilizando el parameters.selector En cada campo, cada StorageClass especifica qué grupos virtuales se pueden usar para alojar un volumen. El volumen tendrá los aspectos definidos en el pool virtual elegido.
-
El
protection-goldStorageClass se asignará al primer grupo virtual en elontap-sanbackend. Esta es la única piscina que ofrece protección de nivel oro.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 asignará al segundo y tercer grupo virtual enontap-sanbackend. Estas son las únicas piscinas que ofrecen un nivel de protección distinto al oro.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 asignará al tercer grupo virtual enontap-san-economybackend. Este es el único pool que ofrece configuración de pool de almacenamiento para aplicaciones de 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 asignará al segundo grupo virtual enontap-sanbackend. Este es el único fondo que ofrece protección de nivel plata y 20000 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 asignará al tercer grupo virtual enontap-sanbackend y el cuarto grupo virtual en elontap-san-economybackend. Estas son las únicas ofertas de pool 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 asignará atestAPPpiscina virtual en laontap-sanconductor consanType: nvme. Esta es la única oferta de piscinatestApp.--- 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 decidirá qué grupo virtual se selecciona y garantiza que se cumplan los requisitos de almacenamiento.