SE の雑記

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

Archive for 5月, 2010

SQL Server 2008 R2 のフェールオーバークラスタのインストール その 1 – MSDTC のリソース作成 –

leave a comment

SQL Server 2008 R2 の日本語版 RTM がダウンロードできるようになったので、さっそくクラスタのインストールをまとめてみたいと思います。
# 私のブログに期待されているのはこの内容だと思いますので。

まずは、MSDTC のリソース作成から。
今までまとめたことなかったみたいなんですよね。

WSFC のコアクラスタリソースに関しては構築が完了しています。
コンピュータ名等に関しては以下の図のようになっています。
# 2008R2-WSFC-01 がクラスタのコンピュータ名になります。

image

■MSDTC 作成前の準備

MSDTC のリソース作成時に [共有ディスク] [コンピュータアカウント] [IP アドレス] が必要となります。

  • 共有ディスク
    共有ディスクに関しては、クラスタで使用可能なディスクとして [使用可能記憶域] に割り当てをしておきます。
    クォーラムディスクと違って DTC で使用するディスクはドライブ文字が必要になります。
    image
  • コンピュータアカウント
    [コンピュータアカウント作成権限の委任][Account Operators] を付与している場合は特に準備は必要ないのですが、
    事前にコンピュータアカウントを作成しておく場合は、適切な設定をしておく必要があります。
    1. コンピュータアカウントを作成します。
      image
    2. 作成したコンピュータアカウントを [無効] にします。
      image
      image
    3. 作成したコンピュータアカウントに [クラスタのコンピュータアカウントのフルコントロール] を設定します。
      image?

以上でコンピュータアカウントの設定は完了です。
事前にコンピュータアカウントを作成している場合、適切な設定がされていないと DTC のサービスを作成する際に以下のエラーがとなります。
image?

コンピュータアカウントを事前に作成していない場合は、[Computers] のコンテナにコンピュータアカウントが作成されます。
# 作成されるコンピュータアカウントの [ms-DS-Creator-SID] はクラスタのコンピュータアカウントになっていますので、
  クラスタのコンピュータアカウントを利用して DTC のコンピュータアカウントを作成しています。
この場合は、[フルコントロール] ではなく必要となりそうな権限のみが付与されているようですので、厳密には [フルコントロール] である
必要はないんでしょうね。

  • IP アドレス
    MSDTC には IP アドレスのリソースが必要になりますので、割り当て可能な IP アドレスを事前に準備しておきます。
    今回は DHCP で作ってしまっているので、固定 IP は用意していません。

以上で事前準備は完了です。

続いて MSDTC のリソースを作成します。

■MSDTC の作成

フェールオーバークラスターマネージャーで MSDTC のリソースを作成します。

    1. [操作] → [サービスまたはアプリケーションの構成] をクリックします。
      image
    2. [次へ] をクリックします。
      image
    3. [分散トランザクションコーディネーター (DTC)] を選択し、[次へ] をクリックします。
      image
    4. [名前] を設定し、[次へ] をクリックします。
      # 以下の名前は、自動で設定されていたものです。また、固定 IP を使っている場合はここで設定することになったはずです。
      [名前] に入力したものが DTC のコンピュータアカウントとなります。
      image
    5. DTC で使用するディスクを選択して、[次へ] をクリックします。
      image
    6. [次へ] をクリックします。
      image
    7. [完了] をクリックします。
      image
      ?

以上で、MSDTC のリソース作成は完了です。
image?
# [名前] の状態が [オンライン (名前解決はまだ使用できません)] となっている場合は、DTC のコンピュータリソースの DNS 登録がされていない
??? 可能性がありますので、DNS の登録状況を確認します。
? [ipconfig /registerdns] や、コンピュータ名リソースのオフライン→オンラインを実行すると解消できると思います。

作成した DTC は [クラスター化された DTC] として設定がされます。
# 以下はコンポーネント サービスの表示内容です。

作成した DTC のプロパティを開き、セキュリティの設定をしておきます。
このセキュリティの設定はいろいろな情報を見てこれかな~といったレベルの設定ですので、ベストプラクティスではありません…。
# DTC のリソースを保持していないノードだと、コンピューター展開しても反応がない可能性があります。
 その場合は、リソースを保持しているノードまたは、サービスを操作するノードに移動して設定をします。
??? 一度サービスを保持していれば、リソースが他のノードに移動しても設定はできるみたいなんですけどね。
image

image
image
image?

これで SQL Server をインストールする際に必要な DTC のリソースを作成することができました。
次の投稿で SQL Server のインストールをしたいと思います。

Written by Masayuki.Ozawa

5月 5th, 2010 at 3:14 am

Posted in SQL Server

WSFC のバックアップとリストア その 3 – 全損時のサーバーのベース部分のリストア –

leave a comment

リストアですがまずは、サーバーのベース部分のリストアについてまとめてみました。
この手順に関してはクラスタ特有の内容はないですね。

■サーバーの全損の再現

全損状況の再現として、iSCSI の共有ディスクとして使用していた LUN は一度削除して再作成しています。
各ノードの内蔵ディスクに関しては、DISKPART で Clean を実行して一度クリアした状態にしてあります。

?

■サーバーのベース部分のリストア

サーバーのベース部分 (内蔵ディスク) のリストアに関しては通常のベアメタル回復と同じです。
今回の環境には、DHCP サーバーがあるため [NETSH コマンド] を使用した、IP アドレスの設定に関しては省略しています。
今まで、ベアメタル回復の手順はまとめたことがなかったのでこの機会にまとめてみました。

  1. OS のインストールメディアをセットし起動します。
  2. [次へ] をクリックします。
    image
  3. [コンピューターを修復する] をクリックします。
    image
  4. [以前に作成したシステム イメージを使用して、コンピューターを復元します。] を選択して、[次へ] をクリックします。
    image
  5. [キャンセル] をクリックします。
    image
  6. [システム イメージを選択する] を選択し、[次へ] をクリックします。
    image
  7. [詳細設定] をクリックします。
    image
  8. [ネットワーク上のシステム イメージを検索する] をクリックします。
    image
  9. [はい] をクリックします。
    image?
  10. バックアップの取得先を入力し、[OK] をクリックします。
    image
  11. 資格情報の入力が求められた場合は、資格情報を入力します。
    image
  12. リストアするバックアップを選択し、[次へ] をクリックします。
    image
  13. バックアップを選択して、[次へ] をクリックします。
    image
  14. [次へ] をクリックします。
    image
  15. [完了] をクリックします。
    image
  16. [はい] をクリックします。
    image?
  17. リストアが開始されます。
    image?
  18. [今すぐ再起動する] をクリック
    します。
    image
  19. ログイン画面が表示されればベース部分のリストアは完了です。
    image

上記の手順は、共有ディスクの所有者だったサーバーをリストアした場合のものになります。
共有ディスクの所有者でなかった場合、一部画面が表示されないことがありますが基本的な手順は同じになります。

次の投稿で、共有ディスクのリストアについてまとめていきたいと思います。

Written by Masayuki.Ozawa

5月 3rd, 2010 at 4:28 pm

Posted in MSCS/WSFC(MSFC)

WSFC のバックアップとリストア その 2 – 全損時に備えたバックアップの取得 –

leave a comment

続いては全損時に備えたバックアップの取得です。

全損時に備えたバックアップとしてはクラスターの構成情報のバックアップだけでなく、共有ディスクのバックアップも
取得する必要があります。
共有ディスクのバックアップについていろいろと検証してみたところ、バックアップの設定に少し癖がありそうでした。

■共有ディスクのバックアップ取得の注意点

Windows バックアップで共有ディスクを選択することは可能ですが、バックアップのスケジューリング時に共有ディスクを
選択できるのは、設定時にディスクを所有しているノードだけになります。

image

上記の図のような状態になっている場合、共有ディスクのバックアップのスケジューリングを設定できるのは、[NODE-1] だけになります。
[NODE-2] に関しては、ディスクの所有者でないため、バックアップの取得対象として設定できません。

そのため、バックアップを設定したノードから共有ディスクがフェールオーバー等で移動すると以下の図のようなバックアップ取得となります。
image

このとき、Windows Server バックアップの GUI でスケジューリングをしていた場合 [NODE-1] で、スケジュールが実行されると
共有ディスクのバックアップは、[見つからないボリューム] として対象のボリュームのバックアップだけスキップされます。
# Windows Server バックアップの GUI でスケジューリング設定した [wbadmin] は [-template] というオプションで実行されます。
? このオプションで実行されているバックアップの場合、存在しないボリュームのバックアップはスキップされます。
image? image

?

この存在しないボリュームがスキップされるという動作ですが、wbadmin を [-template] のオプションで設定しているバックアップでないと、
存在しないボリュームのバックアップが実行されると一部のボリュームだけスキップされるという動作はされず、バックアップ全体がエラーとなってしまいます。
image?

?

■ディスクを所有しているノードを意識しないでバックアップを取得する方法

昨日まででここまでは検証ができていたのですが、ディスクを所有しているノードを意識しないでバックアップをスケジューリングする方法が
思い浮かばずに悶々としていましたのですが、ものすごい単純な方法で解決ができることについ先ほど気づきました。

以下の手順で、バックアップのスケジュールを設定すればよかったんですね。

  1. [NODE-1] が共有ディスクの所有者になるようにクラスタのリソースを移動
  2. [NODE-1] で [Windows Server バックアップ] を起動
    image
  3. [Windows Server バックアップ] の GUI の [バックアップ スケジュール] を実行
    image
  4. [サーバー全体] または、共有ディスクも含めてバックアップを取得するように設定
    image
    GUI からスケジュールを設定すると、タスクスケジューラには、[wbadmin.exe] を [templateId] というオプションで実行されるタスクが登録されます。
    image
  5. [NODE-2] が共有ディスクの所有者になるようにクラスタのリソースを移動
  6. [NODE-2] で [Windows Server バックアップ] を起動
  7. [Windows Server バックアップ] の GUI の [バックアップ スケジュール] を実行
  8. [サーバー全体] または、共有ディスクも含めてバックアップを取得するように設定

この方法でバックアップのスケジューリングをすると、共有ディスクを所有しているノードを意識せずにバックアップが取得できるようになります。

[NODE-1] が共有ディスクを所有している場合の動作
image

[NODE-2] が共有ディスクを所有している場合の動作
image?

気づいてみたら単純な方法ですね。
各ノードが共有ディスクを所有している状態でバックアップを設定すればよかったんですよね。

この方法でクラスターが全損した場合もリストアできる状態のバックアップを取得することができます。

次の投稿ではサーバー、共有ディスクが全損した状態からのバックアップのリストアまとめてみたいと思います。

Written by Masayuki.Ozawa

5月 3rd, 2010 at 2:13 pm

Posted in MSCS/WSFC(MSFC)

検証環境の構成

leave a comment

自宅の検証環境の構成情報
– 2010/5/3 時点の構成 –

[機器構成]

■サーバー H/W

  • HP ML115 G5 × 3 台
    • CPU
      Quad Core × 1 (AMD Phenom 9950)
    • Memory
      8GB (KINGBOX DDR2-800 2GB × 4)
    • HD
      1TB × 4 (RAID 10)
    • NIC
      オンボード Gigabit NIC × 1
      PCI Express Gigabit Gigabit NIC × 1 (玄人志向 GbE-PCIe)
  • HP ML110 G5
    • CPU
      Quad Core × 1 (Intel Xeon x3550)
    • Memory
      8GB (KINGBOX DDR2-800 2GB × 4)
    • HD
      1TB × 4 (RAID 1 + ホットスペア)
      500GB × 2 (USB HD / ゲスト OS で パススルーディスクとして使用)
    • NIC
      オンボード Gigabit NIC × 1
      PCI Express Gigabit NIC × 1 (玄人志向 GbE-PCIe)
  • IBM ThinkPad? T60
    • CPU
      Dual Core × 1 (Intel Core2Duo T5600)
    • Memory
      4GB (2GB × 2)
      ※マザーボードのチップセットの上限で利用可能メモリは 3 GB
    • HD
      500GB × 1
    • NIC
      オンボード Gigabit NIC × 1
      USB Gigabit NIC × 1 (玄人志向 GbE-USB)
  • IBM ThinkPad T61
    • CPU
      Dual Core × 1 (Intel Core2Duo T9300)
    • Memory
      4GB (2GB × 2)
    • HD
      250GB × 2
    • NIC
      オンボード Gigabit NIC × 1
      USB Gigabit NIC × 1 (玄人志向 GbE-USB)
  • IBM ThinkPad T61
    • CPU
      Dual Core × 1 (Intel Core2Duo T9300)
    • Memory
      4GB (2GB × 2)
    • HD
      250GB × 2
    • NIC
      オンボード Gigabit NIC × 1
      USB Gigabit NIC × 1 (玄人志向 GbE-USB)
  • IBM ThinkPad T61
    • CPU
      Dual Core × 1 (Intel Core2Duo T7100)
    • Memory
      4GB (2GB × 2)
    • HD
      500GB × 1
    • NIC
      オンボード Gigabit NIC × 1
      USB Gigabit NIC × 1 (玄人志向 GbE-USB)

■クライアント

  • HP t5720?
    • CPU
      AMD Geode NX 1500
    • Memory
      1GB (1GB × 2)
    • フラッシュメモリ
      8GB? CF カード
    • NIC
      オンボード 10/100? NIC × 1

    ■ストレージ

    • QNAP TS-439 Pro
      • CPU
        Intel Processor 1.6 GHz
      • Memory
        1GB
      • HD
        1TB × 4 (RAID 5)
      • NIC
        オンボード Gigabit NIC × 2

    ■N/W 機器

    • YAMAHA RTX 1000
    • IODATA ETG2-SHV16N
    • corega SW08GTXB
      IODATA のギガハブに交換したので現在は遊休状態です。

    ■ディスプレイ切替機

    • RATOC REX-420

    ■UPS

    • APC Smart-UPS 750
      PowerChute で管理はしていません。(というより PowerChute 買うお金がありませんでした…。)

    ?

    ?

    [構成概要図]

    image

  • Written by Masayuki.Ozawa

    5月 3rd, 2010 at 10:48 am

    Posted in その他

    WSFC のバックアップとリストア その 1 – クラスターの構成情報のバックアップ –

    leave a comment

    昨日から Windows Server 2008 R2 のクラスター環境のバックアップ / リストアの基本手順の確認をしていました。
    大体の検証ができたのでまずは、クラスターの構成情報のバックアップの基本をまとめてみたいと思います。

    今回の検証ですが、基本的な動作の確認のため、[クラスター コア リソース] のみの環境で検証をしています。
    # 2 ノードクラスターの環境です。
    image?

    ■クラスターの VSS Writer

    以下は クラスターの環境で、VSS のライターの情報を取得したものになります。

    C:Windowssystem32>vssadmin list writers
    vssadmin 1.1 – ボリューム シャドウ コピー サービス管理コマンドライン ツール
    (C) Copyright 2001-2005 Microsoft Corp.

    ライター名: ‘Task Scheduler Writer’
    ?? ライター Id: {d61d61c8-d73a-4eee-8cdd-f6f9786b7124}
    ?? ライター インスタンス Id: {1bddd48e-5052-49db-9b07-b96f96727e6b}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘VSS Metadata Store Writer’
    ?? ライター Id: {75dfb225-e2e4-4d39-9ac9-ffaff65ddf06}
    ?? ライター インスタンス Id: {088e7a7d-09a8-4cc6-a609-ad90e75ddc93}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘Performance Counters Writer’
    ?? ライター Id: {0bada1de-01a9-4625-8278-69e735f39dd2}
    ?? ライター インスタンス Id: {f0086dda-9efc-47c5-8eb6-a944c3d09381}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘System Writer’
    ?? ライター Id: {e8132975-6f93-4464-a53e-1050253ae220}
    ?? ライター インスタンス Id: {89517f85-5aa3-4130-9e83-c6f2376bd4a5}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘ASR Writer’
    ?? ライター Id: {be000cbe-11fe-4426-9c58-531aa6355fc4}
    ?? ライター インスタンス Id: {f8b56a7b-421c-4b70-be7c-98c24c5b2954}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘Shadow Copy Optimization Writer’
    ?? ライター Id: {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f}
    ?? ライター インスタンス Id: {8e65a3d0-5028-4056-9858-9ca1a189b50a}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘Registry Writer’
    ?? ライター Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
    ?? ライター インスタンス Id: {9ee5fc2e-231f-48ab-ab80-7bdca2d23731}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘WMI Writer’
    ?? ライター Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
    ?? ライター インスタンス Id: {8672517a-de91-4519-a5b8-39d19442415e}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘BITS Writer’
    ?? ライター Id: {4969d978-be47-48b0-b100-f328f07ac1e0}
    ?? ライター インスタンス Id: {55966447-d44f-4a06-8923-ab1d72dd7e84}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘COM+ REGDB Writer’
    ?? ライター Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
    ?? ライター インスタンス Id: {71ddba22-59bc-4fe3-8aa1-c15dc58d9df5}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    ライター名: ‘Cluster Database’
    ?? ライター Id: {41e12264-35d8-479b-8e5c-9b23d1dad37e}
    ?? ライター インスタンス Id: {7325b7de-27ad-40f7-b60c-7b353ec34919}
    ?? 状態: [1] 安定
    ?? 最後のエラー: エラーなし

    クラスター用のライターとして、[Cluster Database] が組み込まれています。
    このライターですが、[Cluster Service] が起動している場合だけ起動しています。
    そのため、クラスターのバックアップを取得する場合は [必ず Cluster Service を起動] しておきます。
    # サービスが停止している状態で、[vssadmin list writers] を実行すると、[Cluster Database] のライターは表示されません。

    ■クラスターのバックアップの取得
    クラスターのバックアップですが、[システム状態] のバックアップに含まれています。
    そのため、クラスターのバックアップを取得する場合はこの情報を取得することになります。
    image

    以下は、システム状態をリストアした際の画像になります。
    image?
    image

    システム状態の中でクラスターの情報が含まれるのは、以下の 2 つの項目になるようです。
    # システム状態で取得される情報は、VSS ライターが用意されているようですね。

    • Cluster Database
    • System Writer

    ■Cluster Database のバックアップの内容
    [Cluster Database の VSS ライター] で取得される情報です。

    このバックアップには、[CLUSDB] というクラスターの構成情報のバックアップが含まれています。
    このファイルは、[%systemroot%Cluster] に保存されるファイルになります。
    # HKLM にロードされる [Cluster] というレジストリハイブの実体です。

    image

    image

    [Cluster Database] の VSS ライターで取得されているため、[Cluster Service] のサービスが起動していないと、
    この情報のバックアップが取得されません。

    [CLUSDB] の情報ですが、[Cluster Service] を起動するために必要となるため、[Cluster Database] の VSS ライターが
    起動していない状態で取得したバックアップでは、クラスターのサービスを起動することができませんので注意が必要です。
    # 他のノードから [CLUSDB] を持ってきて復元ということもできたはずですが。

    ?

    ■System Writer のバックアップの内容
    情報としてはいろいろと含まれているのですが、クラスターに関しては [CLUSDB] 以外のファイルが含まれているようです。
    image?

    構成情報は [CLUSDB] に含まれているので、[Cluster Database] のバックアップに含まれるのですが、クラスターのプログラムの
    実体に関しては、[System Writer] で取得される情報に含まれています。

    クラスターのバックアップは、システム状態で取得される、[Cluster Database] と [System Writer] の 2 つの情報が取得できて、
    有効なバックアップとなるようですね。

    次は、全損時に備えたバックアップの取得についてまとめていきたいと思います。

    Written by Masayuki.Ozawa

    5月 2nd, 2010 at 5:00 am

    Posted in MSCS/WSFC(MSFC)