SE の雑記

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

Author Archive

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)

    Windows Embedded Standard 7 を USBメモリにインストール

    leave a comment

    [はじめに]
    この投稿は、Windows Embedded Standard 7 をインストールするクライアントの記憶媒体として
    USB メモリを使う方法になります。
    USB メモリで起動できる持ち運び可能な Windows 環境を作る方法ではありません。
    Windows Embedded は組み込み OS のため、原則としてクライアント本体に OS のライセンスがつくはずです。
    USB メモリに OEM のライセンスがつくということはないと思うので、作成した USB を他の端末で起動するのは
    ライセンス的に NG になると思います。

    インストールした USB メモリを他の端末で起動するのは控えてください。
    インストールした USB メモリを他の端末で起動する場合は、必ずライセンス違反にならないかを自己の責任でご確認下さい
    Windows Embedded のライセンスは汎用パソコンとしての利用は禁止されているため、組み込みシステム以外で
    一般的な利用はできないはずですので。

    また、開発/評価目的以外の利用に関しては、System Builder (システム ビルダー) ライセンス に基づき、
    正規のライセンス契約の範囲で実施する必要があります。
    # OEM ライセンスとして、どのように (どのハード) OEM のライセンスが付与されるのかもこちらのライセンス契約に基づくそうです。

    とここまで書いたので、さっそく検証です。

    Windows Embedded は [UFD (USB Flash Drive)] にインストールすることが可能です。
    UFD ということなので、USB メモリにもインストーすることが可能です。

    ただし、デフォルトの状態ではUSBメモリをインストール可能なメディアとしては認識することができません。
    image?

    ■UFD にインストールするための手順

    UFD にインストールするためには、[Bootable Windows USB Stack] というパッケージを追加する必要があります。
    今回はこのパッケージをメディアブートしてから追加してみたいと思います。
    # [Image Configuration Editor] でも追加できます。

    今回の検証は、VMware Workstation を使ってホスト OS のUSB メモリをゲスト OS に接続して実施しています。

    1. [Build an Image] をクリックします。
      image
    2. [I accept the license terms] を有効にして、[Next] をクリックします。
      image
    3. 使用するテンプレートを選択して、[Next] をクリックします。
      今回は、[Thin Client] を選択しています。
      image?
    4. 使用する言語を選択して、[Next] をクリックします。
      今回は、[Japanese] を選択しています。
      image?
    5. [Modify Features] を有効にして、[Next] をクリックします。
      image
    6. [Feature Packages] → [Embedded Enabling Features] → [Bootable Windows USB Stack] を有効にします。
      このままでは、[Next] をクリックすることはできません。
      依存関係で排他関係にあるものがあるため、[Resolve Dependencies] をクリックして依存関係を解消します。
      image?
    7. [Standard Windows USB Stack] を無効にし、[Next] をクリックします。
      image
    8. [Done] をクリックします。
      image?
    9. [Next] をクリックします。
      image?
    10. [Next] をクリックします。
      image
    11. U
      SB メモリが選択できるようになっているので、選択して [Next] をクリックします。
      # [Thin? Client] のテンプレートの場合は、インストール時の一時領域の関係でフットプリントが 2GB でもその倍は USB メモリの
       サイズがないとインストールできないようでした。(4GB の USB メモリではインストールできませんでした。)
      ?? そのため、今回は 8GB の USB メモリを使用しています。
      image??

      警告は以下の内容になっています。
      BIOS で USB ブート可能なように設定しましょうという内容ですね。
      image?

    これで USB メモリに WES がインストールされます。
    image

    Windows Embedded は XP の時から、USB メモリへのインストールをサポートしていたようで、それに関しては WES 7 になっても
    継続してサポートされるようですね。

    Written by Masayuki.Ozawa

    4月 29th, 2010 at 5:55 pm

    Posted in Windows Embedded

    Windows Embedded Standard 7 の展開イメージをカスタマイズ その 4 – エクスプローラーシェルの追加 –

    leave a comment

    Windows Embedded Standard 7 の [Minimum Configuration] では UI がコマンドプロンプトシェルとなっているため、
    Server Core 相当のインタフェースとなっています。
    image?
    image?

    このままではシンクライアントといえど少し味気ないですよね。そこで、UI をエクスプローラーシェルに変更したいと思います。

    ■エクスプローラーシェルの追加

    エクスプローラーシェルに変更するには、以下のパッケージを追加します。
    [Packages] → [FeaturePack] → [User Interface] → [Windows Shell] → [Windows Explorer Shell]image

    あとは依存関係を解決して、展開用イメージを作成します。
    # 作業は、[Minimum Configuration] の展開イメージ作成と同じです。

    [Command Prompt Shell with Custom Shell Support] と [Windows Explorer Shell] は排他になっているため、どちらかしか選択できません。
    image

    作成した展開用イメージを使用してインストールした環境が以下の画像になります。
    image  image

    Windows らしい環境になりました。
    機能としては何もインストールされていないので、これだけだとシンクライアントにもならなさそうですけどね。
    image?

    [Thin Client] からカスタマイズするのが楽だとは思うのですが、[Minimum Configuration] からカスタマイズするほうが
    必要なコンポーネントを追加して OS を作っていくというイメージがしやすいと思います。

    次の投稿では、USB メモリに Windows Embedded Standard 7 をインストールする方法についてまとめてみます。

    Written by Masayuki.Ozawa

    4月 29th, 2010 at 2:44 pm

    Posted in Windows Embedded

    Windows Embedded Standard 7 の展開イメージをカスタマイズ その 3 – ハードウェア構成のインポート –

    leave a comment

    前回展開したイメージですが、Hyper-V の統合サービスでインストールされるデバイスドライバ関連が導入されていないため、
    リモートで接続をした際にマウスを使用することができない状態となっていました。

    Windows Embedded Standard 7 は Windows 7 ベースの OS のため、メディアには統合サービス関連のドライバが
    含まれているのですが、展開用に作成したイメージにはドライバが含まれていない状態のため、このような動作となっています。

    以下の画像が配布共有に含まれているパッケージから [Virtual Machine] で検索した内容となっています。
    image

    統合サービスをインストールすると組み込まれるドライバが表示されていますね。
    これらを一つ一つ応答ファイルに組み込んでもよいのですが、ちょっと面倒ですし他にインストールしなくてはいけない
    パッケージもありそうですよね。
    image

    Windows Embedde には、[Target Analyzer] という機能があり、この機能を使用するとインストールをする端末の
    ハードウェア情報を取得することができます。

    [Target Analyzer] は [TAP.exe] というプログラムを実行することで使用することができます。
    このプログラムは、Windows Embedded Standard 7 のインストールメディアか、[Image Configuration Editor] から作成できる、
    [Windows PE] のイメージで対象の端末を起動すると使用することができます。

    image

    今回は、Windows Embedded Standard 7 のインストールメディアで起動して、ハードウェア情報を取得したいと思います。

    ■ハードウェア情報の取得

    まずは、Windows Embedded Standard 7 のインストールメディアでハードウェア情報を取得する端末を起動します。

    image

    端末が起動したら、[Shift+F10] を押して、コマンドプロンプトを起動します。
    image

    後は、[TAP.exe] を実行すれば完了です。
    [TAP.exe] を以下の形式で実行します。
    # 拡張子は [.pmq] で取得します。

    tap.exe /o <取得先>

    例)
    tap.exe /o c:temptap.pmq

    image

    インストールメディアは [netsh] コマンドを使うこともできますので、NIC が認識していれば共有ディレクトリに取得することもできます。

    取得したファイルを、[Image Configuration Editor] をインストールしている端末にコピーします。

    ■ハードウェア情報のインポート

    取得したハードウェア情報を、[Image Configuration Editor] にインポートします。

    [File] → [Import] → [Import PMQ] を選択します。
    image

    取得した [PMQ] ファイルを選択してハードウェア情報をインポートします。
    image

    そうすると応答ファイルに必要なパッケージが自動的にインポートされます。
    インストールメディアに含まれているハードウェア固有のパッケージをインポートするにはこの方法を使うと、とても楽ですね。
    image

    今回の取得したハードウェア情報は、 Hyper-V のゲスト OS のものなので、統合サービスでインストールされるドライバ関連が
    一括でインポートされています。

    この状態でインストール用のイメージを作ってインストールをすると、統合サービスが含まれていますのでリモートから接続しても
    マウスを使用することが可能です。

    次の投稿では、[Minimum Configuration] のイメージにエクスプローラーシェルを組み込み GUI の環境にする方法をまとめてみます。

    Written by Masayuki.Ozawa

    4月 29th, 2010 at 1:52 pm

    Posted in Windows Embedded

    SQL Server 2008 R2 のクラスターインストール時のネットワークバインド順序の警告について

    leave a comment

    SQL Server 2005 以降のクラスターのインストールではセットアップ時に以下のようなインストール前の検証が行われます。
    # 以下は SQL Server 2008 R2 November CTP の内容です。

    image?
    [ネットワーク バインド順序] 以外のルールはすべて [合格] にできるのですが、環境によっては [ネットワーク バインド順序] だけが
    [警告] になってしまうという現象がまれに発生していました。

    警告は以下の内容となっています。
    image?

    今回の環境では、[Public] というドメインのネットワークと、[Private] というクラスタの内部通信用のネットワークの 2 種類を用意しています。
    ネットワークのアクセス順序に関しては、[Public] [Private] という順番にしてあり、優先順位としては [Public] のほうが高い設定となっています。
    image

    ドメイン ネットワークのほうが、優先順位高いのですが、この警告が発生するんですよね。
    [Public] と [Private] の順序を変更すると警告が消えることがあります。
    # あくまでも警告のレベルなので、インストールは継続することができ動作的にも特に問題はないのですが。

    今日の午前中に、英語版の SQL Server 2008 R2 RTM の Enterprise Evaluation をインストールしていて同様の現象が発生し、
    そういえばこの間この現象について、英語の情報があったな~と思い対応方法をまとめてみました。

    ■参考にした情報

    この現象の解決には、以下のサイトの情報を参考にさせていただきました。
    Network Binding Order Rule Warning in SQL Server 2008 Cluster Setup Explained

    このチェックに関しては、[アダプターとバインド] で設定する順序だけでなく、レジストリの設定も関係しているようですね。

    ■対応方法

    1. ネットワークアダプタの順序の設定
      ネットワークアダプタの順序に関しては、[ネットワーク][プロパティ] を開いて、
      image

      [詳細設定][詳細設定] から変更することができます。
      # Windows Server 2008 以降はメニューバーが表示されないので、[Alt] を押してメニューバーを表示します。
      image

    2. ゴーストデバイスが存在していないかの確認
      NIC のゴーストデバイスが残っていないかを確認するのもポイントのようですね。
      以下の KB はWindows 2000 Server 用の技術情報になりますが、2008 / R2 でも同様の操作で表示することが可能です。
      Windows 2000 に現在存在しないデバイスがデバイス マネージャに表示されない

      いつまでたっても、

      set devmgr_show_nonpresent_devices=1
      cd%SystemRoot%System32
      start devmgmt.msc

      が覚えられないです…。

      上記コマンドを実行すると [非表示のデバイスの表示] を有効にした際に、ゴーストデバイスが表示できるようになりますので、
      image

      [ネットワーク アダプター] に薄い文字で表示されているデバイスがないかを確認します。
      今回の環境ではゴーストデバイスは存在していないために表示されていません。
      # 薄い文字で表示されているものが接続されていないがアダプターとしては残っているゴーストデバイスになります。
      image

    3. レジストリの設定変更
      多くの場合は、このレジストリ値のの設定が起因して警告が表示されているような気がします。

      [HKLMSYSTEMCurrentControlSetServicesTcpipLinkage][Bind] という [REG_MULTI_SZ] の設定があります。
      image?

      SQL Server のクラスターのインストールでは、この値の順序もアダプタのバインド順序として認識されているようです。

      このままでは、どの値がどのアダプターを指しているかわからないのでコマンドプロンプトで、[WMIC] を使ってアダプターと値の関連を調べます。

      wmic nicconfig get description, SettingID

      そうすると以下のような結果が取得できます。

      WAN Miniport (SSTP)??????????????????????????????????????? {4AE6B55C-6DD6-427D-A5BB-13535D4BE926}
      WAN Miniport (IKEv2)?????????????????????????????????????? {DBD85EFC-7CFA-4A38-90A3-4803A40BF61E}
      WAN Miniport (L2TP)??????????????????????????????????????? {66973E50-CF44-46A7-AD86-0F369D30ACA2}
      WAN Miniport (PPTP)??????????????????????????????????????? {F93EB786-8968-43C5-BC58-54D87385060E}
      WAN Miniport (PPPOE)?????????????????????????????????????? {6A16EDEB-24DF-416A-B427-CED88EFCA006}
      WAN Miniport (IPv6)??????????????????????????????????????? {F4373218-ED19-4F3D-8DB4-982009ED86B7}
      WAN Miniport (Network Monitor)???????????????????????????? {5356FE17-48EE-4A7A-BECE-645E20060A52}
      Microsoft Virtual Machine バス ネットワーク アダプター???? {80A41E42-ED0F-4584-860F-F03808F2D520}
      WAN Miniport (IP)????????????????????????????????????????? {66513FCE-F1B9-480C-B278-3DD588D5D452}
      Microsoft Virtual Machine バス ネットワーク アダプター #2? {B14AF60C-B406-4890-9D27-0D7034D634AD}
      RAS Async Adapter????????????????????????????????????????? {DD2F4800-0DEB-4A98-A302-0777CB955DC1}
      Microsoft Failover Cluster Virtual Adapter???????????????? {64D317B9-D0D5-4AAB-9D1F-8D8BA9E5A1E3}

      今回は、[Public] が [#2] のアダプタを使っているので、[{B14AF60C~}] の値が、ドメイン ネットワークになりますね。
      image

      それではレジストリの値を変更して、Public のネットワークを先頭に設定します。
      # ついでに、[Private] を 2 番に設定しています。Public が先頭にあれば、警告は表示されないようになるためこれは必須ではありません。
      image

    以上で設定は終了です。

    SQL Server のインストーラーの検証を再実行してみます。
    # 設定変更後にサーバーの再起動はしていません。

    すべての検証が [合格] になりました。
    ファイアウォールはすべてを合格にするために機能自体を無効にしているので、本来は [Windows ファイアウォール] だけが警告になるのが正しいと思いますが。
    image?

    ネットワークのプロパティからの設定だけでなく、レジストリの変更をしないと警告が回避できないのでちょっとわかりずらいですね。

    Written by Masayuki.Ozawa

    4月 29th, 2010 at 4:32 am

    Posted in SQL Server

    Windows Embedded Standard 7 の展開イメージをカスタマイズ その 2 – テンプレートからビルド –

    leave a comment

    少し日が空いてしまいましたが展開イメージのカスタマイズの続きを。

    イメージのカスタマイズには、[Image Configuration Editor] を使用します。

    image?
    Image Configuration Editor

    初期状態では上の画像のように何も読み込まれていない状態です。
    この状態から以下の作業をして、イメージの作成を行います。

    1. 配布共有 (Distribution Share) の選択
    2. 応答ファイル (Answer File) の選択
    3. 依存関係の解消
    4. インストールイメージの作成

    それでは、各作業をまとめていきたいと思います。

    ■配布共有 (Distribution Share) の選択

    まずはイメージのカスタマイズに使用するためのベースとなる、各種パッケージが含まれている配布共有を読み込みます。

    1. [Distribution Share] の [Right click to select a Distribution Share] を右クリックして、[Select Distribution Share] を
      選択します。
      ?image
    2. 配布共有を選択します。
      ToolKitをインストールすると [C:Program FilesWindows Embedded Standard 2011DS] に配布共有が
      格納されていますのでこのディレクトリを選択します。
      image
    3. 配布共有が読み込まれます。
      image?

    配布共有の下には Windows Embedded Standard 7 のさまざまなパッケージが含まれています。
    image?

    イメージの作成は、これらのパッケージを応答ファイルに対して追加していきます。
    でも一つ一つを追加していくのは大変ですよね…。

    デフォルトで数種類の応答ファイルのテンプレートが用意されていますので、続いて応答ファイルを読み込みます。

    ■応答ファイル (Answer File) の選択

    応答ファイルを新規に作って必要になるパッケージを選択していくのは大変ですので、デフォルトのテンプレートを
    選択し、コンポーネントを自動で追加させます。

    1. [Answer File] の [Right click to create or open an answer file] を右クリックして、[Open Answer File] を
      選択します。
      image?
    2. [C:Program FilesWindows Embedded Standard 2011DSTemplatesIBW] から応答ファイルを選択します。
      今回は [Minimum Configuration] を選択しています。
      image
      テンプレートで用意されているのは、インストール時に選択できるものと同じになっています。
      # [Use a template] と表示されているくらいですので。
      image
    3. 選択したテンプレートで必要となるパッケージが追加された状態となります。
      image?

    これで基本となるパッケージの読み込みが完了しました。
    ただ、この状態では依存関係のあるパッケージで必要となるものが追加されていないため、[Messages] にエラーが表示されています。

    次の作業で依存関係を解消していきます。

    ■依存関係の解消

    テンプレートを選択しても手動で依存関係を解消する必要があるようです。
    # 最低限、言語系の依存関係は解消しないと駄目のようです。
    現在読みこんているパッケージで必要となる依存関係パッケージを順次、追加していきます。

    1. [Messages] に表示されている、エラーメッセージをダブルクリックします。
      image
    2. メッセージをダブルクリックすると、必要となる依存関係パッケージが表示されます。
      今回の場合は、[requires at least one of] に表示されているパッケージを一つ選択する必要があります。
      image?

      今回は、[Japanese Language Pack] を選択して、日本語環境にしたいと思います。
      image

      パッケージを選択をすると、Footprint がどれだけ増えるかが表示されますのでこれでどれだけの容量が必要になるか

      判断することができます。

    3. 依存関係を解消すると、該当のメッセージが取り消し線で表示されます。
      image

      追加したパッケージでさらに依存関係があるかもしれませんので、[F5] を押して更新をします。
      image?
      [Source Location] が [LanguagePack] となっているメッセージが表示されました。
      追加したパッケージの依存関係を解消する必要があるようです。
      メッセージをダブルクリックして依存関係を確認します。

      今回は [Japanese Fonts] が必須ですね。IME に関しては optional となっています。
      image?

      一つはオプションですが両方とも追加してみます。
      image

      依存関係が解消されたので、メッセージが取り消し線に。
      image?

      あとはこの作業を繰り返して、依存関係のエラーが表示されないようにしていきます。
      [Optional ~] でオプションとして追加できるパッケージのメッセージは表示されていますがエラーは無くなりました。
      image?

    4. パッケージの追加が終わったら、メニューの [File] から、[Save Anser File As…] で作成したファイルを別の場所に保存します。
      # テンプレートはデフォルトの状態で残しておいた方がよいので。
      image

    これで応答ファイルの作成が完了しました。
    最後にインストールイメージを作成します。

    ■インストールイメージの作成

    最後の作業として作成した応答ファイルを元にインストールイメージを作成します。

    1. メニューの [Tools] → [Create Media] → [Create IBW Image From Answer File…] を選択します。
      image

      [Distribution Share] は配布共有を別の場所に作成、[Windows PE Image] は PE の イメージファイルを作成します。
      PE のイメージファイルは Windows Embedded 用に少しカスタマイズされた形で作られるみたいです。

      今回は、インストールイメージですので [Answer File] を選択しています。

    2. インストールイメージを作成するディレクトリを選択して、[OK] をクリックします。
      image

      [OK] をクリックすると必要なファイルがコピーされ、イメージが作成されます。
      image image

    3. [はい] をクリックします。
      image

      インストール用のイメージがコピーされているのが確認できますね。
      image

    4. 最後の作業として、インストール用のファイルを ISO ファイルにします。
      USBブートが可能であれば、ブータブルのUSBメモリを作成することもできます。
      ToolKit をインストールすると PE Tool もインストールされるため、[oscdimg.exe] を使用することが可能です。

      ヘルプの [Burn a Bootable Utility CD-ROM] にコマンドのサンプルが記載されていますので、これを使用します。
      # 以下のコマンドはヘルプのコマンドからディレクトリ名を変えて、[-m] を追加しています。

      oscdimg -n -m -bc:utildiskBOOTetfsboot.com C:utildisk C:util_x86.iso

      コマンドは、[Windows PE Tools Command Prompt] から実行します。
      image?

      USB メモリの場合は、ヘルプの [Make a Bootable Utility UFD] を参考にします。
      以下がヘルプに記載されているコマンドになります。< br /># 今回は USB ブート用のメディアの作成はしていないためヘルプのコマンドをそのまま記載しています。

      >diskpart
      select disk 1
      clean
      create partition primary size=<device_size>
      select partition 1
      active
      format fs=fat32
      assign
      exit

      xcopy C:utildiskiso*.* /s /e /f F:

      今回はこのような ISO ファイルが作成できました。
      548MB なので CD サイズですね。
      image?

    それでは、作成したメディアを使って端末を起動してみたいと思います。
    今回は Hyper-V のゲスト OS を作成したメディアで起動してみました。

    作成したメディアで、正常にインストーラーが起動しました。
    後のインストール方法に関しては以前投稿した内容と同じです。
    # テンプレートの選択画面が表示されませんがそれ以外は同じです。
    image

    こちらが [Minimum Configuration] のテンプレートをベースに作成したイメージでインストールした環境です。
    ServerCore のクライアント版ですね。
    image

    実はこの環境、Hyper-V 関係のドライバが組み込まれていないので、リモートからの接続ではマウスが使えない状態となっています。
    次の投稿で、エクスプローラーベースのコンソールと、ハードウェア関連のデバイスの組み込みについてまとめたいと思います。

    Written by Masayuki.Ozawa

    4月 22nd, 2010 at 4:01 pm

    Posted in Windows Embedded

    Exchange Server 2007 インストール時に Microsoft Exchange Transport サービスが起動できない

    one comment

    Exchange Server 2007 のインストール中に [Microsoft Exchange Transport] サービスが起動できず、
    インストールが失敗するという現象が発生しました。

    image
    エラーが発生するタイミング

    インストール中にこのサービスが起動しないということは [IPv6] 関連の設定かな~と思い、

    Windows Server 2008 ベースのコンピューターで、Exchange Server 2007 のハブ トランスポートの役割または Microsoft Exchange Server 2010 のハブ トランスポートの役割のインストールが失敗する

    の設定を見直したのですが、IPv6 もきちんと無効になっていました。

    では、IPv6 を有効にしたらどうかと思って試してみてもこちらもエラーに。

    現象としては、インストール時は [Microsoft Exchange Transport] サービス (MSExchangeTransport) が起動できないのですが、
    再起動してみると正常にサービスが起動できるという不思議な現象。

    イベントビューアーにはサービスの起動を試行しているタイミングでイベント ID [2114] が出力されているのですが、
    メッセージに出力されている、[Microsoft Exchange Active Directory Topology] も 正常に起動しているし、
    Exchange Server 2007 も適切な AD DS が使用されるようにサイトの設定も行っていました。
    # 再起動後にサービスが起動できるので AD 関連は問題ないんだろうな~と考えていました。

    セットアップのログをみると確かにサービスの起動を再試行しているログが出力されているのですが、原因となりそうな
    エラーは見当たらず、インストール時にサービスを起動しないセットアップモードがないのかな~と思い調べてみたら、
    そのものずばりなインストールのオプションがありました。
    # 検索サイトでもいろいろと確認していたら海外のサイトで同様の現象があり、サービスを起動しないモードで
     
    インストールを試してみてはという回答も見つかりました。

    無人モードで Exchange 2007 をインストールする方法

    [/DoNotStartTransport] というオプションがあり、このオプションの説明は以下のように記載されています。

    セットアップの完了時に Microsoft Exchange Transport サービスが起動しないように指定するには、
    /DoNotStartTransport パラメータを使用します。

    既定では、ハブ トランスポート サーバーの役割またはエッジ トランスポート サーバーの役割のいずれかを
    インストールした後に、セットアップ プログラムは Microsoft Exchange Transport サービスを開始します。
    エッジ トランスポート サーバーまたはハブ トランスポート サーバーが電子メール メッセージを受け付ける前に、
    たとえば、スパム対策エージェントの構成などの追加の構成を行う必要がある場合はこのパラメータを
    使用します。
    /RecoverServer パラメータを使用してハブ トランスポート サーバーまたはエッジ トランスポート サーバーを
    回復する場合に、このパラメータを使用することをお勧めします。
    これによって、Microsoft Exchange Transport サービスを開始する前に、障害が発生したサーバーから
    新しいサーバーの適切な場所にキュー データベースを移動できます。

    [/DoNotStartTransport] オプションの説明

    コマンドとしては以下のような形式になります。
    # 1 行で実行します。

    setup.com /mode:install /s:D: /role:M,H,C /OrganizationName:<Exchange 組織名>
    /dc:<ドメインコントローラー FQDN> /DoNotStartTransport

    ?

    コマンドからインストールを実行する場合は、インストール時に [Microsoft Exchange Transport] サービスを起動しないという
    設定をすることができます。

    今回は、インストール時だけなぜかサービスが起動できないという現象でしたのでこの方法で回避することができました。
    # インストールして再起動後も正常にサービスが起動でき、ロールアップも適用できました。

    再現環境が自宅に作れなかったので根本的な原因が分からなかったのが気にはなるのですが回避方法として使えるかと。

    Written by Masayuki.Ozawa

    4月 21st, 2010 at 3:26 pm

    Posted in Exchange