none
MSCSでのサーバ再起動方法について RRS feed

  • 質問

  • はじめまして、Windows Server 2003のMSCS構成でサーバの再起動するにあたり、
    バッチを作成しようと考えております。
    しかし、MSCSのコマンドの種類/使い方がわからず、投稿します。

    ◆環境
    Windows2003ServerSP2(x64) + MSCS

    ◆MSCS環境
    ノード1、ノード2 + クォーラム共有ディスク
    の単純な単一クォーラムデバイスサーバクラスタです。

    ◆実際に行いたい事
    何も設定を行わない状態で、アクティブサーバ(ノード1)のシステム(OS)再起動を行うと、
    Failoverが行われて、アクティブサーバが<ノード2>に切り替わります。
    これを、以下のような運用を実施することを希望しています。

    1)アクティブサーバ(ノード1)のシステム(OS)再起動をしても、ノード2にFailoverされない。
    ※現在は、クラスタアドミニストレータを起動して、<ノード2サーバ>で、【ノードの一時停止】を
    実施する。
    2)<ノード2>の停止を確認してから、<ノード1サーバ>の再起動を行う。
    3)<ノード1サーバ>の起動を確認後、<ノード2サーバ>の再起動を実施。
    4)<ノード2サーバ>の起動を確認語、クラスタアドミニストレータにて【ノードの再開】を実行

    この一連を行うために、下記のスクリプトを作成できないかと考えています。

    1)スクリプトを実施しているサーバの<ノードサーバ名>を確認する。
    2)<ノードサーバ名>を元に、アクティブノード/スタンバイノードを確認する。
    2-1)アクティブノードの場合、スタンバイノードを 【ノードの一時停止】 を行う。
    2-2)スタンバイノードの 【ノードの一時停止】 を確認後、アクティブサーバを再起動する。
    2-3)再起動後、自PCが、アクティブノードで起動していることを確認する。
    アクティブノードで、かつ、スタンバイノードが、【ノードの一時停止】である場合は、【ノードの再開】を行う。
    2-11)スタンバイノードの場合、そのままサーバを再起動する。

    ※システム再起動後に実行するスクリプトは、タスクスケジュールの【サーバ起動時に起動するコマンド】として登録します。

    ◆知りたいこと
    1)スクリプト(バッチ)を実施しているサーバの<ノードサーバ名>を確認するコマンド例
    2)<ノードサーバ名>を元に、現在、アクティブなのか、スタンバイなのかを確認するコマンド例
    3)<ノードサーバ名>を元に、【ノードの一時停止】をするためのコマンド例
    4)<ノードサーバ名>を元に、【ノードの再開】をするためのコマンド例

    以上、アドバイス頂きたく、宜しくお願いいたします。
    2010年2月26日 9:29

回答

  • こんにちは。

    コマンドは、それぞれ以下が挙げられます。

    1)スクリプト(バッチ)を実施しているサーバの<ノードサーバ名>を確認するコマンド例
    ->setコマンドのCOMPUTERNAME変数の値
    2)<ノードサーバ名>を元に、現在、アクティブなのか、スタンバイなのかを確認するコマンド例
    ->アクティブなのか、スタンバイなのかは、クラスタリソースが動作しているかどうかの違いです。Cluster res コマンドでリソースがオンラインになっているか、オフラインになっているかで確認できます。
    3)<ノードサーバ名>を元に、【ノードの一時停止】をするためのコマンド例
    ->Cluster node <nodename> /pause
    4)<ノードサーバ名>を元に、【ノードの再開】をするためのコマンド例
    ->Cluster node <nodename> /resume

    Cluster コマンドはこちらを見てください。
    コマンド ラインからサーバー クラスタを管理する
    http://technet.microsoft.com/ja-jp/library/cc779044(WS.10).aspx

    複雑な処理を行う場合、WMIのスクリプトも検討対象になります。
    Failover Cluster Provider Reference
    http://msdn.microsoft.com/en-us/library/aa372876(VS.85).aspx

     

    2010年2月26日 12:35

すべての返信

  • こんにちは。

    コマンドは、それぞれ以下が挙げられます。

    1)スクリプト(バッチ)を実施しているサーバの<ノードサーバ名>を確認するコマンド例
    ->setコマンドのCOMPUTERNAME変数の値
    2)<ノードサーバ名>を元に、現在、アクティブなのか、スタンバイなのかを確認するコマンド例
    ->アクティブなのか、スタンバイなのかは、クラスタリソースが動作しているかどうかの違いです。Cluster res コマンドでリソースがオンラインになっているか、オフラインになっているかで確認できます。
    3)<ノードサーバ名>を元に、【ノードの一時停止】をするためのコマンド例
    ->Cluster node <nodename> /pause
    4)<ノードサーバ名>を元に、【ノードの再開】をするためのコマンド例
    ->Cluster node <nodename> /resume

    Cluster コマンドはこちらを見てください。
    コマンド ラインからサーバー クラスタを管理する
    http://technet.microsoft.com/ja-jp/library/cc779044(WS.10).aspx

    複雑な処理を行う場合、WMIのスクリプトも検討対象になります。
    Failover Cluster Provider Reference
    http://msdn.microsoft.com/en-us/library/aa372876(VS.85).aspx

     

    2010年2月26日 12:35
  • こんにちは、フォーラムオペレーターの三沢健二です。

    中年やっちゅうねん さん、ご丁寧な回答ありがとうございます。

    それでは大変参考になるアドバイスと思いましたので、勝手ながら [回答としてマーク] を付けさせていただきました。


    今後とも TechNet Forum をよろしくお願いします。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2010年3月5日 4:21
    モデレータ