SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows Server 2008 R2 の WSFC のディスク交換について

leave a comment

書くのをすっかり忘れていたことを思い出したので、ちょっとまとめておきたいと思います。

今回は、クラスター (WSFC) で使用している共有ディスクに障害が発生して、LUN を再作成したときのディスクの再割り当てについてになります。
# バックアップは取得されていることが前提です。

■ディスク交換後のリカバリー


共有ディスクの場合は正確にはディスク交換というより LUN の交換というイメージになると思いますが。
# ディスク障害だけでなくストレージの移行などでも同様の現象が発生するかもしれないですね。

現在、クラスターの共有ディスクとして 1 つの LUN をリソースとして認識させています。
image

この LUN に障害が発生したとします。
# 今回は対象となる LUN を iSCSI ターゲット側で無効にしています。
LUN にアクセスができない状態ですのでクラスター上も障害として認識がされています。
image

Windows Server 2003 のクラスターの場合、新しいディスクを追加して dumpcfg を使用して同一のディスク署名のディスクを追加するか ClusterRecovery を使ってリカバリーを実施していたかと思います。

Windows Server 2008 以降用の両ツールは提供がされていません。
Windows Server 2008 以降では OS 標準の機能で障害時のリストアを実施することが可能です。

最初にクラスターで使用可能な新規ディスクを各ノードで認識させた状態にします。

障害が発生しているディスクを WSFC の管理コンソールから操作すると [修復] を選択することが可能となっています。
image

修復をクリックするとクラスターで使用可能 (各ノードで認識されている共有ディスク) を選択することが可能となっていますので、使用するディスクを選択します。
image
image

これでクラスターで使用しているディスクリソースを新規のディスクに再マッピングすることができます。
再マッピング直後は障害の状態となっていますのでディスクをオンラインにします。
image

オンラインにできればそのディスクに対して取得していたバックアップを戻せばディスクの交換は完了です。
image

ClusterRecovery 相当の操作が標準の機能でできるようになったイメージでしょうか。

ディスク署名を合わせることで復旧をしたいといった場合、2008 以降のdiskpart コマンドでディスク署名を設定することが可能です。
# 2008 以降でディスク署名を合わせて復旧をしたことがないので 2003 と同じ方法でできるかは未検証なのですが…。

2008 以降の diskpart では、UNIQUEID を使用してディスク署名が設定できるようになっています。
以下のようなコマンドの流れでディスク署名を設定することが可能です。

select disk <ディスクNo>
uniqueid disk id=<ディスク署名>

現状のディスク署名に関しては

select disk <ディスクNo>
detail disk
uniqueid disk

といったコマンドで取得が可能です。

クラスターのディスクを変更するという機会はたまにあったりするのでメモとして残しておきたいと思います。

Share

Written by Masayuki.Ozawa

8月 16th, 2011 at 8:19 am

Leave a Reply