Exemplos e opções de configuração de SAN ONTAP
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 |
---|---|---|
|
Sempre 1 |
|
|
Nome do controlador de armazenamento |
"ONTAP-nas", "ONTAP-nas-economy", "ONTAP-nas-FlexGroup", "ONTAP-san", "ONTAP-san-economy" |
|
Nome personalizado ou back-end de storage |
Nome do driver |
|
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 |
"10,0.0,1", "[2001:1234:abcd::fefe]" |
|
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 |
Derivado do SVM |
|
Use CHAP para autenticar iSCSI para drivers SAN ONTAP [Boolean]. Defina como |
falso |
|
Segredo do iniciador CHAP. Necessário se |
"" |
|
Conjunto de rótulos arbitrários formatados em JSON para aplicar em volumes |
"" |
|
Segredo do iniciador de destino CHAP. Necessário se |
"" |
|
Nome de utilizador de entrada. Necessário se |
"" |
|
Nome de utilizador alvo. Necessário se |
"" |
|
Valor codificado em base64 do certificado do cliente. Usado para autenticação baseada em certificado |
"" |
|
Valor codificado em base64 da chave privada do cliente. Usado para autenticação baseada em certificado |
"" |
|
Valor codificado em base64 do certificado CA confiável. Opcional. Usado para autenticação baseada em certificado. |
"" |
|
Nome de usuário necessário para se comunicar com o cluster ONTAP. Usado para autenticação baseada em credenciais. |
"" |
|
Senha necessária para se comunicar com o cluster ONTAP. Usado para autenticação baseada em credenciais. |
"" |
|
Máquina virtual de armazenamento para usar |
Derivado se uma SVM |
|
Nome do grupo para volumes SAN a serem usados. Consulte para obter mais informações. |
"Trident-<backend-UUID>" |
|
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" |
|
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 |
"" (não aplicado por padrão) |
|
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) |
|
Máximo de LUNs por FlexVol, tem de estar no intervalo [50, 200] |
"100" |
|
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 |
|
Parâmetro booleano para usar APIs REST do ONTAP. A visualização técnica |
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 nomeadotrident-<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 |
---|---|---|
|
Alocação de espaço para LUNs |
"verdadeiro" |
|
Modo de reserva de espaço; "nenhum" (fino) ou "volume" (grosso) |
"nenhum" |
|
Política de instantâneos a utilizar |
"nenhum" |
|
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. |
"" |
|
Grupo de políticas de QoS adaptável a atribuir para volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend |
"" |
|
Porcentagem de volume reservado para snapshots "0" |
Se |
|
Divida um clone de seu pai na criação |
"falso" |
|
Ative a criptografia de volume do NetApp (NVE) no novo volume; o padrão é |
"falso" |
|
Ativar encriptação LUKS. "Usar a configuração de chave unificada do Linux (LUKS)"Consulte a . |
"" |
|
Estilo de segurança para novos volumes |
|
|
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'
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:
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.
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 noontap-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 noontap-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 noontap-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 noontap-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 noontap-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"