• クラスター共有ボリューム (CSV) の最大数について

    こんにちは。Windows プラットフォーム サポートの加藤です。
    本日は、Windows Server 2008 R2 のクラスター共有ボリューム (CSV) の最大数についてお伝えします。

    クラスター共有ボリューム (CSV) の最大数自体には制限がないため、登録できるボリュームの数は、OS で認識可能な LUN の数と同じです。

    Windows Server 2008 R2 のサポートする LUN の最大数は、以下の通りです。

     

    SCSI、FC 接続
    - 各 HBA アダプターにつき 8 個のバス
    - ひとつのバスにつき 128 個のターゲット ID
    - ひとつのターゲット ID につき 255 個の LUN

     

    iSCSI 接続
    - Windows Server 2008 R2 標準の iSCSI イニシエーターの最大ターゲット数は 255 個
    - ひとつのターゲット ID につき 255 個の LUN

    なお、OS 側の制限に達する前に、ストレージの仕様により、最大数の制限を受ける可能性があります。
    例えば、Microsoft iSCSI Software Target 3.3 では、ひとつのターゲットにマッピングできる LUN 数は 128 個までという制限があります。
    ストレージ側の仕様については、ハードウェアベンダーにお問い合わせください。

     

    [参考資料]
    文書番号 : 310072
    - Adding support for more than eight LUNs in Windows Server 2003 and in Windows 2000
    http://support.microsoft.com/kb/310072/en-us
    ※ Windows Server 2003 までの情報となっておりますが、Windows Server 2008 R2 についても同様です。

    文書番号 : 2821904
    Windows Server 2008 R2 における iSCSI イニシエーターの最大接続数について
    http://support.microsoft.com/kb/2821904

  • クラスター環境で推奨されるネットワークの本数について

    こんにちは。Windows プラットフォーム サポートの戸田です。

    日々のサポート業務の中で、よくお問い合わせを頂く内容についてご紹介します。

     

    複数の Windows が連携して動作するフェールオーバー クラスター環境では、ノード間の相互接続が正常であることが、クラスターの安定動作のために重要です。

    フェールオーバー クラスターを構築する場合、冗長化のために少なくとも各ノード毎に 2 つの物理 NIC を用意いただくことを推奨していますが、環境によってさらに物理 NIC が必要となります。

    構成により様々な用途でネットワークが使用されるため、結局いくつの NIC が必要になるのかが分からないといった声もいただきます。この記事では、フェールオーバー クラスター環境を計画、構築いただく際に考慮いただきたいネットワーク構成についてお伝えします。

     

    まずは表で簡単にまとめ、それぞれについては以下に説明します。

    環境 ノード毎に必要な物理 NIC の枚数と用途
     フェールオーバー クラスター環境  2 (a)(b)
     ライブ マイグレーション環境  + 2 (d)(e)
     iSCSI 環境 + 1 (f)

     

    まずクラスターで使用されるネットワークは以下の 2 種類の役割(a)(b)を持っています。

     

    (a) クラスターノードのみで使用するネットワーク

     プライベート ネットワークとも呼ばれ、ノード間の同期、クラスター通信に利用されます。「フェールオーバー クラスター マネージャー」のネットワークのプロパティで「このネットワークでのクラスター ネットワーク通信を許可する 」が選択されたネットワークです。

     

    (b) クライアント アクセス ポイントで使用するネットワーク

    パブリック ネットワークとも呼ばれます。上記に加えクラスター外のホストとの通信を行います。デフォルト ゲートウェイの設定を持ち、ドメイン コントローラーとの通信や、DNS サーバーとの通信で使用されます。「フェールオーバー クラスター マネージャー」のネットワークのプロパティで「このネットワークでのクラスター ネットワーク通信を許可する 」「クライアントにこのネットワーク経由の接続を許可する」が選択されたネットワークです。このネットワークのみでもクラスターを構成することは可能ですが、クラスター相互接続の冗長化のため、複数のネットワーク経路を用意いただくことを推奨しています。

    - 参考資料
      フェールオーバー クラスターのネットワーク設定を変更する
         http://technet.microsoft.com/ja-jp/library/cc725775.aspx

     

    CSV を使用するライブ マイグレーション環境ではさらに以下の用途(c)(d)(e) のネットワークを考慮していただく必要があります。

     

    (c) CSV (Cluster Shared Volumes) へのアクセス (リダイレクト I/O ) のためのネットワーク。

    通常 (a) のネットワークが使用されるので、個別に用意する必要はありません。

     

    (d) ライブ マイグレーション用のネットワーク

    仮想マシンのライブ マイグレーション処理では、仮想マシンのメモリー情報をこのネットワークを使って転送します。定常的ではないにしろ、相当量のトラフィックが流れることが予想されるため独立したネットワークを用意します。このネットワークの選択は 「フェールオーバー クラスター マネージャー」 から仮想マシンのプロパティを開き、[マイグレーション用ネットワーク] タブで、指定と優先順位の設定ができます。

     

    (e) Hyper-V 仮想マシン(ゲスト OS) 用のネットワーク

    ホスト マシン、ゲスト マシンのトラフィックを分けるため  「Hyper-V マネージャー」の「仮想ネットワークマネージャー」 にて 「管理オペレーティングシステムにこのネットワーク アダプターの共有を許可する」 のチェックを外し、仮想マシン専用の 物理 NIC として使用されることを推奨します。

     

    ライブ マイグレーション環境では上記 (a) ~ (d) ( a と c は併用) のネットワーク として、また仮想マシン専用(e)の NIC を加えて 4 つの物理 NIC を用意いただくことを推奨します。

     

    (f)  iSCSI ストレージ用のネットワーク

     iSCSI のストレージをご利用いただく場合には、さらに専用の NIC が必要となります。この 物理 NIC はクラスターでは使用せずネットワークのプロパティで 「このネットワークでのクラスター ネットワーク通信を許可しない」を選択しておきます。

    フェールオーバー クラスターは障害検出を以って高可用性を実現するプロダクトです。一時あるいは定常的に流れる大量のトラフィックによってクラスター通信の遅延などが発生しないように考慮いただくことがネットワーク分離の考え方の基となっています。 (f) は iSCSI ストレージ用とご案内していますが、クラスター用途とは直接の関係のない、バックアップやデータ転送などの用途で使用するネットワークも同様の扱いとなります。

     

    なお、この記事でご案内したネットワーク (NIC) の数については、クラスター環境で必ずこうしなければいけないというものではなく、一つの指針としてご理解ください。もし現在運用されているクラスター環境でネットワーク障害が検出されることが多いという場合にはこれら、用途別のネットワークの分離について一度ご確認をいただけると幸いです。

    詳細については以下の公開資料がありますので、ご一読いただければと思います。

    - 参考資料
      Hyper-V: Live Migration Network Configuration Guide公開
        http://technet.microsoft.com/en-us/library/ff428137(WS.10).aspx

     

     

     

  • ソース :SRMSVC イベント ID:12339,12344 の対処方法

    こんにちは。 Windows テクノロジー サポートの江田です。

    今回は、 ドメインコントローラーに Windows Server 2012 が存在しない環境において Windows Server 2012 のドメインに参加するサーバー上にてファイル サーバー リソース マネージャーの機能を導入している際に、以下のイベント (ソース:SRMSVC,イベント ID:12339,12344) が 15分程度の間隔で記録される場合の対処方法についてご紹介いたします。

     

     

     

    本メッセージ自体は、ドメイン コントローラーと同期した際に Windows Server 2012 に対応したスキーマ定義がないことが原因で記録されます。

    対応策としては、以下のいずれかとなります。なお、イベントについては、 ドメイン コントローラーに Windows Server 2012 より追加された機能を保有しているかの確認をし、保有していない旨のイベントになりますので無視していただいても構いません。 

    • Windows Server 2012 のドメイン コントローラーを導入していただく
    • 現在使用している DC のスキーマのバージョンを Windows Server 2012 にする

    なお、スキーマのバージョン アップの手順については、以下の資料をご参照ください。


               Adprep.exe の実行 
               http://technet.microsoft.com/ja-jp/library/dd464018(v=ws.10).aspx
               -> adprep.exe /forestprep
               -> adprep.exe /domainprep

    運用や環境に合わせて対策を選択していただければと思います。

     

  • Windows 8 と Windows Server 2012 の自動メモリ ダンプについて

    こんにちは。Windows プラット フォーム サポートの高山です。

    今回は、Windows 8 / Windows Server 2012 の新機能のひとつ、自動メモリ ダンプについてご紹介いたします。

     
     
       
      
     

    自動メモリ ダンプは、ページング ファイルのサイズを自動で割り当てる機能と連動します。普段はページング ファイルを小さめに設定し、STOP エラーなどの障害発生時にページング ファイルを物理メモリとほぼ同等のサイズに割り当てなおすことで、次回にSTOP エラーが再発した場合に、正常なダンプ ファイルが出力されるようにするという機能です。出力されるダンプ ファイルの種類はカーネル メモリ ダンプです。

     

    自動メモリ ダンプの機能を発揮するためには、仮想メモリを [すべてのドライブのページング ファイルのサイズを自動的に管理する] や  [システム管理サイズ] に設定している必要があります。つまり、[カスタム サイズ] で任意のサイズに設定している場合は、”自動メモリ ダンプ” に設定していても、従来の ”カーネル メモリ ダンプ” に設定している場合と、あまり差異はないということになります。

     

     

     

    従来の OS では、仮想メモリの設定を  [システム管理サイズ] に設定している場合、搭載している物理メモリと同程度のページング ファイルを作るようにしていましたが、物理メモリの大容量化、SSD の普及により、ページング ファイルの省サイズ化もニーズとして求められています。そこで Windows 8 / Windows Server 2012 では、物理メモリよりもページング ファイルのサイズを小さくするように動作が変更されています。

     

    しかし、STOP エラーなどの障害発生時に正常なメモリ ダンプを出力するためには、STOP エラー発生時のメモリの使用状況にもよりますが、ページング ファイルのサイズが小さいと、ダンプ ファイルは完全な形では出力されない場合があります。自動メモリ ダンプは、STOP エラーなどによる障害が発生した際、自動的にページング ファイルのサイズを調整し、物理メモリと同程度まで拡張させることで、次回 STOP エラーが発生すると正常なカーネル メモリ ダンプ ファイルが出力されるように備えます。

     

    4GB (4096MB) の物理メモリを搭載している環境で、ちょっとした検証をしてみましょう。

    自動メモリ ダンプを有効にし、仮想メモリはシステム管理サイズに設定します。

     

    1) [現在の割り当て] を確認するとページング ファイルのサイズは 704 MB となっています。

     

     

    2) STOP エラーを発生させます。

     

     

    3) STOP エラー発生後のページング ファイルを確認すると、4096 MB に拡張されました。

     

      

    STOP エラーによって再起動された場合、レジストリ キーに “LastCrashTime” という項目を追加し、障害発生時のタイム スタンプを記録します。LastCrashTime が記録されたタイム スタンプから 4 週間、STOP エラーが発生しなければ、ページ ファイルのサイズは自動的に元の拡張前のサイズに縮小させます。

     

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

      名前: LastCrashTime

      種類: REG_DWORD

     

    なお、直ちに、ページ ファイルのサイズを拡張前のサイズに戻す必要がある場合は、レジストリから “LastCrashTime” を手動で削除し、システムの再起動を行うと拡張前のサイズに戻すことも可能です。

     

    現在使っているシステムでは、どの種類のメモリ ダンプを選べば良いのかという疑問も出てくるかと思いますが、その点については仮想メモリのサイズをどうしたいのか、という部分と密接に関係しているので、また別の機会に改めてご紹介したいと思います。

  • Server サービス異常終了時に、クラスターサービスに与える影響と回避策について

    こんにちは。Windows プラットフォーム サポートの加藤です。
    本日は Server サービス異常終了時に、クラスターサービスに与える影響と回避策についてお伝えします。

     

    ・現象

    CSV を使用したHyper-V クラスター環境で、突然 CSV のコーディネーター ノード以外のノードから CSV にアクセスできなくなり、仮想マシンが停止してしまうお問い合わせを���くいただいています。

    また、ファイルサーバーをクラスター化している環境では、ファイル サーバー リソースが障害となりフェールオーバーするお問い合わせもいただいております。

    これらの現象が発生した際、以下の Server サービスの予期せぬ停止イベントが記録されていることがあります。

     

     システム ログ
    ------------------
    エラー,Service Control Manager,7031,,Server サービスは予期せぬ原因により終了しました。このサービスの終了は 1 回目です。次の修正操作が 60000 ミリ秒以内に実行されます: サービスの再開。
    ------------------


    また、上記の Server サービスの予期せぬ停止イベント以外にも多数のサービスが停止したイベントが記録されます。
    同時間帯には、アプリケーション ログに以下のようなエラーも記録されます。

     

    アプリケーション ログ
    例:
    ------------------
    エラー,Application Error,1000,(100),"障害が発生しているアプリケーション名: svchost.exe_ProfSvc、バージョン: 6.1.7600.16385、タイム スタンプ: 0x4a5bc3c1
    障害が発生しているモジュール名: wmiprvsd.dll、バージョン: 6.1.7601.17514、タイム スタンプ: 0x4ce7ca79
    ------------------

    上記のアプリケーション エラーは、svchost.exe が、何らかの原因でクラッシュしたことを示しています。
    svchost.exe は、OS内の各種サービスをホストする汎用的なプロセスで、ひとつの svchost.exe で複数のサービスを管理しています。
    あるサービスの処理において異常が発生すると、svchost.exe 自体がクラッシュし、当該 svchost.exe によって起動されたサービスはすべて停止します。
    そのため、このクラッシュが Server サービス以外のサービスの問題により発生しても、Server サービスも影響を受けてしまいます。

    Server サービスが停止した場合には、CSV を正常に利用することができません。
    その理由は、CSV のコーディネーターノード以外のノードから、CSV にアクセスする際には、コーディネーターノードとの SMB による通信が必要なためです。
    Server サービスは、SMB 通信を提供するサービスであり、このサービスが停止すると、非コーディネーターノードから、CSV へのアクセスが一切できなくなります。

    また、同様にファイルサーバー リソースも、Server サービスが停止するとアクセスができなくなり、クラスターの正常性チェックで異常が検出され、フェールオーバーが発生します。

    根本原因を解決するには、svchost.exe がクラッシュした原因を追究する必要がありますが、原因が特定できるまでの間に現象が再発してしまうと、再び仮想マシンが停止し業務に影響が発生します。
    そこで、他のサービスの問題で svchost.exe がクラッシュした際に CSV への影響を抑えるために、プロセスを分離する回避策があります。

     

    ・ホストプロセスの分離
    前述のように、svchost.exe は複数のサービスを管理しています。
    Server サービス以外のサービスの問題が、Server サービスに影響を与えないようにするには、ひとつの svchost.exe で Server サービスを管理するように構成を変更します。
    これにより、Server サービスは、他のサービスの svchost.exe とは独立するため、他のサービスの問題に起因する svchost.exe のクラッシュの影響を受けなくなります。
    なお、分離を実施することで svchost.exe プロセスがひとつ増えますが、もともと OS には複数の svchost.exe が存在しており、増えることでシステムに影響を与えることはありません。

     

    - 手順
    Server (LanmanServer) サービスにおけるホストプロセスの分離について

    ---------------------------------------------------------
    (1) コマンド プロンプトから "Tasklist /svc" を実行し、Server (LanmanServer) サービスが含まれている svchost.exe を確認します。

    実行例:
    C:\>Tasklist /svc

    イメージ名                     PID サービス
    ========================= ======== ============================================
    System Idle Process              0 N/A
    System                          4 N/A


    svchost.exe                   1020 AeLookupSvc, Appinfo, AppMgmt, BDESVC,
                                       BITS, CertPropSvc, EapHost, gpsvc, hkmsvc,
                                       IKEEXT, iphlpsvc, LanmanServer, MMCSS,
                                       ProfSvc, Schedule, SENS, ShellHWDetection,
                                       Themes, wuauserv

     

    (2) コマンドプロンプトから "sc config LanmanServer type= own" を実行します。

    実行例:
    C:\>sc config LanmanServer type= own
    [SC] ChangeServiceConfig SUCCESS

     

    (3) OS をリブートします。

     

    (4) コマンドプロンプトから "Tasklist /svc" を実行し、LanmanServer サービスが他多数のサービスと分離して、単独のホストプロセスにロードされたことを確認します。

    実行例:
    Tasklist /svc

    イメージ名                     PID サービス
    ========================= ======== ============================================
    System Idle Process              0 N/A
    System                          4 N/A


    svchost.exe                   3136 LanmanServer


     

    以上で分離作業は完了です。