Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Exemplos e opções de configuração de SAN ONTAP

Colaboradores

Saiba mais sobre como criar e usar drivers SAN ONTAP com sua instalação do Astra Trident. Esta seção fornece exemplos de configuração de back-end e detalhes sobre como mapear backends para StorageClasses.

Opções de configuração de back-end

Consulte a tabela a seguir para obter as opções de configuração de back-end:

Parâmetro Descrição Padrão

version

Sempre 1

storageDriverName

Nome do controlador de armazenamento

"ONTAP-nas", "ONTAP-nas-economy", "ONTAP-nas-FlexGroup", "ONTAP-san", "ONTAP-san-economy"

backendName

Nome personalizado ou back-end de storage

Nome do driver

managementLIF

Endereço IP de um cluster ou LIF de gerenciamento de SVM para switchover MetroCluster otimizado, você precisa especificar um LIF de gerenciamento de SVM. Um nome de domínio totalmente qualificado (FQDN) pode ser especificado. Pode ser definido para usar endereços IPv6 se o Astra Trident tiver sido instalado usando o --use-ipv6 sinalizador. Os endereços IPv6 devem ser definidos entre colchetes, como [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555].

"10,0.0,1", "[2001:1234:abcd::fefe]"

dataLIF

Endereço IP do protocolo LIF. Não especifique para iSCSI. O Astra Trident usa "Mapa de LUN seletivo da ONTAP" para descobrir os LIFs iSCI necessários para estabelecer uma sessão de vários caminhos. Um aviso é gerado se dataLIF for definido explicitamente.

Derivado do SVM

useCHAP

Use CHAP para autenticar iSCSI para drivers SAN ONTAP [Boolean]. Defina como true para o Astra Trident para configurar e usar CHAP bidirecional como a autenticação padrão para o SVM dado no back-end. "Prepare-se para configurar o back-end com drivers SAN ONTAP"Consulte para obter detalhes.

falso

chapInitiatorSecret

Segredo do iniciador CHAP. Necessário se useCHAP=true

""

labels

Conjunto de rótulos arbitrários formatados em JSON para aplicar em volumes

""

chapTargetInitiatorSecret

Segredo do iniciador de destino CHAP. Necessário se useCHAP=true

""

chapUsername

Nome de utilizador de entrada. Necessário se useCHAP=true

""

chapTargetUsername

Nome de utilizador alvo. Necessário se useCHAP=true

""

clientCertificate

Valor codificado em base64 do certificado do cliente. Usado para autenticação baseada em certificado

""

clientPrivateKey

Valor codificado em base64 da chave privada do cliente. Usado para autenticação baseada em certificado

""

trustedCACertificate

Valor codificado em base64 do certificado CA confiável. Opcional. Usado para autenticação baseada em certificado.

""

username

Nome de usuário necessário para se comunicar com o cluster ONTAP. Usado para autenticação baseada em credenciais.

""

password

Senha necessária para se comunicar com o cluster ONTAP. Usado para autenticação baseada em credenciais.

""

svm

Máquina virtual de armazenamento para usar

Derivado se uma SVM managementLIF for especificada

igroupName

Nome do grupo para volumes SAN a serem usados. Consulte para obter mais informações.

"Trident-<backend-UUID>"

storagePrefix

Prefixo usado ao provisionar novos volumes na SVM. Não pode ser modificado mais tarde. Para atualizar esse parâmetro, você precisará criar um novo backend.

"Trident"

limitAggregateUsage

Falha no provisionamento se o uso estiver acima dessa porcentagem. Se você estiver usando um back-end do Amazon FSX for NetApp ONTAP, não limitAggregateUsage`especifique . O fornecido `fsxadmin e vsadmin não contém as permissões necessárias para recuperar o uso agregado e limitá-lo usando o Astra Trident.

"" (não aplicado por padrão)

limitVolumeSize

Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor. Também restringe o tamanho máximo dos volumes que gerencia para qtrees e LUNs.

"" (não aplicado por padrão)

lunsPerFlexvol

Máximo de LUNs por FlexVol, tem de estar no intervalo [50, 200]

"100"

debugTraceFlags

Debug flags para usar ao solucionar problemas. Por exemplo, não use a menos que você esteja solucionando problemas e exija um despejo de log detalhado.

nulo

useREST

Parâmetro booleano para usar APIs REST do ONTAP. A visualização técnica
useREST é fornecida como uma prévia técnica que é recomendada para ambientes de teste e não para cargas de trabalho de produção. Quando definido como true, o Astra Trident usará as APIS REST do ONTAP para se comunicar com o back-end. Esse recurso requer o ONTAP 9.11,1 e posterior. Além disso, a função de login do ONTAP usada deve ter acesso ao ontap aplicativo. Isso é satisfeito com as funções e cluster-admin predefinidas vsadmin.
useREST Não é suportado com MetroCluster.

falso

Detalhes sobre igroupName

igroupName Pode ser definido como um grupo que já está criado no cluster ONTAP. Se não for especificado, o Astra Trident cria automaticamente um igrop chamado trident-<backend-UUID>.

Se estiver fornecendo um igroupName predefinido, recomendamos o uso de um grupo por cluster do Kubernetes, se o SVM for compartilhado entre ambientes. Isso é necessário para que o Astra Trident mantenha automaticamente adições e exclusões ao IQN.

  • igroupName Pode ser atualizado para apontar para um novo grupo que é criado e gerenciado no SVM fora do Astra Trident.

  • igroupName pode ser omitido. Nesse caso, o Astra Trident criará e gerenciará um igroup nomeado trident-<backend-UUID> automaticamente.

Em ambos os casos, os anexos de volume continuarão a ser acessíveis. Futuros anexos de volume usarão o igroup atualizado. Esta atualização não interrompe o acesso aos volumes presentes no back-end.

Opções de configuração de back-end para volumes de provisionamento

Você pode controlar o provisionamento padrão usando essas opções na defaults seção da configuração. Para obter um exemplo, consulte os exemplos de configuração abaixo.

Parâmetro Descrição Padrão

spaceAllocation

Alocação de espaço para LUNs

"verdadeiro"

spaceReserve

Modo de reserva de espaço; "nenhum" (fino) ou "volume" (grosso)

"nenhum"

snapshotPolicy

Política de instantâneos a utilizar

"nenhum"

qosPolicy

Grupo de políticas de QoS a atribuir aos volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend. O uso de grupos de política de QoS com o Astra Trident requer o ONTAP 9.8 ou posterior. Recomendamos o uso de um grupo de políticas de QoS não compartilhado e garantir que o grupo de políticas seja aplicado individualmente a cada componente. Um grupo de política de QoS compartilhado aplicará o limite máximo da taxa de transferência total de todos os workloads.

""

adaptiveQosPolicy

Grupo de políticas de QoS adaptável a atribuir para volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend

""

snapshotReserve

Porcentagem de volume reservado para snapshots "0"

Se snapshotPolicy é "nenhum", então ""

splitOnClone

Divida um clone de seu pai na criação

"falso"

encryption

Ative a criptografia de volume do NetApp (NVE) no novo volume; o padrão é false. O NVE deve ser licenciado e habilitado no cluster para usar essa opção. Se o NAE estiver ativado no back-end, qualquer volume provisionado no Astra Trident será o NAE ativado. Para obter mais informações, consulte: "Como o Astra Trident funciona com NVE e NAE".

"falso"

luksEncryption

Ativar encriptação LUKS. "Usar a configuração de chave unificada do Linux (LUKS)"Consulte a .

""

securityStyle

Estilo de segurança para novos volumes

unix

tieringPolicy

Política de disposição em camadas para usar "nenhuma"

"Somente snapshot" para configuração pré-ONTAP 9.5 SVM-DR

Exemplos de provisionamento de volume

Aqui está um exemplo com padrões 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
igroupName: custom
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: standard
  spaceAllocation: 'false'
  snapshotPolicy: default
  snapshotReserve: '10'
Observação Para todos os volumes criados com ontap-san o driver, o Astra Trident adiciona uma capacidade extra de 10% ao FlexVol para acomodar os metadados do LUN. O LUN será provisionado com o tamanho exato que o usuário solicita no PVC. O Astra Trident adiciona 10% ao FlexVol (mostra como tamanho disponível no ONTAP). Os usuários agora terão a capacidade utilizável que solicitaram. Essa alteração também impede que LUNs fiquem somente leitura, a menos que o espaço disponível seja totalmente utilizado. Isto não se aplica à ONTAP-san-economia.

Para backends que definem `snapshotReserve`o , o Astra Trident calcula o tamanho dos volumes da seguinte forma:

Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1

O 1,1 é o 10% adicional que o Astra Trident adiciona ao FlexVol para acomodar os metadados do LUN. Para snapshotReserve 5%, e o pedido de PVC é de 5GiB, o tamanho total do volume é de 5,79GiB e o tamanho disponível é de 5,5GiB. O volume show comando deve mostrar resultados semelhantes a este exemplo:

Mostra a saída do comando volume show.

Atualmente, o redimensionamento é a única maneira de usar o novo cálculo para um volume existente.

Exemplos mínimos de configuração

Os exemplos a seguir mostram configurações básicas que deixam a maioria dos parâmetros padrão. Esta é a maneira mais fácil de definir um backend.

Observação Se você estiver usando o Amazon FSX no NetApp ONTAP com Astra Trident, a recomendação é especificar nomes DNS para LIFs em vez de endereços IP.

ontap-san driver com autenticação baseada em certificado

Este é um exemplo de configuração de back-end mínimo. clientCertificate, clientPrivateKey E trustedCACertificate (opcional, se estiver usando CA confiável) são preenchidos backend.json e recebem os valores codificados em base64 do certificado do cliente, da chave privada e do certificado de CA confiável, respetivamente.

---
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
igroupName: trident
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz

ontap-san Driver com CHAP bidirecional

Este é um exemplo de configuração de back-end mínimo. Essa configuração básica cria um ontap-san back-end com useCHAP definido como 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
igroupName: trident
username: vsadmin
password: password

ontap-san-economy condutor

---
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: password

Exemplos de backends com pools virtuais

No arquivo de definição de back-end de exemplo mostrado abaixo, padrões específicos são definidos para todos os pools de armazenamento, como spaceReserve em nenhum, spaceAllocation em falso e encryption em falso. Os pools virtuais são definidos na seção armazenamento.

O Astra Trident define rótulos de provisionamento no campo "Comentários". Os comentários são definidos no FlexVol. O Astra Trident copia todas as etiquetas presentes em um pool virtual para o volume de storage no provisionamento. Por conveniência, os administradores de storage podem definir rótulos por pool virtual e volumes de grupo por rótulo.

Neste exemplo, alguns dos conjuntos de armazenamento definem os seus próprios spaceReserve spaceAllocation valores , e encryption , e alguns conjuntos substituem os valores predefinidos acima.

---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
igroupName: trident
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'

Aqui está um exemplo iSCSI para ontap-san-economy o driver:

---
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: 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'

Mapeie os backends para StorageClasses

As seguintes definições do StorageClass referem-se aos pools virtuais acima. Usando o parameters.selector campo, cada StorageClass chama qual(s) pool(s) virtual(s) pode(m) ser(ão) usado(s) para hospedar um volume. O volume terá os aspetos definidos no pool virtual escolhido.

  • O primeiro StorageClass ) (protection-gold`será mapeado para o primeiro e segundo pool virtual `ontap-nas-flexgroup no back-end e o primeiro pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem proteção de nível de ouro.

  • O segundo StorageClass ) (protection-not-gold`será mapeado para o terceiro, quarto pool virtual no `ontap-nas-flexgroup back-end e o segundo, terceiro pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem um nível de proteção diferente do ouro.

  • O terceiro StorageClass ) (app-mysqldb`será mapeado para o quarto pool virtual no `ontap-nas back-end e o terceiro pool virtual no ontap-san-economy back-end. Estes são os únicos pools que oferecem configuração de pool de armazenamento para o aplicativo do tipo mysqldb.

  • O quarto StorageClass ) (protection-silver-creditpoints-20k`será mapeado para o terceiro pool virtual no `ontap-nas-flexgroup back-end e o segundo pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem proteção de nível dourado em 20000 pontos de crédito.

  • O quinto StorageClass ) (creditpoints-5k`será mapeado para o segundo pool virtual no `ontap-nas-economy back-end e o terceiro pool virtual no ontap-san back-end. Estas são as únicas ofertas de pool em 5000 pontos de crédito.

O Astra Trident decidirá qual pool virtual está selecionado e garantirá que o requisito de storage seja atendido.

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"