Ask CORE

Microsoft Japan Windows Technology Support

クラスター環境における特定のノードへの仮想マシンの移動失敗事象について

こんにちは。Windows プラットフォーム サポートの野村です。   今回は、Hyper-V クラスター環境において、クラスターに登録した仮想マシンがある特定のノードへ移動できなくなる事象についてご紹介いたします。     Hyper-V クラスターにおいて、ノード間での仮想マシンの移動は基本的に成功するにも関わらず、ある特定のノードへの移動時のみ失敗してしまう事象が発生したとの報告がございました。 この時、下記のエラーがイベント ログ (System、Microsoft-Windows-Hyper-V-Config-Admin) に記録されます。     ログの名前: System ソース: Microsoft-Windows-FailoverClustering イベント ID: 1069 タスクのカテゴリ: リソース コントロール マネージャー レベル: エラー ユーザー: SYSTEM 説明: クラスター化された役割 ‘×××’ の種類 ‘Virtual Machine Configuration’ のクラスター リソース ‘Virtual Machine Configuration ×××’ が失敗しました。エラー コード: ‘0x43’ (‘The network name cannot be found.’)。 リソースおよび役割のエラー ポリシーに基づいて、このノードでリソースをオンラインにする処理またはグループをクラスターの別のノードに移動した後に再起動する処理がクラスター… Read more

Windows Server 2012 R2 の Hyper-V クラスター環境で、非高可用性の仮想マシンを、オンラインの状態で高可用性の仮想マシンに構成する際の注意事項

こんにちは。Windows プラットフォーム サポートの加藤です。 本日は、Windows Server 2012 R2 の Hyper-V クラスター環境で、非高可用性の仮想マシンを、オンラインの状態で高可用性の仮想マシンに構成する際の注意事項についてご案内いたします。 ※ 非高可用性の仮想マシン = 仮想マシンリソースに登録されていない仮想マシン ※ 高可用性の仮想マシン = 仮想マシンリソースに登録されている仮想マシン Windows Server 2012 以降のクラスターでは、非高可用性の仮想マシンを、オンラインの状態で高可用性の仮想マシンに構成できます。 ※ 以前のバージョンでは、仮想マシンを一旦停止する必要がございました。 オンラインの状態で仮想マシンリソースに登録することは可能ですが、Windows Server 2012 R2 の環境では登録後に以下の事象が発生いたします。 1. 仮想マシンの NIC の構成を変更することができない。 2. 仮想マシンの再起動時に、仮想マシンリソースが障害ステータスとなる。 1 の事象は、仮想マシンの NIC の構成 (VLAN ID や帯域幅管理など) の変更を実施すると以下のエラーが発生し、変更に失敗します。 2 の事象は、以下のイベントが記録され仮想マシンリソースが一旦障害ステータスとなります。 —————– ソース: Microsoft-Windows-Hyper-V-VmSwitch イベント ID: 32 レベル: エラー 説明: Failed… Read more

Hyper-V クラスター環境で全ノードが停止する際の仮想マシンの状態移行について

本日は、Hyper-V クラスター環境で全ノードで、クラスター サービスを停止させる場合の仮想マシンの状態について説明します。   全ノードでクラスター サービスが停止される場合にはクラスターはすべてのリソースに対してオフライン作業を実施します。そのため、仮想マシン リソース内部の状態については、“クラスター制御されたオフライン操作” というプロパティの値で決められた設定に従います。   <参考> 仮想マシンの <リソース名> プロパティ : [設定] タブ https://technet.microsoft.com/ja-jp/library/dd834728(v=ws.11).aspx       ———————— 保存 : 仮想マシンをオフラインにする前に、クラスターで仮想マシンの状態を保存します。これにより、仮想マシンがオンラインに戻ったときにこの状態を復元できるようにします。これは既定の設定です。   シャットダウン : 仮想マシンをオフラインにする前に、仮想マシン上のオペレーティング システムのシャットダウンをクラスターで適切な順序で実行します (すべてのプロセスが終了するのを待機する)。   シャットダウン (強制) : 反応が遅いプロセスが終了するのを待たずに、仮想マシン上のオペレーティング システムのシャットダウンをクラスターで実行し、仮想マシンをオフラインにします。   停止 : 仮想マシンをオフラインにする前に、オペレーティング システムをシャットダウンせずにクラスターで仮想マシンを停止します。この操作は電源をオフにする場合と同じであり、データが失われる可能性があります。 ————————   “クラスター制御されたオフライン操作” は、仮想マシン リソースをオフラインにするときにクラスターが実行する操作です。 この設定については Windows PowerShell またはアプリケーションを使用してリソースを移動する場合や、リソースをオフラインにする場合のみ影響し、ライブ マイグレーション、クイック マイグレーション、または計画外のフェールオーバー時には影響しません。   また、ノード (Hyper-V… Read more

クラスター ログにおける MSMQ エラーについて

こんにちは。Windows プラットフォーム サポートの野村です。今回はクラスター ログに記録される MSMQ エラーについてご紹介します。 PowerShell の Get-ClusterLog コマンドレットまたは、管理者権限のコマンドプロンプトにて cluster log /g を実行することでクラスター ログを生成できます。生成したログを確認すると以下のエラーが記録されていることがございます。 ERR   [RHS] s_RhsRpcCreateResType: ERROR_NOT_READY(21)’ because of ‘Startup routine for ResType MSMQ returned 21.’ WARN  [RCM] Failed to load restype ‘MSMQ’: error 21. ERR   [RHS] s_RhsRpcCreateResType: ERROR_NOT_READY(21)’ because of ‘Startup routine for ResType MSMQTriggers returned 21.’ WARN  [RCM] Failed to load… Read more

Windows Server 2012 R2 におけるネットワーク障害からの仮想マシンの復旧について

こんにちは。Windows プラットフォーム サポートの野村です。今回は、Windows Server 2012 R2 の新機能である “保護されているネットワーク” により、ネットワーク障害から仮想マシンが復旧するシナリオについてご紹介します。 Windows Server のフェールオーバー クラスターの機能は仮想マシンの実行状態、およびクラスター ネットワークとクラスター ストレージの正常性をを常時監視しています。さらに、仮想マシンのネットワークと仮想スイッチの接続の障害検知も行います。 Windows Server 2012 R2 では、ネットワーク障害が発生した場合にライブ マイグレーションによって、仮想マシンをフェールオーバー クラスターの他のノードに移動させる新機能を導入しました。これにより、仮想マシン内で起動しているサービスが中断してしまうようなネットワーク障害が発生した場合でも、仮想マシンをネットワーク アクセスが提供できるノードへ移動することで、可用性を向上させることができます。既定では、この機能を提供するプロパティである [保護されているネットワーク接続] が全ての仮想ネットワーク アダプターにおいて有効になっています。 なお、ライブ マイグレーション先のノードにおいて使用可能なネットワークが無い場合、上述の仮想マシンのライブ マイグレーションは実行されません。これは、そもそもライブ マイグレーションを開始させるリソースを所有していないノードへ仮想マシンが移動することを避けるためです。クラスター ノード上の必要なネットワークとシステム リソースが利用可能である限り、そのノードは仮想マシンの移動先として選択されます。 また、同時にライブ マイグレーションが可能な仮想マシンの台数には制限があります。ホスト上のネットワーク障害により影響を受ける仮想マシンが、同時ライブ マイグレーション可能台数よりも多い場合、仮想マシンのライブ マイグレーションは一旦キューに登録されます。ネットワーク障害が復旧し再び利用可能になると、ライブ マイグレーション キューに登録されている仮想マシンのライブ マイグレーションはキャンセルされます。 [保護されているネットワーク接続] のプロパティは、仮想マシンのネットワーク アダプターの設定では [高度な機能] の新しいプロパティです。このプロパティにより、ネットワーク障害が起きた際に、仮想マシンを他のノードへ移動させて可用性を保つための重要なネットワーク アダプターにするかどうかを選択することができます。 例えば、仮想マシンに外部ネットワークとバックアップとして使用するネットワークの 2 つの仮想スイッチが接続されている場合、バックアップ用ネットワーク アダプターに対してプロパティを無効にし、外部用ネットワークに対して有効にする、といった仮想ネットワーク アダプター単位の設定が可能です。この場合、もし、バックアップ用ネットワークに障害が発生しても、仮想マシンは移動しませんが、外部用ネットワークに障害があった場合、仮想マシンはネットワークが有効なノードにライブ マイグレーションされます。 なお、多くのネットワーク障害のシームレスな処理および冗長性確保のためにも、運用に際して重要なネットワークに対してはネットワーク チーミングを使用することを推奨しています。   <シミュレーション>… Read more

Windows Server 2012 R2 の "保護されているネットワーク" について

こんにちは。Windows プラットフォーム サポートの野村です。今回は、Windows Server 2012 R2 の Hyper-V における新機能の一つである "保護されているネットワーク" についてご紹介いたします。 この “保護されているネットワーク” を設定することで、仮想マシンの仮想ネットワーク アダプターで切断が検知された場合、その仮想マシンは自動的に別の Hyper-V ホストに移動します (※この機能は、Hyper-V クラスタリングを構成している場合に機能します)。 "保護されているネットワーク" は Hyper-V の仮想マシンの設定ウインドウにて、対象の [ネットワーク アダプター] の[高度な機能]を展開して設定することができ、既定では有効化されています。そのため、Windows Server 2012 R2 において、仮想マシンに追加されたネットワーク アダプターは、いずれも保護されているネットワーク アダプターとして自動的に構成されます。   “保護されているネットワーク” の設定がされた仮想マシンにおいて、仮想ネットワーク アダプターと紐づいている仮想スイッチの物理 NIC に切断が検知された場合、その仮想マシンのライブ マイグレーションが行われます。この動作が実行される前には、移動先の Hyper-V ホストの仮想スイッチが正常にネットワークに接続されていることを確認します (※移動先のHyper-V ホストのスイッチでネットワーク障害を検知して、仮想マシンのライブ マイグレーションが何度も行われることを避けるためです)。 “保護されているネットワーク” が設定されていない場合、仮想ネットワーク アダプターと紐づいている仮想スイッチの物理 NIC に障害が発生しても、仮想ネットワーク上では障害の発生を検知できないため、仮想マシンのセッションの維持に影響を及ぼします。 従いまして、この "保護されているネットワーク" の機能を有効にすることで、ライブ マイグレーションにより仮想マシンのセッション状態を維持できるため、ダウンタイムが生じなくなり、より高いレベルでネットワークの可用性を維持することができます。   <参考情報>… Read more

Windows Server 2012 R2 のクラスターの共有ボリュームにおける Defrag および Chkdsk コマンドの実行について

こんにちは。Windows プラットフォーム サポートの野村です。今回は、Windows Server 2012 R2 のフェールオーバー クラスター環境のクラスターの共有ボリューム (CSV) における Defrag および Chkdsk コマンドの実施方法についてご案内いたします。 クラスターの共有ボリューム (CSV) とは、1 つの論理ボリュームに対して複数のクラスター ノードからアクセス可能になる技術です。Windows Server 2012 R2 では、ディスクを NTFS または Resilient File System (ReFS) として、リソースを割り当てることができます。 CSV でない通常のボリュームと同様に、CSV のファイル システムに対してデフラグまたは Chkdsk の実行が必要となる場合があります。以下に、CSV にてデフラグおよび Chkdsk を行う際の推奨される手順をご案内いたします。   ================================== CSV における Defrag コマンドの実行手順 ================================== CSV におけるファイルの断片化はシステムのパフォーマンスに影響を及ぼします。従いまして、定期的に CSV にデフラグを実行することにより、ボリューム上の断片化したファイルを統合することを推奨いたします。 スタンドアロン サーバーにおけるデフラグは、メンテナンス タスクとして自動的に実行されますが、CSV においてはデフラグは自動的に実行されません。よって、手動またはスクリプトにて実行する必要があります。なお、デフラグの実行はシステムのパフォーマンスに影響を与える可能性があるため、システムの負荷が少ない時間帯に実施することを推奨いたします。  … Read more

フェールバックの動作について

こんにちは。Windows プラットフォーム サポートの加藤です。本日は、フェールオーバー クラスターの機能のひとつであるフェールバックについてご紹介させていただきます。 ■フェールバックとはフェールバックとは、障害が発生したノードが再び利用できる状態になった時点で、フェールオーバーにより移動したサービスまたはアプリケーションが既定のノードへ自動的に移動する設定です。既定値では無効となっていますが、[フェールバックを許可する] を有効にすることで設定いただくことができます。 以下、フェールバックの動作について Node 1 , Node 2 の 2 台のノードでクラスターを構成する環境を例にご紹介させていただきます。 (1) 通常稼働状態 通常時の構成は、下記の図のように仮想マシンを 2 台ずつそれぞれのノードがホストする構成です。仮想マシン 1 (VM 1 :以下仮想マシンは VM と記載)、VM 2 は優先所有者を Node 1 として [フェールバックを許可する] を設定しています。 Node 1 : VM 1、VM 2Node 2 : VM 3、VM 4 (2) 障害の発生 (クラスター サービスの停止) Node 1 で何らかの障害が発生し、Node 1 のクラスター サービス (または OS… Read more

Azure 上でフェールオーバー クラスターを構築する際の留意事項について

こんにちは。Windows プラットフォーム サポートの加藤です。 本日は、Azure 上でフェールオーバー クラスターを構築する際の留意事項についてご案内します。最近、Azure 上の仮想マシンで構築したフェールオーバー クラスターがハートビート通信のダウンでフェールオーバーが発生する報告がございました。 ハートビート通信とは、ノード間で実施される通信で、目的はノード間ネットワークの死活監視です。全てのハートビート通信がダウンすると相手ノードが停止したと判断します。フェールオーバー クラスターのハートビート通信のタイムアウトの閾値の既定値は 5 秒であり、これを超えてもハートビート通信ができない場合には、相手ノードのダウンと判断され、停止したノードがアプリケーションのオーナーノードであった場合には、そのアプリケーションは他のノードへフェールオーバーされます。 – 参考フェールオーバー クラスターのハートビートについてhttp://blogs.technet.com/b/askcorejp/archive/2012/03/22/3488080.aspx Azure 環境では、後述の計画的なメンテナンス時に 30 秒ほど仮想マシンが一時停止する場合がございます。30 秒間クラスター ノードが停止すると、もう一方のクラスター ノードは、一時停止しているノードとハートビート通信が実施できない状況に陥り、上述の事象が発生します。 ========================================Azure Virtual Machines に対する計画的なメンテナンスhttps://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-planned-maintenance/該当箇所を抜粋します。 Microsoft Azure の更新のクラスの場合、実行中の仮想マシンに何らかの影響があってもお客様にはわかりません。これらの更新の多くは、実行中のインスタンスに干渉することがなく更新可能なコンポーネントまたはサービスを対象にしています。これらの更新の一部は、ホスト オペレーティング システムのプラットフォーム インフラストラクチャに対する更新であり、仮想マシンの完全な再起動を必要とせずに適用できます。 これらの更新は、ライブ移行 ("メモリ保護" 更新) を実現するテクノロジによって達成されます。更新時、仮想マシンは "一時停止" 状態になり、RAM 内のメモリは保護されます。この状態で、基礎となるホスト オペレーティング システムが必要な更新プログラムと修正プログラムを受信します。仮想マシンは、30 秒以内の一時停止で再開されます。再開後、仮想マシンのクロックは自動的に同期されます。 このメカニズムを使用してすべての更新をデプロイできるわけではありませんが、一時停止の期間が短い場合、この方法で更新をデプロイすることにより、仮想マシンへの影響が大幅に軽減されます。 複数インスタンスの更新 (可用性セット内の仮想マシンの場合) が、一度に 1 つの更新ドメインに適用されます。======================================== フェールオーバーの発生自体は、クラスター上のアプリケーションを救うための正常な動作ですが、Azure メンテナンス時に極力フェールオーバーの発生を抑えたい場合には、このハートビートの閾値を事前に延長しておくことをお勧めいたします。 具体的な設定値につきましては、クラスター上のアプリケーションの停止時間がどの程度まで許容できるかによって異なります。例えば 20 秒間の停止では、クラスター上のアプリケーションを使用したシステムに影響を及ぼさないのであれば、ハートビートの閾値を 21 秒に延長することで、Azure… Read more

フェールオーバー クラスターにディスク リソースが追加できない。

こんにちは。Windows プラットフォーム サポートの加藤です。 本日は、フェールオーバー クラスターにディスク リソースが追加できない事象について、ご案内します。 フェールオーバー クラスターにディスク リソースを追加するためには、以下の要件に合致する必要があります。 1. 共有ストレージが SCSI-3 の Persistent Reservation (永続的な予約) に対応している。2. MBR or GPT 形式で初期化されている。3. ダイナミック ディスクではなくベーシック ディスクを使用している。4. 全ノードで同一のディスク (LUN) が認識されている ※ ディスク (LUN) の認識状況は [ディスクの管理] コンソールで確認可能です。 しかしながら、上記の要件を満たしており、構成が正しいにも関わらず、フェールオーバー クラスター マネージャーで「ディスクの追加」ボタンをクリックしても、追加可能なディスクが無いメッセージが表示され、ディスク リソースが追加できない事象の報告がありました。 この事象では、当該ディスク (LUN) 上に、何らかの原因で前述の Persistent Reservation (永続的な予約) が残っていたために、新たに Persistent Reservation (永続的な予約) ができなくなり、その結果ディスク リソースの追加ができない状況に陥っていました。 クラスターは、Persistent Reservation (永続的な予約) を使用して、ディスクの所有権を管理するため、予約ができないディスクはクラスターに追加できません。 弊社過去事例では、ストレージの障害発生後に、ストレージ側で復旧処理を実施し、ディスク リソースをクラスターに再度登録しようとした際に本問題が発生していました。… Read more