PowerScale: OneFS: Faltan alertas de SPN sin que coincida el nombre de zona de SmartConnect (SCZN)
Summary: Los clústeres informan que al servidor AD le faltan los SPN necesarios después de una conmutación por error o una conmutación por recuperación de Superna para los nombres principales de servicio (SPN) que coinciden con cualquier nombre de zona SmartConnect del clúster. ...
Symptoms
Después de que se realiza un proceso de conmutación por error/conmutación por recuperación de Superna para designar el clúster de PowerScale primario, es posible que vea los siguientes errores en el clúster secundario.
2.365102 10/21 09:26 I 0 729106 AD server missing needed SPN(s) HOST/eyeglasstest.example.org, HOST/eyeglasstest, nfs/eyeglasstest.example.org, nfs/eyeglasstest; try 'isi auth ads spn check EXAMPLE.ORG' 2.365089 10/21 09:11 I 0 729106 AD server missing needed SPN(s) HOST/eyeglasstest.example.org, HOST/eyeglasstest, nfs/eyeglasstest.example.org, nfs/eyeglasstest; try 'isi auth ads spn check EXAMPLE.ORG'
Tras investigar, es posible que los SPN faltantes no tengan el mismo nombre que ninguno de los nombres de pool de red del clúster secundario.
Por ejemplo, si en el clúster de PowerScale A se muestran las alertas de SPN faltantes:
NOMBRE DEL CLÚSTER: clusterA
La comprobación del SPN informa los SPN faltantes:
clusterA-1# isi auth ads spn check EXAMPLE.ORG Possible missing SPNs: HOST/eyeglasstest.example.org HOST/eyeglasstest nfs/eyeglasstest.example.org nfs/eyeglasstest Possible extra SPNs: nfs/igls-original-eyeglasstest
Ninguno de los nombres de pool de red coincide, lo que se muestra mediante "isi network pools list -v". El SPN y el nombre del pool de red que faltan deben coincidir exactamente. Otros nombres similares no relacionados que contienen parte del SPN faltante no cuentan.
Pools de red del clúster A:
clusterA-1# isi network pools list -v ID: groupnet0.subnet0.pool0 Groupnet: groupnet0 Subnet: subnet0 Name: pool0 Rules: rule0 Access Zone: System Allocation Method: static Aggregation Mode: lacp Description: Initial 10gige-1 pool Firewall Policy: default_pools_policy Ifaces: 1:10gige-agg-1, 2:10gige-agg-1, 3:10gige-agg-1, 4:10gige-agg-1, 5:10gige-agg-1, 6:10gige-agg-1 IP Ranges: 172.20.14.41-172.20.14.46 IPv6 Perform DAD: No Rebalance Policy: auto SC Failover Policy: round_robin Static Routes: - NFSv3 RDMA RRoCE only: No SC Suspended Nodes: - SC Connect Policy: round_robin SC Zone: d8fs14.example.org SC DNS Zone Aliases: igls-ignore-vlan14.example.org SC Subnet: subnet0 SC TTL: 0 -------------------------------------------------------------------------------- ID: groupnet0.subnet1.Eyeglass_Pool Groupnet: groupnet0 Subnet: subnet1 Name: Eyeglass_Pool Rules: - Access Zone: EyeglassRunbookRobot Allocation Method: static Aggregation Mode: lacp Description: Firewall Policy: default_pools_policy Ifaces: 1:10gige-agg-1 IP Ranges: 172.20.15.6-172.20.15.6 IPv6 Perform DAD: No Rebalance Policy: auto SC Failover Policy: round_robin Static Routes: - NFSv3 RDMA RRoCE only: No SC Suspended Nodes: - SC Connect Policy: round_robin SC Zone: igls-original-eyeglasstest.example.org SC DNS Zone Aliases: igls-robot-oco.example.org SC Subnet: subnet1 SC TTL: 0 -------------------------------------------------------------------------------- ID: groupnet0.subnet1.pool0 Groupnet: groupnet0 Subnet: subnet1 Name: pool0 Rules: - Access Zone: prod Allocation Method: static Aggregation Mode: lacp Description: Firewall Policy: default_pools_policy Ifaces: 1:10gige-agg-1, 2:10gige-agg-1, 3:10gige-agg-1, 4:10gige-agg-1, 5:10gige-agg-1, 6:10gige-agg-1 IP Ranges: 172.20.15.41-172.20.15.46 IPv6 Perform DAD: No Rebalance Policy: auto SC Failover Policy: round_robin Static Routes: - NFSv3 RDMA RRoCE only: No SC Suspended Nodes: - SC Connect Policy: round_robin SC Zone: igls-original.example.org SC DNS Zone Aliases: igls-prod.example.org SC Subnet: subnet1 SC TTL: 0
Cuando comprueba el nuevo clúster primario, clusterB, puede encontrar el nombre del pool de SmartConnect que coincida con el SPN faltante. Este es el SPN al que se hace referencia en la alerta en el clúster secundario, clusterA.
NOMBRE DEL CLÚSTER: clusterB
Clúster de producción que tiene el SPN + nombre de pool:
clusterB-1# isi auth ads spn list EXAMPLE.ORG | grep -i eyeglasstest SPN ---------------------------------------------------- nfs/eyeglasstest nfs/eyeglasstest.example.org HOST/eyeglasstest HOST/eyeglasstest.example.org
El nombre del pool de redes del clúster primario
clusterB-1# isi network pools list -v ID: groupnet0.subnet1.Eyeglass_Pool Groupnet: groupnet0 Subnet: subnet1 Name: Eyeglass_Pool Rules: - Access Zone: EyeglassRunbookRobot Allocation Method: static Aggregation Mode: lacp Description: Used for Eyeglass test failover Firewall Policy: default_pools_policy Ifaces: 1:10gige-agg-1 IP Ranges: 172.29.28.5-172.29.28.5 IPv6 Perform DAD: No Rebalance Policy: auto SC Failover Policy: round_robin Static Routes: - NFSv3 RDMA RRoCE only: No SC Suspended Nodes: - SC Connect Policy: round_robin SC Zone: eyeglasstest.example.org <<<<<<<<<<<<<<<<<<< SC DNS Zone Aliases: igls-robot-rco.example.org SC Subnet: subnet1 SC TTL: 0
Cause
Superna usa el siguiente comando para agregar y quitar SPN. También especifican la cuenta de máquina asociada con el SPN en el dominio de AD.
2025-02-04T09:33:03,953 SSH /172.20.14.37 echo '[REDACTED]' | sudo -S -k -p "" isi auth ads spn delete EXAMPLE.ORG HOST/eyeglasstest.example.org --machine-account clusterA$ 2>&1;echo 0 2025-02-04T09:33:05,568 SSH /172.20.14.37 echo '[REDACTED]' | sudo -S -k -p "" isi auth ads spn delete EXAMPLE.ORG HOST/eyeglasstest --machine-account clusterA$ 2>&1;echo 0 2025-02-04T09:33:07,180 SSH /172.20.14.37 echo '[REDACTED]' | sudo -S -k -p "" isi auth ads spn delete EXAMPLE.ORG nfs/eyeglasstest.example.org --machine-account clusterA$ 2>&1;echo 0
Presentada en OneFS 9.5.1.1, la opción "--machine-account" del comando "isi auth ads spn create/delete" no funciona según lo previsto. Un comando con la marca configurada no quita los SPN adicionales del clúster secundario cuando se utiliza.
Resolution
La solución alternativa es eliminar manualmente los SPN del segundo clúster afectado mediante la CLI de ese clúster. Esto se debe realizar sin la opción "--machine-account" después de la conmutación por error/conmutación por recuperación de Superna. Los mensajes también se pueden ignorar con seguridad, ya que no hay necesidad del SPN faltante en el clúster secundario sin un nombre de pool de SmartConnect asociado.
# isi auth ads spn delete <SPN name> --zone=<nombre de la zona>