ゲスト クラスターの構築がタイムアウトで失敗する

こんにちは。Windows プラットフォーム サポートの加藤です。

 

最近、Windows Server 2012 の Hyper-V クラスター上の仮想マシンを利用したゲスト クラスターの構築時、またはノードの追加時にタイムアウトで失敗するというお問い合わせをいただくことがございます。

この問題は、クラスターの作成、または、ノードの追加の際に、ノード間通信のパケットがドロップしてしまい、相手ノードに届かないために発生します。

なお、ゲスト クラスターの対向ノードが同じホスト クラスターのノード上にいる場合には、発生しません。
そのため、同じホスト クラスターのノード上でゲスト クラスターを構築を完了後、一部のゲスト クラスターのノードを他のノードへ移動させるとノード間通信が失敗します。

Ping テストなどによるホスト間の物理ネットワークの疎通確認で問題が無い場合、Hyper-Vホストの物理 NIC にバインドされた、以下の項目を無効にすることで回避できる可能性があります。

 

Microsoft Failover Cluster Virtual Adapter Performance Filter

上記項目は、CSV のリダイレクト アクセスのパフォーマンスを向上させるためのコンポーネントです。

この問題は、上記コンポーネントが、ゲスト クラスター間の通信をドロップしてしまい、相手ノードに届かない事例が報告されております。

必須の機能では無いため、Hyper-V クラスター上のゲスト クラスターを構築する際には、無効化することをお勧めします。

 

- 参考

----------

Use Cluster Shared Volumes in a Windows Server 2012 Failover Cluster

https://technet.microsoft.com/ja-jp/library/jj612868.aspx

 

Microsoft Failover Cluster Virtual Adapter Performance Filter. This setting improves the ability of nodes to perform I/O redirection when it is required to reach CSVs, for example, when a connectivity failure prevents a node from connecting directly to the CSV disk. For more information, see About I/O synchronization and I/O redirection in CSV communication in this topic.

----------

 

バインドの解除は上記の GUI からチェックを外していただく方法以外に、Windows PowerShell を使用して無効できます。

 

以下の Windows PowerShell コマンドで、全ての物理 NIC からバインドを解除できます。

 

Get-netadapter | Disable-NetAdapterBinding -DisplayName "Microsoft Failover Cluster Virtual Adapter Performance Filter"

 

以下のコマンドで、バインド状態を確認できます。

 

Get-NetAdapterBinding | Where-Object {$_.DisplayName -eq "Microsoft Failover Cluster Virtual Adapter Performance Filter"} | FT Name,DisplayName,Enabled

Name DisplayName Enabled
------- --------------- ----------
vEthernet Microsoft Failover Cluster Virtual A... False
vEthernet 2 Microsoft Failover Cluster Virtual A... False
vEthernet 3 Microsoft Failover Cluster Virtual A... False
Ethernet 3 Microsoft Failover Cluster Virtual A... False
Ethernet 2 Microsoft Failover Cluster Virtual A... False
Ethernet Microsoft Failover Cluster Virtual A... False

 

 

Microsoft Failover Cluster Virtual Adapter Performance Filter を解除しても、現象が回避できない場合には、チーミングの解除で回避できた報告もございますので、切り分けのためにチーミングの解除をお願いします。

また、ホスト クラスターのノードで LBFO (load balancing and failover) を使用している場合、使用している NIC によっては、以下のオフロード機能が有効になっていると同様にノード間通信が失敗する事例が報告されております。

checksum offload
large send offload (LSO)

そのため、LBFO (load balancing and failover) を使用している環境であれば、切り分けのために以下の PowerShell のコマンドで無効化をお願いします。
※ 変更時に通信が一時的に切れるため、実行するノード上の仮想マシンをすべて他のノードに移動させ、当該ノード上のクラスター サービスを停止してから実行をお願いいたします。

無効化のコマンド (すべての NIC で無効になります。)
==============================================
checksum offload の無効化
---------------------------------------
Disable-NetAdapterChecksumOffload -Name *

large send offload (LSO) の無効化
--------------------------------------
Disable-NetAdapterLso –Name *

現在の設定の確認 (すべての NIC の設定を確認します。)
==============================================
checksum offload
------------------------
Get-NetAdapterChecksumOffload

large send offload (LSO)
------------------------
Get-NetAdapterLso

Guest Cluster nodes in Hyper-V may not be able to create or join
https://support.microsoft.com/kb/2872325