Proprietário do componente operacional: FILE
Perfil de habilidade: engenheiro de implantação Nesta página, fornecemos instruções para configurar o armazenamento de arquivos e blocos para o cluster usando o NetApp ONTAP.16.1. Configurar switches de cluster do ONTAP
Verifique as senhas
switch-xx-ad-stgesw01-admineswitch-xx-ad-stgesw02-admin(elas terão o mesmo valor). Se as senhas não existirem, inicialize as credenciais e gere uma nova senha aleatória. Faça login no switch pelo console para definir a senha de administrador:# configure terminal # username ADMIN_USER password PASSWORD # exit # copy running-config startup-configSalve as credenciais em um Secret e adicione a
cell.yamlapiVersion: v1 kind: Secret metadata: name: netapp-ontap-cluster-switch-credential namespace: gpc-system type: Opaque stringData: username: ADMIN_USER password: PASSWORDExecute o comando a seguir para receber os nomes das chaves de armazenamento:
kubectl get storageswitch -n gpc-systemO resultado será semelhante a este:
NAME AGE MANAGEMENTIP kb-ab-stgesw01 10d 192.0.2.0 kb-ab-stgesw02 10d 192.0.2.1Para cada chave, siga estas etapas e use o nome dela.
Execute o comando a seguir para extrair a configuração de switch do CR
switchstaticconfig:kubectl get switchstaticconfigs -n gpc-system $SWITCH_NAME-static-config -o yaml | /root/release/scripts/yq_linux_amd64 '.spec.config'O resultado será semelhante a este:
banner motd ! ****************************************************************************** * NetApp Reference Configuration File (RCF) * * Switch : Nexus N9K-C9336C-FX2 * Filename : Nexus-9336C-RCF-v1.8-Cluster.txt * Date : 11-01-2021 * Version : v1.8 * * Port Usage: * Ports 1- 3: Breakout mode (4x10G) Intra-Cluster/HA Ports, int e1/1/1-4, e1/2/1-4, e1/3/1-4 * Ports 4- 6: Breakout mode (4x25G) Intra-Cluster/HA Ports, int e1/4/1-4, e1/5/1-4, e1/6/1-4 * Ports 7-34: 40/100GbE Intra-Cluster/HA Ports, int e1/7-34 * Ports 35-36: Intra-Cluster ISL Ports, int e1/35-36 * * Dynamic breakout commands: * 10G: interface breakout module 1 port <range> map 10g-4x * 25G: interface breakout module 1 port <range> map 25g-4x * * Undo breakout commands and return interfaces to 40/100G configuration in config mode: * no interface breakout module 1 port <range> map 10g-4x * no interface breakout module 1 port <range> map 25g-4x * interface Ethernet <interfaces taken out of breakout mode> * inherit port-profile CLUSTER * priority-flow-control mode auto * service-policy type qos type input ROCE_QOS * exit * * This RCF supports Clustering, HA, RDMA, and DCTCP using a single port profile. * ****************************************************************************** ! conf t ! interface breakout module 1 port 1-3 map 10g-4x interface breakout module 1 port 4-6 map 25g-4x ! feature lacp feature lldp feature ssh feature sftp-server feature scp-server ! vlan 17,18 exit ! cdp enable cdp advertise v1 cdp timer 5 system default switchport no system default switchport shutdown snmp-server community cshm1! group network-operator errdisable recovery interval 30 port-channel load-balance src-dst ip-l4port-vlan no ip domain-lookup logging console 1 ! ! class-map type qos match-any HA match dscp 40 match cos 5 ! class-map type qos match-any RDMA match dscp 16 match cos 2 ! class-map type qos match-any CT match dscp 0 match cos 0 ! policy-map type qos ROCE_QOS class type qos HA set qos-group 5 class type qos RDMA set qos-group 2 class type qos class-default set qos-group 0 ! class-map type network-qos HA_NETQOS match qos-group 5 ! class-map type network-qos RDMA_NETQOS match qos-group 2 ! class-map type network-qos CT_NETQOS match qos-group 0 ! policy-map type queuing ROCE_QUEUING class type queuing c-out-8q-q7 priority level 1 class type queuing c-out-8q-q6 bandwidth remaining percent 0 class type queuing c-out-8q-q5 bandwidth remaining percent 43 random-detect threshold burst-optimized ecn class type queuing c-out-8q-q4 bandwidth remaining percent 0 class type queuing c-out-8q-q3 bandwidth remaining percent 0 class type queuing c-out-8q-q2 random-detect threshold burst-optimized ecn bandwidth remaining percent 28 class type queuing c-out-8q-q1 bandwidth remaining percent 0 class type queuing c-out-8q-q-default bandwidth remaining percent 28 random-detect threshold burst-optimized ecn ! policy-map type network-qos NETQOS class type network-qos HA_NETQOS pause pfc-cos 5 mtu 9216 class type network-qos RDMA_NETQOS pause pfc-cos 2 mtu 9216 class type network-qos CT_NETQOS mtu 9216 ! system qos service-policy type network-qos NETQOS service-policy type queuing output ROCE_QUEUING ! copp profile strict ! ! !********** Port Profiles ********** ! port-profile type ethernet CLUSTER description 10/25/40/1000GbE Intra-Cluster/HA Nodes switchport mode trunk switchport trunk allowed vlan 1,17-18 spanning-tree port type edge trunk spanning-tree bpduguard enable mtu 9216 state enabled exit ! ! !********** Interfaces ********** ! interface e1/1/1-4, e1/2/1-4, e1/3/1-4, e1/4/1-4, e1/5/1-4, e1/6/1-4, e1/7-34 inherit port-profile CLUSTER priority-flow-control mode auto service-policy input ROCE_QOS exit ! !********** Intra-Cluster ISL ports ********** ! interface Ethernet1/35 description Intra-Cluster Switch ISL Port 1/35 (port channel) priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 channel-group 1 mode active no shutdown ! interface Ethernet1/36 description Intra-Cluster Switch ISL Port 1/36 (port channel) priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 channel-group 1 mode active no shutdown ! interface port-channel1 service-policy input ROCE_QOS priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 no shutdown ! !********** Set management ip ********** ! interface mgmt0 ip address 172.28.2.10/29 ! vrf context management ip route 0.0.0.0/0 mgmt0 172.28.2.9 ! hostname kb-ad-stgesw01 ! end ! !********** Save config ******* copy run start !Implante a configuração de switch obtida no switch usando um cabo serial ou um servidor de console. Para isso, copie e cole o conteúdo no switch.
Esta configuração pressupõe que:
- Para o A250: e0c/e0d no dispositivo de armazenamento é conectado à porta 4-6 usando um cabo breakout.
- Para o A400: e3a/e3b no dispositivo de armazenamento está conectado à porta 7-34 usando um cabo de 40 GbE ou 100 GbE (sem separação).
- Para A800: e0a/e1a no dispositivo de armazenamento está conectado à porta 7-34 usando um cabo de 40 GbE ou 100 GbE (sem breakout).
No entanto, isso nem sempre é o caso. Em muitas instalações, o dispositivo de armazenamento é conectado às portas 4 a 6, mesmo quando o dispositivo é um A400 ou A800. Se um A400 ou A800 estiver conectado às portas 4 a 6, ajuste a configuração do switch para remover as seguintes linhas antes de aplicar:
interface breakout module 1 port 1-3 map 10g-4x interface breakout module 1 port 4-6 map 25g-4xEm seguida, substitua esta linha:
interface e1/1/1-4, e1/2/1-4, e1/3/1-4, e1/4/1-4, e1/5/1-4, e1/6/1-4, e1/7-34Por este código:
interface e1/1-34Com essas mudanças, as portas de 1 a 34 são configuradas para cabos 40GbE ou 100GbE (sem breakout).
Além disso, remova as seguintes linhas da parte do banner MOTD da configuração para evitar possíveis confusões no futuro:
* Ports 1- 3: Breakout mode (4x10G) Intra-Cluster/HA Ports, int e1/1/1-4, e1/2/1-4, e1/3/1-4 * Ports 4- 6: Breakout mode (4x25G) Intra-Cluster/HA Ports, int e1/4/1-4, e1/5/1-4, e1/6/1-4 * Ports 7-34: 40/100GbE Intra-Cluster/HA Ports, int e1/7-34Substitua essas linhas por:
* Ports 1-34: 40/100GbE Intra-Cluster/HA Ports, int e1/1-34Confirme o CR do objeto ManagementSwitch.
Analise o objeto
ManagementSwitchdo cluster KIND de inicialização e encontre o CR correto que representa o switch que contém o dispositivo de armazenamento. Identifique as portas de switch físicas no switch de gerenciamento, que estão conectadas fisicamente aos switches de armazenamento, e confirme se essas conexões existem no CR ManagementSwitch em lacpGroups.Por exemplo, se a conexão de gerenciamento com o switch de armazenamento estiver conectada às portas 10 e 11 no switch de gerenciamento, confirme se as seguintes informações existem:
kind: ManagementSwitch spec: ... serverNetwork: ... lacpGroups: - - 10 - - 11Use o comando a seguir para receber os lacpGroups:
kubectl get ManagementSwitchinternal <switch-name> --namespace=gpc-system -o=jsonpath='{.spec.serverNetwork.lacpGroups}'Uma saída de exemplo será assim, permitindo que você confirme a existência das portas:
[[1],[2],[3],[4],[5],[6]]
16.2. Inicializar dispositivos ONTAP
Repita as etapas a seguir para cada controlador nos sistemas AFF 250/400/800. Cada sistema tem dois controladores ou nós.
Use o console serial e o nome de usuário padrão
adminpara se conectar ao nó do controlador de armazenamento.Verifique a versão do sistema NetApp ONTAP.
- Execute o comando
version. - A versão do sistema NetApp ONTAP precisa ser 9.15.1. Se a versão for anterior a 9.15.1, faça upgrade dos nós para 9.15.1 antes do bootstrap do cluster de administrador da organização. Para mais detalhes, consulte o Guia de upgrade.
- Execute o comando
Defina os endereços de interface IP de interconexão de cluster.
Primeiro, localize o valor
.spec.network.clusterInterconnectIPesperado para oStorageNodeatual no cellcfg.# Note, this command relies on yq, which can be downloaded from https://github.com/mikefarah/yq. # If you do not want to install yq, you can manually inspect cellcfg/*-storage.yaml to determine the IPs. cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageNode") | (.metadata.name, .spec.network.clusterInterconnectIP)'A execução do comando anterior vai imprimir os nomes de todos os
StorageNodes e os valores de.spec.network.clusterInterconnectIP. Exemplo:aa-ad-stge01-01 169.254.0.1 --- aa-ad-stge01-02 169.254.0.3 --- aa-ad-stge02-01 169.254.0.5 --- aa-ad-stge02-02 169.254.0.7 --- aa-ad-stge03-01 169.254.0.9 --- aa-ad-stge03-02 169.254.0.11No exemplo anterior, para o nó
aa-ad-stge03-01, os IPs169.254.0.9e169.254.0.10seriam usados nas etapas a seguir. Isso acontece porque169.254.0.9é o IP definido no cellcfg para o nóaa-ad-stge03-01, e169.254.0.10é o próximo IP (numericamente) depois de169.254.0.9.Em seguida, verifique os valores reais de IP de interconexão do cluster para o nó atual.
network interface showVocê vai ver duas interfaces de rede começando com
169.254, semelhante à saída a seguir:::> net int show (network interface show) Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- Cluster clus1 up/up 169.254.19.166/16 localhost e3a true clus2 up/up 169.254.19.167/16 localhost e3b trueSe o endereço da interface
clus1corresponder ao valor definido no cellcfg e o endereço da interfaceclus2for o próximo IP depois do endereçoclus1(numericamente), pule o restante desta etapa e vá para a próxima.Se você só vir uma interface para o vserver do cluster, execute
net port showpara verificar se a segunda porta está funcionando. Se for esse o caso, significa que você perdeu uma das interfaces, e há duas opções para corrigir isso:Opção 1: adicione manualmente o IP da interconexão com o seguinte comando:
net interface create -vserver Cluster -lif clus2 -role cluster -address <interconnect-ip> -netmask 255.255.0.0 -home-node localhost -home-port <port>interconnect-ip: escolha o próximo IP (numericamente) após o IP de interconexão do cluster especificado na cellcfg do nó atual. Por exemplo, se o IP de interconexão do cluster especificado no cellcfg do nó atual for
169.254.0.3, escolha169.254.0.4.porta: dependendo do modelo do ONTAP, a porta pode ser diferente. Escolha a porta que não tem uma interface mostrada na saída anterior.
- Para A250: escolha entre e0c e e0d.
- Para o A400, escolha entre e3a e e3b.
- Para A800: escolha entre e0a e e1a.
Opção 2: fazer um reset de fábrica no nó ONTAP. Isso envolve uma configuração 9a e 9b no menu de inicialização do ONTAP. Execute o comando novamente após a redefinição para verificar se há dois IPs. Recomendamos tentar a opção 1 primeiro e só usar a opção 2 se as coisas não estiverem funcionando corretamente.
Em seguida, atualize o IP de interconexão
clus1para o valorclusterInterconnectIPespecificado para o nó atual no cellcfg.net int modify -vserver Cluster -lif clus1 -address <interconnect-ip>- interconnect-ip: o valor
clusterInterconnectIPespecificado no cellcfg do nó atual.
Em seguida, atualize o IP de interconexão
clus2para ser o próximo IP (numericamente) depois do valorclusterInterconnectIPespecificado para o nó atual em cellcfg.net int modify -vserver Cluster -lif clus2 -address <next-interconnect-ip>- next-interconnect-ip: escolha o próximo IP (numericamente) após o IP de interconexão do cluster especificado na cellcfg do nó atual. Por exemplo, se o IP de interconexão do cluster especificado na cellcfg do nó atual for
169.254.0.3, escolha169.254.0.4.
Por fim, verifique se os valores reais de IP de interconexão do cluster para o nó atual correspondem aos valores esperados em cellcfg.
network interface showVocê vai ver duas interfaces de rede começando com
169.254, semelhante à saída a seguir. O endereço da interfaceclus1precisa corresponder ao valor definido no cellcfg. O endereço da interfaceclus2precisa ser o próximo IP depois do endereçoclus1(numericamente).::> net int show (network interface show) Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- Cluster clus1 up/up 169.254.0.1/16 localhost e3a true clus2 up/up 169.254.0.2/16 localhost e3b trueOpcional: verifique a conectividade entre clusters.
ping -lif clus2 -vserver Cluster -destination <interconnect-ip-other-node>interconnect-ip-other-node: escolha um IP entre clusters de outros nós. Se houver conectividade, o ping vai responder.
Defina a senha de administrador (ela precisa ser a mesma em todos os nós e é usada ao preencher a senha). Verifique se a senha atende aos requisitos de complexidade. Caso contrário, você vai receber um aviso sobre contas de usuário não compatíveis.
::> security login password Enter your current password: Current password is empty, press Enter Enter a new password: Enter NEW_PASSWORD Enter it again: Enter NEW_PASSWORDDefina o IP e o gateway de gerenciamento. Confira abaixo as instruções sobre como conseguir as informações necessárias.
::> cluster setup Type yes to confirm and continue: yes Enter the node management interface port: e0M Enter the node management interface IP address: IP_ADDRESS for this node Enter the node management interface netmask: NETMASK for this IP Enter the node management interface default gateway: GATEWAYSaia do assistente de configuração do cluster depois de definir o gateway padrão inserindo
ctrl+c.Execute o comando a seguir para receber as informações da sub-rede:
# cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageCluster") | (.spec.network.clusterManagement.netmask)'O resultado será semelhante a este:
203.0.113.0Execute o comando a seguir para receber as informações do gateway:
kubectl get subnetclaim -n root kb-ad-mgmtsw01-stge-os-subnet -o jsonpath={.status.ipv4SubnetStatus.gateway} ; echoO resultado será semelhante a este:
203.0.113.1Confira a seguir um exemplo de como obter informações de IP:
# cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageNode") | (.metadata.name, .spec.network.managementIP)' kb-ad-stge01-01 203.0.113.0 --- kb-ad-stge01-02 203.0.113.0 --- kb-ad-stge02-01 203.0.113.0 --- kb-ad-stge02-02 203.0.113.0Ative o SSH para o usuário administrador:
security login create -user-or-group-name admin -application ssh -authentication-method password -role adminRenomeie o nó para o nome especificado em
cell.yaml.system node rename -node localhost -newname NODE_NAMEVerifique se os discos estão configurados corretamente.
Execute
storage aggregate show -fields uses-shared-diskse verifique seaggr0retorna "true". Exemplo de saída:::> storage aggregate show -fields uses-shared-disks aggregate uses-shared-disks --------- ----------------- aggr0 trueExecute
run -node * sysconfig -re verifique se existem nomes de dispositivos que terminam emP3. Isso garante que os discos tenham três partições. Exemplo de saída:::> run -node * sysconfig -r 1 entry was acted on. Node: localhost Aggregate aggr0 (online, raid_dp) (block checksums) Plex /aggr0/plex0 (online, normal, active, pool0) RAID group /aggr0/plex0/rg0 (normal, block checksums) RAID Disk Device HA SHELF BAY CHAN Pool Type RPM Used (MB/blks) Phys (MB/blks) --------- ------ ------------- ---- ---- ---- ----- -------------- -------------- dparity 0n.18P3 0n 0 18 0 SSD-NVM N/A 63849/16345536 63857/16347584 parity 0n.19P3 0n 0 19 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.20P3 0n 0 20 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.21P3 0n 0 21 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.22P3 0n 0 22 0 SSD-NVM N/A 63849/16345536 63857/16347584Execute
run -node local disk show -npara verificar se as partições de disco sãoNot Ownede se há2 * <number of disks>partições. Este exemplo mostra 24 partições sem proprietário para 12 discos.::> run -node local disk show -n DISK OWNER POOL SERIAL NUMBER HOME DR HOME ------------ ------------- ----- ------------- ------------- ------------- 0n.21P1 Not Owned NONE S5Y0NA0T100941NP001 0n.21P2 Not Owned NONE S5Y0NA0T100941NP002 0n.22P1 Not Owned NONE S5Y0NA0T100944NP001 0n.22P2 Not Owned NONE S5Y0NA0T100944NP002 0n.18P1 Not Owned NONE S5Y0NA0T101588NP001 0n.18P2 Not Owned NONE S5Y0NA0T101588NP002 0n.20P1 Not Owned NONE S5Y0NA0T100947NP001 0n.20P2 Not Owned NONE S5Y0NA0T100947NP002 0n.3P1 Not Owned NONE S5Y0NA0T100942NP001 0n.3P2 Not Owned NONE S5Y0NA0T100942NP002 0n.1P1 Not Owned NONE S5Y0NA0T100943NP001 0n.1P2 Not Owned NONE S5Y0NA0T100943NP002 0n.5P1 Not Owned NONE S5Y0NA0T101314NP001 0n.5P2 Not Owned NONE S5Y0NA0T101314NP002 0n.2P1 Not Owned NONE S5Y0NA0T100946NP001 0n.2P2 Not Owned NONE S5Y0NA0T100946NP002 0n.23P1 Not Owned NONE S5Y0NA0T100939NP001 0n.23P2 Not Owned NONE S5Y0NA0T100939NP002 0n.19P1 Not Owned NONE S5Y0NA0T101608NP001 0n.19P2 Not Owned NONE S5Y0NA0T101608NP002 0n.0P1 Not Owned NONE S5Y0NA0T100873NP001 0n.0P2 Not Owned NONE S5Y0NA0T100873NP002 0n.4P1 Not Owned NONE S5Y0NA0T101609NP001 0n.4P2 Not Owned NONE S5Y0NA0T101609NP002Se alguma dessas etapas falhar, faça uma redefinição de fábrica do sistema.
16.3. Configurar o Network Time Protocol
Extraia os IPs dos servidores NTP para os retransmissores NTP em execução no cluster de inicialização:
kubectl get ntpservers -n ntp-system -o jsonpath='{.items[*].status.managementIP}{"\n"}'
Para cada um dos servidores NTP, execute o seguinte comando no primeiro nó do ONTAP:
cluster time-service ntp server create -server NTP_SERVER_IP
Por exemplo, se os nós do ONTAP forem kb-ad-stge01-01, kb-ad-stge01-02, kb-ad-stge02-01 e kb-ad-stge02-02, execute o comando no nó kb-ad-stge01-01.
16.4. Verificar a pasta cellcfg
Para recuperar os valores de nome de usuário e senha do armazenamento de arquivos, use o arquivo do fornecedor de hardware dedicado ao armazenamento, por exemplo, WO15_SO7100911835-2_GDCH-4d-A250-A400_DD-010223.xlsx
16.4.1. Verificar senha de administrador
Encontre o nome do secret do ONTAP referenciado em /CELLCFG/file-storage.yaml após StorageCluster.spec.adminSecretName.
Encontre o Secret correspondente e verifique se os valores estão preenchidos. Caso contrário, substitua o nome de usuário e a senha de administrador:
apiVersion: v1
kind: Secret
metadata:
name: SECRET_NAME
namespace: gpc-system
type: Opaque
stringData:
netapp_username: admin
netapp_password: PASSWORD
16.4.2. Verificar licenças do ONTAP
As licenças de software do ONTAP precisam ter sido fornecidas pelo fornecedor de hardware.
Localize o campo StorageCluster.spec.licenses na pasta /cellcfg/af-storage.yaml e verifique se as licenças estão preenchidas.
Caso contrário, preencha os campos com as licenças:
apiVersion: ontap.netapp.storage.private.gdc.goog/v1alpha1
kind: StorageCluster
metadata:
creationTimestamp: null
name: zl-stge-clus-01
namespace: gpc-system
spec:
...
licenses:
- LICENSE_1
- LICENSE_2
- LICENSE_3
Para referência, veja um exemplo de como as entradas de licença devem aparecer na configuração da célula:
licenses:
ABGITNWODUEVQELPECCAAAAAAAAA
AHJJWYTTTXKZOFKVBTBAAAAAAAAA
AHZTHBPQACAAAAKVBTBAAAAAAAAA
ALTXOYXSVDDCMADPECCAAAAAAAAA
ANWFPBPQACAAAAKVBTBAAAAAAAAA
APLKENWODUEVQELPECCAAAAAAAAA
ARIHVQFAHJMIWBDPECCAAAAAAAAA
AXFTCRFAHJMIWBDPECCAAAAAAAAA
16.5. Validação de simulação
Execute o comando de validação:
gdcloud system check-config --config PATH_TO_CELL_CONFIG --artifacts-directory PATH_TO_ARTIFACTS \
--scenario FileBlockStorage
Se houver erros no registro, siga as mensagens para corrigir o problema e execute a validação novamente.
16.5.1. Possíveis problemas
Esta seção contém possíveis problemas que podem ocorrer ao realizar a validação de simulação dos dispositivos de armazenamento em blocos de arquivos.
16.5.1.1. NumDisks para StorageAggregate
Ignore as falhas de validação na contagem incorreta de discos, mas verifique manualmente o
valor de NumDisks no CR StorageAggregate. O StorageAggregate é definido no arquivo xx-storage.yaml.
O número total de discos configurados para StorageAggregates em um dispositivo de bloco de arquivo precisa corresponder ao número de discos apresentados no dispositivo menos o número de discos sobressalentes. A prática recomendada é reservar um disco sobressalente para cada 12 discos.
Para calcular o valor de NumDisks, use a seguinte fórmula:
NumDisks = (Total_Disks/2) - ceil(Total_Disks/12)
NumDisks é igual a 10 se você aplicar a fórmula ao exemplo (24/2) - ceil(24/12) descrito nesta seção.
16.6. Executar a instalação
Execute o comando de instalação:
gdcloud system storage install -v 3 --config PATH_TO_CELL_CONFIG
Este comando faz o seguinte:
- Configura o cluster da NetApp e adiciona nós disponíveis.
- Cria os agregados
- Configura o LACP e as VLANs nas portas de dados
- Configurar licenças
- Configurar monitoramento
- Configura o gerenciamento de chaves externas.
Depois que o job for concluído, execute node show no console do ONTAP para garantir que não haja avisos como estes:
kb-stge-clus-01::> node show
Node Health Eligibility Uptime Model Owner Location
--------- ------ ----------- ------------- ----------- -------- ---------------
kb-ad-stge01-01
true true 5 days 02:49 AFF-A250
kb-ad-stge01-02
true true 6 days 18:24 AFF-A250
kb-ad-stge02-01
true true 5 days 01:52 AFF-A800
kb-ad-stge02-02
true true 5 days 01:52 AFF-A800
kb-ad-stge03-01
true true 7 days 00:15 AFF-A400
kb-ad-stge03-02
true true 7 days 00:26 AFF-A400
Warning: Cluster operation (cluster join) for node "kb-ad-stge03-01" is not complete and the node is not fully functional.
Run "cluster join" on that node to complete the operation.
6 entries were displayed.
Se houver, siga as instruções e faça login nesses nós. Em seguida, execute o comando cluster join correspondente para garantir que ele desapareça após a operação.
16.7. Atualizar as configurações de segurança
Definir banner de login:
security login banner modify -vserver <cluster name> -message "<banner>"Limite o tempo limite da sessão da CLI a dez minutos:
system timeout modify 10Aplique a complexidade da senha e o número máximo de tentativas de login na função de administrador:
security login role config modify -vserver CLUSTER_NAME -role admin -passwd-minlength 15 -passwd-min-special-chars 1 -passwd-min-lowercase-chars 1 -passwd-min-uppercase-chars 1 -passwd-min-digits 1 -disallowed-reuse 25 -max-failed-login-attempts 3Limitar o tempo limite da sessão da interface a dez minutos:
::> set diag Warning: These diagnostic commands are for use by NetApp personnel only. Do you want to continue? {y|n}: y ::> cluster application-record create -name sysmgr.inactivitytimeout -value 10 -vserver <cluster name>Ajuste as configurações de bloqueio do usuário:
::> security login role config modify -vserver * -max-failed-login-attempts 3 -lockout-duration 1 -role * ::> security ssh modify -vserver * -max-authentication-retry-count 3Desativar portas USB (é necessário reiniciar para que a mudança seja aplicada):
::> set diag ::*> system node usb-ports modify -node * -is-disabled-next-boot trueRemova o certificado de inicialização.
Encontre o certificado bootstrap-web-ca:
::> security certificate show-user-installedA saída será assim se o certificado bootstrap-web-ca existir:
Vserver Serial Number Certificate Name Type ---------- --------------- -------------------------------------- ------------ aa-aa-stge01 45B86E1B5CF1CC144B874C80A39D2A99 bootstrap-web-ca server-ca Certificate Authority: bootstrap-web-ca Expiration Date: Mon Feb 19 22:55:03 2029
Quando quiser reiniciar os nós, faça isso um de cada vez com o seguinte comando:
::> system node reboot -node <node-name> -inhibit-takeover true
16.8. Armazenar usuários de acesso de emergência
Quatro contas breakglass são criadas automaticamente e armazenadas como os seguintes secrets do Kubernetes durante a configuração.
- storage-root-level1
- storage-root-level1-backup
- storage-root-level2
- storage-root-level2-backup
Para storage-root-level2 e storage-root-level2-backup, armazene e proteja suas credenciais em papel conforme prescrito:
Extraia o nome de usuário e a senha do secret com os seguintes comandos, substituindo SECRET_NAME pelo secret que você quer usar:
kubectl get secret -n gpc-system SECRET_NAME -o jsonpath='{.data.username}' | base64 --decode kubectl get secret -n gpc-system SECRET_NAME -o jsonpath='{.data.password}' | base64 --decodeConsiga o nome do cluster ONTAP:
::> cluster identity showObserve se há usuários inesperados com privilégios de administrador:
::> useradmin user list- Opcional: exclua-os com a aprovação do operador de infraestrutura. Sempre execute em cargas de trabalho de produção e do cliente:
::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application amqp ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application console ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application http ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application ontapi ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application service-processor ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application ssh ```Exclua o usuário de administração da NetApp criado na etapa anterior.
::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application amqp ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application console ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application http ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application ontapi ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application service-processor ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application sshO operador de infraestrutura (IO) principal anota o nome de usuário e a senha de cada appliance de forma legível em pedaços de papel separados. Eles dobram os papéis de modo que o conteúdo não fique visível, rotulam os papéis, por exemplo, "Credenciais raiz para o switch TOR 1", e os entregam a um engenheiro de nível 1 para armazenamento seguro.
Com o IO principal observando, o engenheiro de nível 1 armazena os papéis em um cofre físico.
A E/S adiciona uma anotação aos secrets para marcar que o secret foi armazenado no cofre.
kubectl annotate secrets storage-root-level2 -n gpc-system disk.gdc.goog/persisted=''16.9. Atualizar servidores NTP
Siga estas etapas depois que o cluster de administrador for instalado:
Consiga os novos IPs do servidor NTP para os retransmissores NTP em execução no cluster de administrador:
kubectl get ntpservers -n gpc-systemNo ONTAP, exclua todos os servidores NTP atuais:
cluster time-service ntp server show cluster time-service ntp server delete -server NTP_SERVER_IPAdicione os novos servidores NTP ao ONTAP:
cluster time-service ntp server create -server NTP_SERVER_IP