この記事では、Hyper-V のゲスト クラスター ノードで作成または参加できない可能性がある問題の回避策について説明します。
元の KB 番号: 2872325
現象
仮想マシンで実行されているフェールオーバー クラスター ("ゲスト クラスター" とも呼ばれます) は、クラスターに参加しているノードに問題がある可能性があります。
クラスターの作成ウィザードを使用すると、クラスターの作成に失敗する場合があります。 さらに、ウィザードのレポートには次のメッセージが表示される場合があります。
クラスターの作成時にエラーが発生しました。
クラスター '<clustername>' の作成中にエラーが発生しました。
タイムアウト期間の有効期限が切れたため、この操作が返されました
注
上記のエラーは、クラスター作成の一部として指定されたサーバー間の通信が完了しない場合にも表示されます。 既知の原因については、この記事で説明します。
一部のシナリオでは、VM が同じノードでホストされている場合、クラスター ノードが正常に作成され、参加します。 ただし、VM が別のノードに移動されると、ゲスト クラスターのノード間の通信は失敗し始めます。 そのため、クラスターのノードがクラスターから削除される可能性があります。
原因
この問題は、ホストのネットワーク アダプターにバインドされているフェールオーバー クラスター コンポーネントが原因で、VM が Windows Server 2012 フェールオーバー クラスター ノードでホストされている場合に、仮想マシンに到達しないパケットが原因で発生する可能性があります。 コンポーネントは "Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" と呼ばれ、Windows Server 2012 で初めて導入されました。
この問題は、仮想マシンでホストされているクラスター ノードにアドレス指定されたネットワーク パケットにのみ影響します。
回避策
Windows Server 2012 フェールオーバー クラスターがゲスト クラスターの一部である仮想マシンをホストする場合は、Windows Server 2012 フェールオーバー クラスター ノード上のすべての仮想スイッチ ネットワーク アダプターから "Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" オブジェクトのバインドを解除することをお勧めします。
注
この問題は、ゲスト クラスターとして仮想マシン内で実行されている Windows Server フェールオーバー クラスターのバージョンに影響する可能性があります。 この記事の原因と回避策に記載されている情報は、仮想マシンのホストに使用される Windows Server 2012 フェールオーバー クラスターに固有です。
次のいずれかの方法を使用して、"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" オブジェクトを無効にすることができます。
GUI を使用した無効化
Network 接続を開いて、ネットワーク アダプターの一覧を取得します。 "vEthernet" (既定の名前) を持つすべてのネットワーク アダプターは、仮想ネットワーク (仮想スイッチ) です。 Hyper-V 仮想アダプターも構成されている物理アダプターには、"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" バインドがないため、これらのアダプターに対して無効にする必要はありません。
- いずれかの "v" アダプターを右クリックし、メニューから Properties を選択します。
- [Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター] というラベルの項目をオフにします。
- OKをクリックしてダイアログを閉じ、チェックされていない項目のバインドを無効にします。
- すべてのアダプターに対して繰り返します。
Windows PowerShell を使用した無効化
次のプロセスでは、"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" のためにバインドされているネットワーク アダプターが、Componentid が "vms_mp" のサーバー上のすべてのアダプターで無効になります。 この Componentid は、アダプターが仮想スイッチで使用される Hyper-V アダプターであることを示します。
このプロセスは、サーバーの各ノードで実行して、すべてのサーバーが仮想スイッチで使用されるアダプターに対してバインドを無効にすることができます。
[管理者として実行]オプションを使用して、管理者アクセス権を持つ Windows PowerShell コンソール開きます。
次の手順を実行します:
Get-netadapter | Disable-NetAdapterBinding -DisplayName "Microsoft Failover Cluster Virtual Adapter Performance Filter"
注
もう一度バインディングを有効にする場合は、"Disable-NetAdapterBinding" を "Enable-NetAdapterBinding" に置き換えます。
"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" 項目がバインドされているネットワーク アダプターを確認するには、次のプロセスを実行します。
PS C:\Windows\system32> 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
各アダプターのバインドの "Enabled" プロパティは "False" です。これは、そのアダプターにバインドされていないことを意味します。
詳細
Windows Server 2012 フェールオーバー クラスターには、"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" と呼ばれるネットワーク アダプターにバインドされているコンポーネントがあり、仮想マシン内のクラスター ノードにアドレス指定されたパケットの一部が仮想マシンに到達しない可能性があります。 ノードが仮想マシン内のクラスターに参加しているときにこの問題が発生した場合、クラスターに正常に追加できないか、クラスターに参加できない可能性があります。
"Microsoft フェールオーバー クラスター仮想アダプター パフォーマンス フィルター" コンポーネントは、クラスターのノード間でクラスター固有の通信をルーティングするために、フェールオーバー クラスター NetFT 仮想アダプターによって使用されます。 この項目は、NetFT が機能するためにバインドを有効にする必要はありません。 そのため、Windows Server 2012 を実行している Hyper-V ホストの場合は、フェールオーバー クラスターのメンバーである Hyper-V ホストのすべてのアダプターで、このコンポーネントのバインドを無効にすることをお勧めします。