本記事はマイクロソフト社員によって公開されております。
いつも弊社製品をご利用いただきまして誠にありがとうございます。
Windows Commercial Support Storage and High Availability チームです。
今回は、WSFC 環境において クラスター起動後に一度もオンライン状態に遷移していない CSV(Cluster Shared Volume) に対して「記憶域の検証(クラスター検証のテスト項目の一つ)」を実行すると失敗する問題についてご案内させていただきます。
対象 OS
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
概要
WSFC 環境では、クラスターを構成するノードのハードウェアやソフトウェアが WSFC の要件に沿っているか確認するための機能として「クラスターの検証」があります(その中に「記憶域」に対するテスト項目が含まれており、以降「記憶域の検証」と記載します)。本機能は主にクラスター構築時に利用されますが、システム運用中に物理ディスクの交換等を行った後に利用される場合もございます。
今回ご報告する事象は、クラスター起動後に一度もオンライン状態に遷移していない CSV に対して「記憶域の検証」を実行した場合に、予期せず検証が失敗する問題です。本事象が発生した場合には記憶域の検証中に 6 分程度の待機時間が発生し、最終的に検証が失敗する動作となります(6 分の待機時間が複数回発生し、6 の倍数分の待機時間が発生するケースもございます)。
本事象に該当した場合のエラー メッセージは複数ございますが、多くの場合は「ディスク フェールオーバー検証」または「同時フェールオーバー検証」のテスト項目において、以下のメッセージが表示されます。
メッセージ例1:
ノード xxxxxxxx にはテスト ディスク n の SCSI PR が保持されており、ディスクがオンラインになりましたが、パーティション テーブル エントリ m に対してファイル データを書き込むことができませんでした。グループまたはリソースは要求した操作の実行に適切な状態ではありません。
メッセージ例2:
ノード xxxxxxxx にはテスト ディスク n の SCSI PR が保持されており、ディスクがオンラインになりましたが、パーティション テーブル エントリ m のファイル データを読み取って検証することができませんでした。グループまたはリソースは要求した操作の実行に適切な状態ではありません。
なお、本事象は通常のクラスターディスク(CSV 未設定)であれば発生いたしません。そのため、クラスター構築時の初期の検証時には発生しませんが、CSV 構成後に「記憶域の検証」を実行した場合(前述のディスク交換後等)に発生する場合がございます。
原因
「記憶域の検証」では、OS のコンポーネントである Mount Manager が対象クラスターディスクを認識しているかを確認しています。
一方で、CSV は内部的に hidden volume として扱われ Mount Manager には通知されないように実装されているため、CSV として処理を進めると検証プロセスを通過することができません。そのため、「記憶域の検証」を実行した場合には、対象ディスクが CSV であっても通常のクラスター ディスク(≠CSV)” として検証を行っております。
しかしながら、クラスター起動から約 3 分経過後に一度もオンラインになっていない CSV を検出すると、クラスターのコンポーネントは強制的に”CSV” であることを示すフラグを内部でセットします(通常、クラスター ディスクがオフライン状態の場合には CSV であろうとこのフラグは解除されていますが、強制的にセットされます)。この状態で記憶域の検証を実行すると、通常のクラスター ディスクではなく CSV として処理が実行されてしまうため Mount Manager が認識せず、前述の通り 6 分間にわたりリトライした後に検証が失敗する動作となります。
回避策
本事象はクラスターが起動した後に一度 CSV をオンラインにしていただければ基本的に発生いたしません。仮に 3 分が経過して CSV を示すフラグがセットされた場合でも記憶域の検証を行わなければ問題は発生しません。その後に、CSV をオフラインに変更すると自動的に CSV を示すフラグは解除されます。
したがいまして、本事象に遭遇された際には、対象 CSV を一度オンラインにしていただき、再度オフラインにしてから「記憶域の検証」を実行していただくようお願いいたします。
本手順を実施した後に記憶域の検証が失敗した場合には何かしらの問題が生じている可能性がございますので、以下の公開情報を参考にトラブルシューティングを実施してください。
# Validate Hardware for a Failover Cluster
# https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.11/dn268425(v=ws.11)?redirectedfrom=MSDN
本不具合については、弊社開発部門において今後リリース予定の OS で修正することを検討しておりますが、本記事の執筆時点では、恐れ入りますが現行の OS で修正を行う予定はございません。何卒ご理解いただけますと幸いです。
本投稿が少しでも皆様のお役に立てば幸いです。
※ 本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。
変更履歴
- 2021/03/16 : 本 Blog の公開
- 2021/03/18 : エラーメッセージの例を追加
- 2021/04/13 : 本事象の原因を追記