クラスタがディスクリソースをマウントしてくれなくなった

壊れた?

クラスタ ディスク リソース ディスク I:: は壊れています。ChkDsk /F を実行して問題を修復してください。 このリソースのボリューム名は "\\?\Volume{45b9d2a7-469b-4b5d-a70d-a3ef18a79b7c}\" です。
 利用可能な場合、ChkDsk の出力はファイル "C:\WINDOWS\Cluster\ChkDsk_Disk3_Sig023FEAEC.log" に格納されます。
 ChkDsk はイベント ID 26180 でアプリケーション イベント ログに情報を記録することがあります。

とあるサービスが暴走してサーバがハングしてしまい、どうしようもなくなってリセットボタンを押したら共有Storage内のLUNが壊れたらしいorz

イベントログはChkDskをかけろというが、容量が8TBもあるディスクにかけると1週間はかかると思われ

なんとか

強制的にマウントさせられないかと調べたところ、そういうコマンドがあるらしい

参考:Cluster resource

ところが、クラスタの状態が「オンライン待機中」のためコマンドを受け付けてくれず
さらに調べたところ、上記に該当するレジストリがあるとのこと

HKEY_LOCAL_MACHINE\Cluster\Resources\[リソースのGUID]\Parameters\SkipChkdsk

の値を「1」にセットするとChkDskをSkipしてくれる(デフォルトは「0」)

ところが

レジストリキーをセットして再起動をかけても、相変わらずマウントしてくれないどころかまったく同じイベントログが記録されてる

しつこくレジストリをいじる

次はおなじ階層にある「ConditionalMount」の値を「0」にしてみる(デフォルトは「1」)

※ 上記したMicrosoftのURLだと、このオプションは「0」にすべきか「1」にすべきかよくわからない

マウントできたw

この状態で再起動すると、無事マウントすることに成功
見た感じどこも壊れてないようなので、レジストリの値をデフォルトに戻して再起動したところ、何事もなかったかのようにマウントされた