Opciones y ejemplos de configuración NAS de ONTAP
Aprenda a crear y utilizar controladores NAS de ONTAP con su instalación de Trident. Esta sección proporciona ejemplos de configuración de backend y detalles para la asignación de 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», «ontap-san-economy» |
||
|
Nombre personalizado o el back-end de almacenamiento |
Nombre de controlador + «_» + LIF de datos |
||
|
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, |
“10.0.0.1”, “[2001:1234:abcd::fefe]” |
||
|
Dirección IP de LIF de protocolo. Recomendamos especificar |
Dirección especificada o derivada de la SVM, si no se especifica (no recomendada) |
||
|
Máquina virtual de almacenamiento que usar |
Derivado si una SVM |
||
|
Habilite la creación y actualización automática de la política de exportación [Boolean]. Mediante las |
falso |
||
|
Lista de CIDRs para filtrar las IP del nodo de Kubernetes contra cuando |
[«0,0.0,0/0», «:/0»] |
||
|
Conjunto de etiquetas con formato JSON arbitrario que se aplica en los volúmenes |
"" |
||
|
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 |
|||
|
El prefijo que se utiliza cuando se aprovisionan volúmenes nuevos en la SVM. No se puede actualizar después de configurarlo
|
«trident» |
||
|
Agregado para el aprovisionamiento (opcional; si se establece, se debe asignar a la SVM). Para el
|
"" |
||
|
Error al aprovisionar si el uso supera este porcentaje. No se aplica a Amazon FSX para ONTAP |
"" (no se aplica de forma predeterminada) |
||
Lista de Agregados de Flexgroup |
Lista de agregados para el aprovisionamiento (opcional; si se ha definido, debe asignarse a la SVM). Todos los agregados asignados a la SVM se usan para aprovisionar un volumen FlexGroup. Compatible con el controlador de almacenamiento ONTAP-nas-FlexGroup.
|
"" |
||
|
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 qtrees y la |
'' (no se aplica por defecto) |
||
|
Indicadores de depuración que se deben usar para la solución de problemas. Ejemplo, {«api»:false, «method»:true} |
nulo |
||
|
Configure la creación de volúmenes NFS o SMB. Las opciones son |
|
||
|
Lista de opciones de montaje NFS separadas por comas. Las opciones de montaje para los volúmenes persistentes de Kubernetes se especifican normalmente en las clases de almacenamiento, pero si no se especifican opciones de montaje en una clase de almacenamiento, Trident volverá a utilizar las opciones de montaje especificadas en el archivo de configuración del back-end de almacenamiento. Si no se especifican opciones de montaje en la clase almacenamiento o el archivo de configuración, Trident no definirá ninguna opción de montaje en un volumen persistente asociado. |
"" |
||
|
El número máximo de qtrees por FlexVol debe estar comprendido entre [50, 300] |
«200» |
||
|
Puede especificar una de las siguientes opciones: El nombre de un recurso compartido de SMB creado mediante la consola de administración de Microsoft o la interfaz de línea de comandos de ONTAP; un nombre para permitir que Trident cree el recurso compartido de SMB; o bien puede dejar el parámetro en blanco para evitar el acceso de recurso compartido común a los volúmenes. Este parámetro es opcional para ONTAP en las instalaciones. Este parámetro es necesario para los back-ends de Amazon FSx para ONTAP y no puede estar en blanco. |
|
||
|
Parámetro booleano para usar las API DE REST de ONTAP. |
|
||
|
Tamaño máximo de FlexVol que se puede solicitar cuando se utilizan qtrees en el back-end económico de ONTAP-nas. |
"" (no se aplica de forma predeterminada) |
||
|
Restringe |
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 Qtrees |
verdadero |
|
Modo de reserva de espacio; «ninguno» (fino) o «volumen» (grueso) |
ninguno |
|
Política de Snapshot que se debe usar |
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 |
"" |
|
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. no admitido por ontap-nas-Economy. |
"" |
|
Porcentaje de volumen reservado para las Snapshot |
«0» si |
|
Divida un clon de su elemento principal al crearlo |
"falso" |
|
Habilite el cifrado de volúmenes de NetApp (NVE) en el nuevo volumen; los valores predeterminados son |
"falso" |
|
Política de organización en niveles para utilizar ninguna |
«Solo Snapshot» para la configuración SVM-DR anterior a ONTAP 9,5 |
|
Modo para volúmenes nuevos |
«777» para volúmenes NFS; vacío (no aplicable) para volúmenes SMB |
|
Controla el acceso al |
“True” para NFSv4 “false” para NFSv3 |
|
Política de exportación que se va a utilizar |
"predeterminado" |
|
Estilo de seguridad para nuevos volúmenes. Compatibilidad con NFS |
El valor predeterminado de NFS es |
|
Plantilla para crear nombres de volúmenes personalizados. |
"" |
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. |
Ejemplos de aprovisionamiento de volúmenes
Aquí hay un ejemplo con los valores predeterminados definidos:
--- version: 1 storageDriverName: ontap-nas backendName: customBackendName managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 labels: k8scluster: dev1 backend: dev1-nasbackend svm: trident_svm username: cluster-admin password: <password> limitAggregateUsage: 80% limitVolumeSize: 50Gi nfsMountOptions: nfsvers=4 debugTraceFlags: api: false method: true defaults: spaceReserve: volume qosPolicy: premium exportPolicy: myk8scluster snapshotPolicy: default snapshotReserve: '10'
For ontap-nas
and ontap-nas-flexgroups
, Trident ahora utiliza un nuevo cálculo para garantizar que el tamaño del FlexVol se ajusta correctamente con el porcentaje de reserva de instantáneas y la RVP. Cuando el usuario solicita una RVP, Trident crea la FlexVol original con más espacio mediante el nuevo cálculo. Este cálculo garantiza que el usuario recibe el espacio de escritura que solicitó en el PVC y no menos espacio que el que solicitó. Antes de v21.07, cuando el usuario solicita una RVP (por ejemplo, 5GIB) con el 50 por ciento de snapshotReserve, solo obtiene 2,5 GIB de espacio editable. Esto se debe a que lo que el usuario solicitó es todo el volumen y snapshotReserve
es un porcentaje de ello. Con Trident 21,07, lo que el usuario solicita es el espacio de escritura y Trident define snapshotReserve
la cantidad como el porcentaje de todo el volumen. Esto no se aplica a ontap-nas-economy
. Vea el siguiente ejemplo para ver cómo funciona:
El cálculo es el siguiente:
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
Para snapshotReserve = 50 % y la solicitud de RVP = 5 GIB, el tamaño total del volumen es 2/.5 = 10 GIB y el tamaño disponible es de 5 GIB, lo que es lo que solicitó el usuario en la solicitud de RVP. La volume show
el comando debería mostrar resultados similares a los de este ejemplo:
Los back-ends existentes de instalaciones anteriores aprovisionarán los volúmenes tal y como se explicó anteriormente al actualizar Trident. En el caso de los volúmenes que creó antes de actualizar, debe cambiar el tamaño de sus volúmenes para que se observe el cambio. Por ejemplo, una RVP de 2GiB GB con snapshotReserve=50
versiones anteriores dio como resultado un volumen que proporciona 1GiB GB de espacio editable. Cambiar el tamaño del volumen a 3 GIB, por ejemplo, proporciona a la aplicación 3 GIB de espacio editable en un volumen de 6 GIB.
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 utiliza Amazon FSX en ONTAP de NetApp con Trident, la recomendación es especificar nombres DNS para las LIF en lugar de direcciones IP. |
Ejemplo de economía NAS de ONTAP
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
Ejemplo de FlexGroup NAS de ONTAP
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs 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 obtener una conmutación de sitios y una conmutación de estado sin problemas, especifique la SVM con managementLIF
y omita la dataLIF
y.. svm
parámetros. Por ejemplo:
--- version: 1 storageDriverName: ontap-nas managementLIF: 192.168.1.66 username: vsadmin password: password
Ejemplo de volúmenes de SMB
--- version: 1 backendName: ExampleBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 nasType: smb securityStyle: ntfs unixPermissions: "" dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
Ejemplo de 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 backendName: DefaultNASBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.15 svm: nfs_svm clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
Ejemplo de política de exportación automática
En este ejemplo, se muestra cómo puede indicar a Trident que utilice políticas de exportación dinámicas para crear y gestionar la política de exportación automáticamente. Esto funciona igual para ontap-nas-economy
los controladores y. ontap-nas-flexgroup
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs labels: k8scluster: test-cluster-east-1a backend: test1-nasbackend autoExportPolicy: true autoExportCIDRs: - 10.0.0.0/24 username: admin password: password nfsMountOptions: nfsvers=4
Ejemplo de direcciones IPv6
Este ejemplo muestra managementLIF
Uso de una dirección IPv6.
--- version: 1 storageDriverName: ontap-nas backendName: nas_ipv6_backend managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]" labels: k8scluster: test-cluster-east-1a backend: test1-ontap-ipv6 svm: nas_ipv6_svm username: vsadmin password: password
Ejemplo de Amazon FSx para ONTAP mediante volúmenes de bloque de mensajes del servidor
La smbShare
El parámetro es obligatorio para FSx para ONTAP mediante volúmenes de bloque de mensajes del servidor.
--- version: 1 backendName: SMBBackend storageDriverName: ontap-nas managementLIF: example.mgmt.fqdn.aws.com nasType: smb dataLIF: 10.0.0.15 svm: nfs_svm smbShare: smb-share clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
Ejemplo de configuración de backend con nameTemplate
--- version: 1 storageDriverName: ontap-nas backendName: ontap-nas-backend managementLIF: <ip address> svm: svm0 username: <admin> password: <password> defaults: { "nameTemplate": "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.volume.RequestName}}" }, "labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"}
Ejemplos de back-ends con pools virtuales
En los archivos de definición de backend de ejemplo que se muestran a continuación, 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. Los comentarios se establecen en FlexVol for ontap-nas
o FlexGroup para ontap-nas-flexgroup
. Trident copia todas las etiquetas presentes en un pool virtual en 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 NAS de ONTAP
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 svm: svm_nfs username: admin password: <password> nfsMountOptions: nfsvers=4 defaults: spaceReserve: none encryption: 'false' qosPolicy: standard labels: store: nas_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: app: msoffice cost: '100' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' adaptiveQosPolicy: adaptive-premium - labels: app: slack cost: '75' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: legal creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: app: wordpress cost: '50' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: app: mysqldb cost: '25' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
Ejemplo de FlexGroup NAS de ONTAP
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: flexgroup_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: protection: gold creditpoints: '50000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: gold creditpoints: '30000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: protection: silver creditpoints: '20000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: protection: bronze creditpoints: '10000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
Ejemplo de economía NAS de ONTAP
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: nas_economy_store region: us_east_1 storage: - labels: department: finance creditpoints: '6000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: bronze creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: engineering creditpoints: '3000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: department: humanresource creditpoints: '2000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
Asigne los back-ends a StorageClass
Las siguientes definiciones de StorageClass se refieren a Ejemplos de back-ends con pools virtuales. Con el parameters.selector
Cada StorageClass llama la atención sobre qué pools virtuales pueden usarse para alojar un volumen. El volumen tendrá los aspectos definidos en el pool virtual elegido.
-
La
protection-gold
StorageClass se asignará al primer y segundo pool virtual delontap-nas-flexgroup
back-end. Estos son los únicos pools que ofrecen 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"
-
La
protection-not-gold
StorageClass se asignará al tercer y cuarto pool virtual delontap-nas-flexgroup
back-end. Estos son los únicos pools que ofrecen un nivel de protección distinto al Gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4"
-
La
app-mysqldb
StorageClass se asignará al cuarto pool virtual delontap-nas
back-end. Este es el único pool que ofrece configuración de pool de almacenamiento para la aplicación 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"
-
T.
protection-silver-creditpoints-20k
StorageClass se asignará al tercer pool virtual delontap-nas-flexgroup
back-end. Este es el único pool 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"
-
La
creditpoints-5k
StorageClass se asignará al tercer pool virtual delontap-nas
backend y segundo pool virtual enontap-nas-economy
back-end. Estas son las únicas ofertas de grupo 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"
Trident decidirá qué pool virtual se selecciona y garantiza que se cumpla el requisito de almacenamiento.
Actualizar dataLIF
tras la configuración inicial
Puede cambiar la LIF de datos tras la configuración inicial ejecutando el siguiente comando para proporcionar el nuevo archivo JSON back-end con LIF de datos actualizadas.
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
Si los RVP están conectados a uno o varios pods, deben recuperar todos los pods correspondientes y, a continuación, traerlos para que surta efecto el nuevo LIF de datos. |