Sunday, November 6, 2011

Stop 0x50 on Windows 2008 R2 Failover Cluster

I wanted to write something about what we have been seeing involving the use of Cluster Shared Volumes (CSV) and File Server resources on the same Cluster.There have been multiple instances we have seen regarding a Stop 0x00000050 on Cluster Servers that point to CSVFILTER.SYS as being the culprit.
同一クラスタ内にCSV構成と、ファイルサーバリソースが登録されている場合に、STOP ERROR 0x00000050が発生する。CSVFILTER.SYSが関係していて、これはCSVにメタデータを書き込む際に使われるフィルタードライバです。コーディネータの場合は直に書き込み、書き込むノードがコーディネータでない場合は、CSVFILTER.SYSがコーディネータへネットワーク経由でリダイレクトする。

構成としては以下3つのcaseが考えられる。


[case1]
A Cluster that has File Server resources only (no Hyper-V VMs) with Cluster Shared Volumes CSVが有効になっていて、ファイルサーバのリソースのみ登録されていて(Hyper-VのVMは登録されていない)状況の時

[Resolution]
you should disable CSV so that CSVFILTER.SYS is no longer in play.To do this, run Powershell from the Administrative Tools with this command
以下のコマンドパワーシェルから実行して、CSVを無効にし、CSVFILTER.SYSがロードされないようにする。
get-cluster %{$_.EnableSharedVolumes="Disabled"}


[case2]
File Server resources or shares that are located on the Cluster Shared Volumes
ファイルサーバリソース(シェア)がCSV上にある場合







So if you are keeping user or application data on a CSV drive, get it off or bad things can happen. This is not a valid or supported configuration.
上記メッセージあるように、Hyper-V専用にあるものなので、それ以外のリソースをおくと何が起こるかわからないのでノンサポートの構成ですとのこと。


[case3]
A Cluster that has both Hyper-V VMs on Cluster Shared Volumes and File Server resources on non-CSV drivesyou have all the highly available virtual machines on CSV drives and separate groups for File Servers on non-CSV drives. As mentioned at the beginning of this, CSVFILTER.SYS is attaching itself to all drives, including these non-CSV drives.This is where you would need the workaround and there are two options to consider.
クラスタが、Hyper-VのVMとファイルサーバリソース(非CSVドライブ)の両方を持っている場合この場合は、CSVFILTER.SYSは自分自身をすべてのドライブ(非CSVドライブも含めた)をアタッチするかたちになる。解決方法は、以下の2つがある。

[Resolution1]
The first is to create a virtual machine that is the File Server resource and shares. Add this VM into the Cluster on the drive that you can convert to Cluster Shared Volume.
親パーティションにてファイルサーバをホストするのではなく、子パーティションでホストする。言い換えると、ファイルサーバリソースとして登録するのではなく、ファイルサーバとなるVMを作成し、VMとしてCSV上に配置する。

[Resolution2]
The second option is to detach CSVFILTER.SYS from the non-CSV drives. This one is the easiest and quickest to do, but it is a little kludgy. For example, say your non-CSV was the Z: drive. To detach it, the command would be:
以下のコマンドを実行し、非CSVドライブに対するCSVFILTER.SYSをデタッチする。(Zはファイルサーバリソースで、非CSVドライブ)
Fltmc detach csvfilter z:
この方法は、クラスタサービスのリスタート、OSリブートするだけで元に戻ってしまうので、バッチを組んで対応する。



原文は以下を参照ください。
Ask the Core TeamMicrosoft Enterprise Platforms Support: Windows Server Core Team
http://blogs.technet.com/b/askcore/archive/2011/10/24/stop-0x50-on-windows-2008-r2-failover-cluster.aspx

No comments:

Post a Comment