はじめに
IBM CloudのVMware SolutionsにおけるVCS version 4.8のrelease notesには、
VMware ESXi firewall configuration for NFS - issue fixed
IBM Cloud identified a problem with the VMware ESXi firewall configuration for NFS feature, which might cause some firewall rules to be lost during the update. This problem is now fixed.
という記述があった。この仕様変更についてまとめてみた。こちらのIBM Cloud docs: Why did my host lose connection to my NFS datastore?も参照のこと。
以前の仕様
以前のVCSでは、下記画像のようにESXi FirewallにてNFS Clientのoutgoingの許可IPアドレスをピンポイントで指定していたようだ。File Storage(NFS)のFQDNは本来複数のIPアドレスを返すが、/etc/hosts
にてその内の1つにのみ制限している。もしここで指定したFile StorageのIPアドレスが計画メンテナンスで一時的にアクセスできなくなった場合は、File Storage上のVMが全停止する可能性があった。
[root@host0:~] cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
10.193.72.206 host0.vcs65.ibm.local host0
10.201.206.43 fsf-tok0501b-fz.service.softlayer.com
VCS v4.8での変更内容
以下のように、ESXi Firewallではsubnetレベルで指定し、DNSを使って名前解決したIPアドレスにアクセスするように構成されている。
[root@vcs48000:~] cat /etc/hosts
# Do not modify this file directly, please use esxcli.
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
10.192.64.2 vcs48000.ibm.vcs.local vcs48000
以下は注意点である。
- VCS環境では、vCenter/ESXi/NSXなどの名前解決を行うために、Classic Infrastrutureで用意されている
10.0.80.11
/10.0.80.12
のシステム提供のDNSではなく、ユーザー独自のAD/DNSサーバーを利用している(このAD/DNSでは、VCS独自のDNSレコード以外を10.0.80.11
/10.0.80.12
を参照するように構成している。この記事のDNS構成情報も参考のこと)。よって、このAD/DNSサーバーにアクセスできないと(こうしたコンポーネントにもアクセスできないし)ストレージアクセスのための名前解決もできない。 - VCSでは注文時にAD/DNSとして
VSI 1台構成
もしくは、ESXi上のVM2台構成
のいずれかを選択できる。-
VSI 1台構成
だと、AD/DNSがSPOFになる。よって、もう一台AD/DNSサーバーを増やした方が良い。 -
ESXi上のVM2台構成
ではSPOFにはならないが、どちらもFile Storage(NFS)上に構成されている。そのため、万が一両方のVMが停止してしまうと、NFSアクセスするための名前解決を提供するDNSサーバーにアクセスできなくなり、結果としてESXiからFile Storageもマウントできなくなってしまう。つまり、VCS環境を起動できなくなる。そのため、AD/DNSサーバーは必ず1台は起動させた状態でメンテナンスをすること。IBM Cloud docs: Why did my host lose connection to my NFS datastore?にも書かれているように、万が一両方のVMが停止してしまった際には、一時的にESXiホストの/etc/hostsに従来のように名前解決するための設定を入れるなどの回避策で緊急避難的に起動できるが、こういう事態を避けるためには、もしかしたら片方のVMはFile Storageではなくローカルディスクに配置した方が安全なのかもしれない。
-
If all your directory controllers are offline, then storage mounts might fail. To recover from this situation, temporarily add entries to /etc/hosts for the storage volume. To reduce the likelihood of this situation, you can create extra domain controllers or move at least one of your domain controllers from shared storage to local storage.