PowerScale:OneFS:一致するSmartConnectゾーン名(SCZN)のないSPNアラートが見つからない
Summary: クラスターが、任意のクラスターのSmartConnectゾーン名と一致するサービス プリンシパル名(SPN)について、Supernaフェールオーバーまたはフェールバック後にADサーバーに必要なSPNがないと報告しています。
Symptoms
プライマリーPowerScaleクラスターを指定するためにSupernaフェールオーバー/フェールバック プロセスが実行された後、セカンダリー クラスターに次のエラーが表示されることがあります。
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'
調査の結果、欠落しているSPNの名前が、セカンダリー クラスター上のネットワーク プール名と同じではないことが見つかる場合があります。
たとえば、PowerScale clusterAに欠落しているSPNアラートが表示された場合は、次のようになります。
クラスター名:clusterA
SPNチェックでは、欠落しているSPNが報告されます。
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
「isi network pools list -v」で示される一致するネットワーク プール名はありません。欠落しているSPNとネットワーク プール名は、完全に一致している必要があります。欠落しているSPNの一部を含む、他の無関係で類似した名前はカウントされません。
クラスター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
新しいプライマリー クラスターclusterBを確認すると、欠落しているSPNと一致するSmartConnectプール名を見つけることができます。これは、セカンダリー クラスターclusterAのアラートで参照されているSPNです。
クラスター名:clusterB
そのSPN + プール名を持つ本番クラスター:
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
プライマリー クラスターのネットワーク プール名
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では、次のコマンドを使用してSPNを追加および削除します。また、AD ドメイン内の SPN に関連付けられているマシン アカウントも指定します。
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
OneFS 9.5.1.1で導入された「isi auth ads spn create/delete」コマンドの「--machine-account」オプションが意図したとおりに機能しません。フラグが設定されたコマンドを使用すると、セカンダリー クラスターから余分なSPNは削除されません。
Resolution
回避策は、クラスターのCLIを使用して、影響を受ける2番目のクラスターからSPNを手動で削除することです。これは、Supernaフェールオーバー/フェールバック後に「--machine-account」オプションなしで実行する必要があります。また、SmartConnectプール名が関連づけられていなければ、セカンダリー クラスターでSPNが欠落している必要はないため、メッセージを無視しても問題ありません。
# isi auth ads spn delete <SPN name> --zone=<zone name>