DNSの変更を行った際のESXi 5.5以降でのDNSキャッシュのクリア手順

DNSの変更を行った場合に、クライアントが古い情報を保持してしまい、名前解決に失敗する場合があります。その場合は、クライアント側でDNSキャッシュをクリアにする事で、解決できるようになります。


同様に、ESXiでも、DNSキャッシュをクリアにする作業が必要になります。そして、このDNSのキャッシュクリアの手順は以下のKBに書かれています。

>>VMware ESXi 5.5 以降のホストにおける DNS キャッシュのクリア (2123945) 


例えば、DNS サーバのAレコードを変更すると、以下のような事象が発生します。


・ESXi 5.5 以降のホストは、変更された A レコードに関連付けられている名前を引き続き古いアドレスに解決する。
・調査により、問題のホストが古いアドレスを使用し、DNS サーバは名前をその新しいアドレスに解決していることが確認される。



この問題は、DNSサーバでIPアドレスが変更されてからESXi ホストがしばらく変更を同期しない場合に発生します。


また、ESXiの動作としては、ネットワークをトラバースする DNS 解決要求の数を減らすために、ESXi ホストの DNS クライアントは DNS キャッシュを維持します。


ESXi ホストが解決済みの名前を既にキャッシュしているときにその IP アドレスが DNS サーバで変更された場合、ESXi はその変更を通知されず、IP アドレスは、しばらくの間、正しくないものになります。


こういった変更がある場合には、DNSキャッシュをクリアする事で、ESXi ホストが次回この名前にアクセスする際に DNS サーバにクエリを実行するようになります。


その結果、正しい IP アドレスを含むキャッシュ エントリが ESXiホストで追加されますとの事なので、Windowsのクラインと同様にDNSサーバー側で変更した場合は、ESXiホスト側でもDNSキャッシュクリアを実施します。



SSH またはローカル Tech Support モードのコンソールを使用して ESXi にログインします。 
②コマンド ラインから次のコマンドを実行して、nscd サービスを再起動します。

 

# /etc/init.d/nscd restart


以上でDNSキャッシュクリアは完了になります。コマンド実施後、正常に名前解決ができることを確認します。