HP-UX

HP Service Guard管理

概要

Active-Standby構成

Fail Over後の構成

Fail Over時の動作

パッケージ制御スクリプト内で以下の処理を記述する。

[node1の停止処理]
・node1 プロセス停止
  # cmhaltserv サービス名      * cmhaltserv コマンドによりパッケージでのプロセス制御を行う。

・node1 NW-I/F停止      
  # cmmodnet -r -i IPアドレス SubnetMask

・node1 共有Disk 切断
  # fuser -ku /dev/vg02/lvol1  * ボリュームを使用しているユーザの強制終了
  # umount /dev/vg02/lvol1     * アンマウント
  # vgchange -a n /dev/vg02    * ボリュームグループを無効化

[node2の起動処理]
・node2 共有Disk 接続
  # vgchange -a e /dev/vg02    * eオプションは排他モード
  # fuser -ku /dev/vg02/lvol1  * ボリュームを使用しているユーザの強制終了
  # mount /mountpoint /dev/vg02/lvol1

・node2 NW-I/F起動
  # cmmodnet -a -i IPアドレス SubnetMask

・node2 プロセス起動
  # cmrunserv サービス起動コマンド  * cmrunserv コマンドによりパッケージでのプロセス制御を行う。

構築・設定

  1. 自動起動設定ファイル
  2. クラスタ構成ファイル
  3. パッケージ構成ファイル
  4. パッケージ制御スクリプト

自動起動設定ファイル

/etc/rc.config.d/cmcluster
AUTOSTART_CMLD=1   1: 自動起動する 0:起動しない

このファイルは、起動スクリプト /sbin/init.d/cmcluster から参照されるので
起動スクリプト [ /sbin/rc3.d/S800cmcluster ] を変更しなくても制御が可能。


クラスタ構成ファイル

クラスタ構成ファイルのテンプレートを作成する

# cmquerycl -v -C /etc/cmcluster/cmclconfig.ascii -n node01 -n node02

 * -C テンプレートファイルを指定。(テキスト)
 * -n クラスタを構成するノードを指定。

現在の設定値(バイナリファイル)をテキスト形式で出力する

# cmgetconf -v /etc/cmcluster.ascii

クラスタ構成ファイルのパラメータを記述する

ネットワークの設定

 node01 の lan0 はハートビートで使用する。            lan4は待機インタフェース
           lan1 はハートビートを使用しない(データ用)lan5は待機インタフェース
           lan8 はハートビートを使用しない(データ用)
 node02 も同じ設定。IPアドレスのみ変更する。

 FIRST_CLUSTER_LOCK_PV は 物理ディスクを指定する。


NODE_NAME		node01
  NETWORK_INTERFACE	lan0
    HEARTBEAT_IP		192.168.77.11   ハートビート用IP
  NETWORK_INTERFACE	lan4             lan0の予備
  NETWORK_INTERFACE	lan1
    STATIONARY_IP		10.1.25.101
  NETWORK_INTERFACE	lan5             lan1の予備
  NETWORK_INTERFACE	lan8
    STATIONARY_IP		10.1.254.51
#  CLUSTER_LOCK_LUN	
  FIRST_CLUSTER_LOCK_PV	/dev/dsk/c2t0d1

NODE_NAME			node02
  NETWORK_INTERFACE	lan0
    HEARTBEAT_IP		192.168.77.12
  NETWORK_INTERFACE	lan4
  NETWORK_INTERFACE	lan1
    STATIONARY_IP		10.1.25.102
  NETWORK_INTERFACE	lan5
  NETWORK_INTERFACE	lan8
    STATIONARY_IP		10.1.254.52
#  CLUSTER_LOCK_LUN	
  FIRST_CLUSTER_LOCK_PV	/dev/dsk/c2t0d1

クラスタ構成ファイルを検証する

# cmcheckconf -v -C /etc/cmcluster/cmclconfig.ascii

クラスタ構成ファイルの作成

# cmapplyconf -v -C /etc/cmcluster/cmclconfig.ascii


 * テキストのクラスタ構成ファイル( cmclconfig.ascii ) を
   バイナリ形式のファイルに変換する。
 * 他のクラスタ構成ノードに自動配布する。

・クラスタ構成ファイルの場所
/etc/cmcluster/cmclconfig

パッケージ構成ファイル

パッケージ構成ファイルの作成
# cmmakepkg -p /etc/cmcluster/pkg1/pkg1.conf

パッケージ制御スクリプト


パッケージ制御スクリプトに記述する項目

  標準的な構成の場合、スクリプトに記述する内容として以下のような
  流れで処理を記述する。
起動時 * コマンド
  1. ボリュームグループのアクティブ化 * vgchange
  2. ボリュームのマウント * mount
  3. 再配置可能IPを設定 * cmmodnet
  4. サービスの起動 * cmrunserv
停止時 * コマンド
  1. サービスの停止 * cmrunserv
  2. 再配置可能IPを削除 * cmmodnet
  3. ボリュームのアンマウント * unmount
  4. ボリュームグループの非アクティブ化 * vgchange
パッケージ制御スクリプトのテンプレート作成
# cmmakepkg -s /etc/cmcluster/pkg1/pkg1.sh

管理

  1. クラスタ情報の表示
  2. クラスタ起動 cmruncl
  3. クラスタ停止 cmhaltcl
  4. パッケージ起動 cmrunpkg
  5. パッケージ停止 cmhaltpkg

クラスタ情報の表示 cmviewcl

# cmviewcl -v    [-v] クラスタ全体に関する情報
CLUSTER      STATUS
example      up
  NODE         STATUS       STATE
  ftsys9       up           running

    Network_Parameters:
    INTERFACE    STATUS       PATH         NAME
    PRIMARY      up           56/36.1      lan0
    STANDBY      up           60/6         lan1

    PACKAGE      STATUS       STATE        AUTO_RUN     NODE
    ops_pkg1     up           running      disabled     ftsys9

      Policy_Parameters:
      POLICY_NAME      CONFIGURED_VALUE
      Start        configured_node
      Failback     manual

      Node_Switching_Parameters:
      NODE_TYPE    STATUS       SWITCHING    NAME
      Primary      up           enabled      ftsys9       (current)

  NODE         STATUS       STATE
  ftsys10      up           running

    Network_Parameters:
    INTERFACE    STATUS       PATH         NAME
    PRIMARY      up           28.1         lan0
    STANDBY      up           32.1         lan1

    PACKAGE      STATUS       STATE        AUTO_RUN     NODE
    ops_pkg2     up           running      disabled     ftsys10

      Policy_Parameters:
      POLICY_NAME      CONFIGURED_VALUE
      Start        configured_node
      Failback     manual

      Node_Switching_Parameters:
      NODE_TYPE    STATUS       SWITCHING    NAME
      Primary      up           enabled      ftsys10      (current)
      Alternate    up           enabled      ftsys9

クラスタ起動 cmruncl


   cmruncl は全てのクラスタノードが停止している場合に使用する。
  特定のクラスタノードを指定して起動する場合は -n オプションを指定する
  (例) # cmruncl -v -n node2 -n node3

  オプション:
    [-v] メッセージを表示
    [-n] クラスタノードを指定して起動
    [-w] 起動時ネットワーク設定の確認を省略

# cmruncl -v 

クラスタ停止 cmhaltcl


   cmruncl はクラスタ全体を停止する場合に使用する。

  オプション:
    [-v] メッセージを表示
    [-f] パッケージが起動中でも強制的に終了する

  cmhaltcl コマンドは、稼動中の全てのノードからも実行が可能。

# cmhaltcl -f -v

パッケージ起動 cmrunpkg

 特定のノードでパッケージを起動するには -n オプションでノード名を指定する。
-n オプションを省略した場合は、コマンドを実行したノードでパッケージがきどうされる。

# cmrunpkg -n node1 pkg1


パッケージを停止した場合、フェイルオーバー機能が無効 (AUTO_RUN = disabled) に
なるので、cmmodpkg -e パッケージ名 コマンドを使用してフェイルオーバー機能を
有効 (AUTO_RUN = enabled) に変更する。

# cmmodpkg -e pkg

# cmviewcl

-- 省略 --
    PACKAGE      STATUS       STATE        AUTO_RUN     NODE
    ops_pkg2     up           running      enabled      ftsys10
-- 省略 --


※ フェイルオーバー機能を無効にする場合。 # cmmodpkg -d pkg 

※ HP-UX 11i以前のバージョンの場合 AUTO_RUN は PKG_SWITCH と表示される。
# cmviewcl

-- 省略 --
    PACKAGE      STATUS       STATE        PKG_SWITCH     NODE
    ops_pkg2     up           running      enabled      ftsys10
-- 省略 --

障害でパッケージフェイルオーバーした場合

障害でパッケージフェイルオーバーした場合、
SWITCHNG ステータスが disabledに変更される。
この状態でパッケージは起動できないので SWITCHNG ステータスを enabled に変更する。

# cmmodpkg -e n node pkg

# cmviewcl -v -p pkg

 -- 省略 --
      Node_Switching_Parameters:
      NODE_TYPE    STATUS       SWITCHING    NAME
      Primary      up           enabled      ftsys10      (current)
      Alternate    up           enabled      ftsys9
-- 省略 --


Node_Switching_Parameters: は、cmviewcl -v オプションで表示される。

パッケージ停止 cmhaltpkg

パッケージを停止するには cmhaltpkg コマンドを使用する。
パッケージ停止後、他ノードへの切り替えは不可能(Switch=disable)になるので
次回パッケージ起動後に cmmodpkg コマンドで切り替え可能状態にする。


# cmhaltpkg pkg1

# cmhaltpkg -n node pkg1  * ノード指定する場合

先頭へ
      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google