Introduction
À partir de HyperFlex 4.0(2a), il existe un nouveau service de surveillance qui surveillera la résolution des noms d'hôte ESXi et SCVM. La commande show dns est utilisée par le processus watchdog pour déclencher une alarme/un événement si HX ne peut pas résoudre le nom d'hôte ou atteindre le serveur DNS. Ce document couvre la solution de contournement pour CSCvt13947 - Un ou plusieurs serveurs DNS ne répondant pas sur HX Connect for DNS Alert de la surveillance de l'état.
Conditions préalables
La condition préalable à cette résolution est Hyperflex Data Platform 4.0(2a).
Informations générales
Avec ce nouveau cadre, le nom d'hôte esxi et le nom d'hôte scvm doivent être dans DNS pour ne pas avoir ce déclencheur d'événement.
{
"message": "HX Controller VM {HOSTNAME} one or more configured DNS servers not responding",
"type": "NODE",
"name": "DnsServerOfflineEvent",
"severity": "warning"
},
Il y a également une alarme autour du DNS :
{
"name": "HXA-NOD-0009",
"description": "Triggered when one or more configured DNS servers on controller VM cannot be reached.",
"category": "warning",
"message": "One or more DNS servers configured on HX controller VM {HOSTNAME} not responding",
"triggeringEvents" : ["DnsServerOfflineEvent"],
"resetEvents" : ["DnsServerOnlineEvent"]
}
Voici un exemple des défauts que vous verrez dans HX Connect :
Voici la sortie correspondante de show dns :
root@SpringpathController3G4ZKOQ6SE:~# show dns
+------------------------------------------+------------------+--------------+---------------------------+
| DNS Name | Resolved Address | status | error |
+-------------------------------------------+------------------+--------------+---------------------------+
| HX01.rchs.local | None | Not Resolved | No DNS servers configured |
| HX04.rchs.local | None | Not Resolved | No DNS servers configured |
| HX03.rchs.local | None | Not Resolved | No DNS servers configured |
| HX02.rchs.local | None | Not Resolved | No DNS servers configured |
| SpringpathController3G4ZKOQ6SE.rchs.local | None | Not Resolved | No DNS servers configured |
| SpringpathController5DCAL5X6C2.rchs.local | None | Not Resolved | No DNS servers configured |
| SpringpathControllerWZ2X6H20SF.rchs.local | None | Not Resolved | No DNS servers configured |
| SpringpathControllerGR57QZVDED.rchs.local | None | Not Resolved | No DNS servers configured |
+-------------------------------------------+------------------+--------------+---------------------------+
Name Servers: ['172.16.199.101'], Search Domains: - rchs.local
Comme vous pouvez le voir, l'état de chacun n'est pas résolu et l'erreur est qu'aucun serveur DNS n'est configuré. Le serveur DNS de cette sortie est 172.16.199.101.
Si nous effectuons une recherche nslookup, nous voyons que le nom d'hôte SpringpathController3G4ZKOQ6SE ne résout pas.
root@SpringpathController5DCAL5X6C2:~# nslookup SpringpathController3G4ZKOQ6SE
Server: 172.16.199.101
Address: 172.16.199.101#53
** server can't find SpringpathController3G4ZKOQ6SE: SERVFAIL
Une fois que les noms d’hôte de la commande show dns sont ajoutés au DNS, show DNS affiche l’adresse résolue et l’état est Résolu :
root@SpringpathController3G4ZKOQ6SE:~# show dns
+-------------------------------------------+------------------+--------------+---------------------------+
| DNS Name | Resolved Address | status | error |
+-------------------------------------------+------------------+--------------+---------------------------+
| HX01.rchs.local | 172.16.10.45 | Resolved | - |
| HX04.rchs.local | 172.16.10.48 | Resolved | - |
| HX03.rchs.local | 172.16.10.47 | Resolved | - |
| HX02.rchs.local | 172.16.10.46 | Resolved | - |
| SpringpathController3G4ZKOQ6SE.rchs.local | 172.16.10.41 | Resolved | - |
| SpringpathController5DCAL5X6C2.rchs.local | 172.16.10.44 | Resolved | - |
| SpringpathControllerWZ2X6H20SF.rchs.local | 172.16.10.43 | Resolved | - |
| SpringpathControllerGR57QZVDED.rchs.local | 172.16.10.42 | Resolved | - |
+-------------------------------------------+------------------+--------------+---------------------------+
Name Servers: ['172.16.199.101'], Search Domains: - rchs.local
Solution de contournement
La solution de contournement consiste à désactiver la fonction de surveillance à l'aide des commandes ci-dessous.
root@hx-02-scvm-01:~# grep -i "monitor_dns_servers" /opt/springpath/hx-diag-tools/watchdog_config.json && sed -ie 's/"monitor_dns_servers": true/"monitor_dns_servers": false/' /opt/springpath/hx-diag-tools/watchdog_config.json && grep -i "monitor_dns_servers" /opt/springpath/hx-diag-tools/watchdog_config.json && restart watchdog
"monitor_dns_servers": true,
"monitor_dns_servers": false,
watchdog start/running, process 6350
root@hx-02-scvm-01:~#
Cette commande définit "monitor_dns_servers" sur false dans /opt/springpath/hx-diag-tools/watchdog_config.json et redémarre le service de surveillance.
Pour annuler la modification, exécutez la commande suivante sur chaque machine virtuelle de contrôleur de stockage :
root@hx-02-scvm-01:~# grep -i "monitor_dns_servers" /opt/springpath/hx-diag-tools/watchdog_config.json && sed -ie 's/"monitor_dns_servers": false/"monitor_dns_servers": true/' /opt/springpath/hx-diag-tools/watchdog_config.json && grep -i "monitor_dns_servers" /opt/springpath/hx-diag-tools/watchdog_config.json && restart watchdog
"monitor_dns_servers": false,
"monitor_dns_servers": true,
watchdog start/running, process 9473
root@hx-02-scvm-01:~#
Dans Hyperflex 4.0(2b), la fonction sera désactivée par défaut. Il est recommandé de rester désactivé jusqu'à nouvel ordre.