Introduzione
A partire da HyperFlex 4.0(2a), è disponibile un nuovo servizio di watchdog che monitora la risolvibilità dei nomi host ESXi e SCVM. Il comando show dns viene utilizzato dal processo di watchdog per attivare un avviso o un evento se HX non è in grado di risolvere il nome host o di raggiungere il server DNS. Questo documento illustra la soluzione alternativa per CSCvt13947 - Uno o più server DNS che non rispondono alla connessione HX per l'avviso DNS del monitoraggio dello stato.
Prerequisiti
Il prerequisito per risolvere il problema è Hyperflex Data Platform 4.0(2a).
Premesse
Con questo nuovo framework, il nome host esxi e il nome host scvm devono essere in DNS per non avere questo trigger di evento.
{
"message": "HX Controller VM {HOSTNAME} one or more configured DNS servers not responding",
"type": "NODE",
"name": "DnsServerOfflineEvent",
"severity": "warning"
},
Esiste anche un allarme relativo al 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"]
}
Di seguito è riportato un esempio dei guasti che si verificano in HX Connect:
Di seguito è riportato l'output del comando show dns corrispondente:
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
Come si può vedere, lo stato di ogni server è Non risolto e l'errore è che non è stato configurato alcun server DNS. Il server DNS in questo output è 172.16.199.101.
Se si esegue una ricerca nslookup, il nome host SpringpathController3G4ZKOQ6SE non viene risolto.
root@SpringpathController5DCAL5X6C2:~# nslookup SpringpathController3G4ZKOQ6SE
Server: 172.16.199.101
Address: 172.16.199.101#53
** server can't find SpringpathController3G4ZKOQ6SE: SERVFAIL
Dopo aver aggiunto i nomi host nel comando show dns a DNS, il comando show DNS visualizzerà l'indirizzo risolto e lo stato sarà Resolved:
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
Soluzione alternativa
Per risolvere il problema, disabilitare la funzione di monitoraggio usando i comandi seguenti.
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:~#
Questo comando imposterà "monitor_dns_servers" su false in /opt/springpath/hx-diag-tools/watchdog_config.json e riavvierà il servizio watchdog.
Per annullare la modifica, eseguire il comando seguente su ciascuna VM del controller di storage:
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:~#
In Hyperflex 4.0(2b), la funzione è disabilitata per impostazione predefinita. Si consiglia di non attivarlo fino a nuovo avviso.