Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP-UX   >  Knowledge-on-Demand  >  HAクラスターの教科書

HAクラスターの教科書
〜簡単!ライバルに差をつけるHP Serviceguard構築〜

第5日目:パッケージを構成する

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
第5日目:パッケージを構成する

2時間目:パッケージ・コントロール・スクリプトの作成

1時間目で学んだパッケージのメカニズムをふまえた上で、パッケージ・コントロール・スクリプトを作成しましょう。まずはcmmakepkgコマンドを使用し、同スクリプトのテンプレートを作成します。
HAクラスターの教科書応用編〜簡単!ライバルに差をつけるHP Serviceguard構築〜 5日目
パッケージを構成する
パッケージ・コントロール・スクリプトの作成

# cmmakepkg -s /etc/cmcluster/cifs/cifs-pkg.sh
Package control script is created.
This file must be edited before it can be used.

つづいて、同スクリプトの必要箇所を編集します。まずは、共有ボリュームに関する設定を以下のように記述します。

VG[0]="vg02"
LV[0]="/dev/vg02/lvol1"
FS[0]="/CIFS-test"
FS_MOUNT_OPT[0]=""
FS_UMOUNT_OPT[0]=""
FS_FSCK_OPT[0]=""
FS_TYPE[0]="vxfs"

ここでは、cifsパッケージが用いるボリュームグループ名(vg02)をはじめ、論理ボリューム名(/dev/vg02/lvol1)、そしてファイルシステム名(/CIFS-test)とファイルシステムの種類(vxfs)を指定しています。

つづいては、ネットワークに関する設定を以下のように記述します。

IP[0]="10.1.2.13"
SUBNET[0]="10.1.2.0"

この例では、cifsパッケージが利用するリロケータブルIPとして10.1.2.13を指定しています。よってフェイルオーバー時には、このIPアドレスがプライマリ・ノードからセカンダリ・ノードへと引き継がれます。

最後に、サービスに関連する設定を以下のように記述します。

SERVICE_NAME[0]="cifs"
SERVICE_CMD[0]="/opt/samba/bin/smbstart.sh
SERVICE_RESTART[0]=""

上記の例では、サービス名(cifs)を指定し、またアプリケーションの起動に用いるスクリプト名を指定しています。


パッケージの検証とクラスターへの組み込み

以上の作業で、パッケージの構成は完了です。ここで以下のコマンドを実行して、パッケージ構成ファイルの整合性を検証します。

# cmcheckconf -v -P /etc/cmcluster/cifs/cifs-pkg.conf
Begin package verification...
<中略>
cmcheckconf: Verification completed with no errors found.

整合性が確認されたならば、cmapplyconfコマンドを使用して、パッケージをクラスターに組み込みます。途中、「Modify the package configuration ([y]/n)?」と聞かれますので、「y」と入力します。

# cmapplyconf -v -P /etc/cmcluster/cifs/cifs-pkg.conf 
Begin package verification...
<中略>
Adding the package configuration for package cifs-pkg.
Modify the package configuration ([y]/n)? y
Completed the cluster update

これにより、cifsパッケージがクラスターに組み込まれました。cmviewclコマンドを使用すると、パッケージの組み込み状態を確認できます。

# cmviewcl
CLUSTER        STATUS       
cluster1       down         
  
  NODE           STATUS       STATE        
  serverA       down         unknown      
  serverB       down         unknown      
    
UNOWNED_PACKAGES
    PACKAGE        STATUS        STATE         AUTO_RUN     NODE        
    cifs-pkg       down          halted        enabled      unowned

このように、cifs-pkgパッケージが登録され停止状態であることがわかります。続いて、CIFSサーバのプロセス(今回はsmbdを対象とします)を監視するスクリプトを、以下のように作成します。

#vi smb-start.sh
"smb-start.sh" [New file]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"smb-start.sh" [New file]
#!/usr/bin/sh
/opt/samba/bin/startsmb
while true
do
  line=`ps -ef | grep smbd | grep -v grep | wc -l`
  if [ $line = 0 ]
  then
    break
  fi
done

# chmod 755 smb-start.sh

以上で、必要なすべてのスクリプトが作成されました。ここまで作成したすべてスクリプトをセカンダリ・ノードへ転送し、適切なディレクトリに配置しておきます。

ではさっそく、HP Serviceguard上でパッケージを起動してみましょう。

# cmruncl
cmruncl: Validating network configuration...
cmruncl: Network validation complete
Waiting for cluster to form ..... done
Cluster successfully formed.
Check the syslog files on all nodes in the cluster to verify that no warnings 
occurred during startup.

パッケージを起動後、その稼働状態をcmviewclコマンドで確認します。

# cmviewcl

CLUSTER      STATUS       
cluster1         up           
  
  NODE          STATUS    STATE        
  serverA         up          running      

    PACKAGE      STATUS     STATE     AUTO_RUN    NODE        
    cifs-pkg          up           running    enabled        serverA
 
  NODE          STATUS      STATE        
  serverB         up            running

石ノ上君:
パッケージが起動しました!これでやっとHAクラスターの完成ですね!
石ノ上君
ボブ先生
ボブ先生:
ご苦労さんだったね!でも、まだこの段階ではHAクラスターの構築がすべて終わったとは言えないよ。やはりきちんとした障害テストを実施して、どんな状況でもHAクラスターが正しく動作することを確認して初めて完成なんだ。
石ノ上君:
……たしかにせっかくの高可用性クラスターも、ちゃんとテストしなければ絵に描いた餅ですね。では喜ぶのは次回までのお預けとしましょう!
石ノ上君

練習問題

第1問:フェイル・オーバ後もパッケージで起動しているサービスにアクセスを続けるためには、どのIPアドレスでサービスにアクセスすればよいでしょうか?

a) ServerA(プライマリ・サーバ)のIPアドレス 10.1.2.11
b) ServerB(スタンバイ・サーバ)のIPアドレス 10.1.2.12
c) リロケータブルIPアドレス 10.1.2.13
d) 自分で新たに作成した任意のIPアドレス
正解はこちら
c)
リロケータブルIPアドレスにアクセスすることによって、プライマリ・スタンバイのサーバ上のどちらでパッケージが起動していても、サービスに接続することができます。

第2問:パッケージを構成する際には、どのファイルが必要になるのでしょうか?

a) パッケージ構成ファイルとパッケージ・コントロールスクリプト
b) パッケージ構成ファイルのみ
c) パッケージ・コントロールスクリプトのみ
d) クラスター構成ファイルに追加すればよい。
正解はこちら
a)
パッケージ構成ファイルとパッケージ・コントロールスクリプトが必要です。

第3問:パッケージの中で実際に起動するプロセスを監視したい場合にはどのように定義したらよいでしょうか?

a) サービス
b) プロセス
c) パッケージ名
d) ノード名
正解はこちら
a)
パッケージの中で、サービスという単位で定義します。

第4問:クラスターの中でパッケージが起動中かどうか、どのコマンドで状態確認が可能でしょうか?

a) cmviewpkg
b) cmviewcl
c) cmmakepkg
d) cmcheckpkg
正解はこちら
b)
クラスターの状態確認はcmviewclコマンドで行います。

連載記事一覧 戻る 1  |  2

教科書シリーズ 「UNIXの教科書」 「HAクラスターの教科書」 連載記事一覧

UNIXの教科書「基礎編」

第1日目:ログインしてコマンドを実行してみる
第2日目:ディレクトリやファイルを操作してみる
第3日目:シェルの基本を知る
第4日目:ファイルの基本操作
第5日目:viエディタの操作(基本編)
第6日目:リダイレクションとパイプを活用する
期末試験

UNIXの教科書「応用編」

第1日目:grepコマンドと正規表現
第2日目:ファイルの検索
第3日目:viエディタの操作(活用編)
第4日目:ファイルの圧縮とアーカイブ
第5日目:ジョブとプロセスの操作
第6日目:シェルの環境設定
第7日目:シェルスクリプトでより便利に
期末試験

UNIXの教科書「運用編」

第1日目:ユーザーの管理
第2日目:ファイルの安全管理(その1)
第3日目:ファイルの安全管理(その2)
第4日目:ネットワークの基本を理解する
第5日目:ネットワーク関連のコマンド
第6日目:システム情報の表示
期末試験 New!

HAクラスターの教科書

第1日目:ハードウェア構成を知る
第2日目:ネットワークを設定する
第3日目:共有ディスクを構成する
第4日目:HAクラスターを構成する
第5日目:パッケージを構成する
第6日目:障害テストを実施する
期末試験

 その他の連載記事


本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項