rPowerGres on Linux HA 運用マニュアル• SteelEye、LifeKeeper は、米国 SteeleEye Technology, Inc. の商標または登録商標です。
• Linux は、Linus Torvalds の米国およびその他の国における商標または登録商標です。

• その他、本マニュアル中で記載している会社名、商品名は一般に各社の商標または登録商標です。なお、本マニュアル中では、TM マークおよび rマークは明記していません。

目次
1

はじめに

22

基本的な操作

2

2.1

LifeKeeper GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

2.2

マニュアルの参照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3モニタリング

43.1状態の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43.2

ログの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73.3

SNMP トラップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11メンテナンス

124.1

LifeKeeper の起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124.2

LifeKeeper GUI Server の起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134.3

PowerGres の起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134.4

PowerGres Administrator Tool の起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . . .

14フェイルオーバーとスイッチオーバーの確認

155.1

フェイルオーバーの確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

155.2

スイッチオーバーの確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15FAQ1634561

1 はじめに本マニュアルは PowerGres on Linux HA の日常的な運用について記述したものです。より詳しい説明が必要なときにはそれぞれのマニュアルを参照してください。マニュアルの参照については 2.2 を参照してください。

2 基本的な操作
2.1 LifeKeeper GUI2.1.1 LifeKeeper GUI の起動
LifeKeeper GUI を起動するとダイアログが表示されます。Server Name、Login、Password にそれぞれログインするサーバ名、ユーザ名、パスワードを入力し、OK をクリックすると LifeKeeper GUI にログインすることができます。
■コマンドラインからの起動¨§

コマンドラインから LifeKeeper GUI を起動するには以下のように lkGUIapp コマンドを実行します。

¥¦$ /opt/LifeKeeper/bin/lkGUIapp &■Web ブラウザからの起動

Web ブラウザから LifeKeeper GUI を起動するには以下の URL にアクセスします。server name にはサーバ名を指定します。

http://server name:81/

2.1.2 LifeKeeper GUI の画面構成
LifeKeeper GUI にログインすると以下のような画面が表示されます。

2

LifeKeeper GUI の画面では以下のようにリソース階層やサーバ、リソースの状態を確認することができます。
■リソース階層の状態■サーバの状態■リソースの状態

2.2 マニュアルの参照
2.2.1 LifeKeeper のマニュアル
LifeKeeper のマニュアルには「LifeKeeper on Linux 日本語マニュアル」CD-ROM に含まれる PDF ファ
イル (「Release Notes」、「Planning and Instllation Guide」、「IP Recovery Kit Administration Guide」)とオンラインマニュアルがあります。
■manLifeKeeper のコマンドのマニュアルを参照するにはコマンドラインから以下のように man コマンドを実行します。name にはマニュアルを参照するコマンド名を指定します。

3¨§

¨§

¥

# man -M /opt/LifeKeeper/man name
例えば、lkstart コマンドのマニュアルを参照するには以下のように man コマンドを実行します。

¦¥¦# man -M /opt/LifeKeeper/man lkstart■Online Product Manual「Online Product Manual」を参照するには Web ブラウザから以下の URL にアクセスします。server nameにはサーバ名を指定します。

http://server name:81/help/lksstart.htm
また、LifeKeeper GUI のメニューから Help、Contents を選択することによって「Online ProductManual」を参照することもできます。
2.2.2 PowerGres のマニュアル
PowerGres のマニュアルには「PowerGres on Linux HA」CD-ROM に含まれる PDF ファイル (「PowerGres on Linux HA マニュアル」、「PowerGres Administrator Tool 操作マニュアル」) とオンラインマニュ
アルがあります。
■man

PowerGres のコマンドのマニュアルを参照するにはコマンドラインから以下のように man コマンドを実行¨

します。name にはマニュアルを参照するコマンド名を指定します。

§¨§# man -M /opt/powergres/man name
例えば、psql コマンドのマニュアルを参照するには以下のように man コマンドを実行します。

¥¦¥¦# man -M /opt/powergres/man psql

■PostgreSQL 日本語マニュアル

1. Web ブラウザから PowerGres Administrator Tool にアクセスし、ログインします。
2. タブから HELP を選択し、manual をクリックします。

3 モニタリング
3.1 状態の確認
3.1.1 正常な状態■LifeKeeper GUI からの確認

4

1. サーバの状態がプライマリサーバ、バックアップサーバともに Alive となっている。
2. コミュニケーションパスの状態がすべて Alive となっている。
（a）メニューから Edit、Server、Properties... を選択するとダイアログが表示されます。
（b）タブから CommPaths を選択するとコミュニケーションパスの状態が表示されます。

（c）OK をクリックするとダイアログが閉じられます。

3. リソース階層の状態がすべて ISP (In-Service, Protected) となっている。
4. すべてのリソースの状態がいずれかのサーバで ISP (In-Service, Protected) となっている。
■コマンドラインからの確認¨

コマンドラインから正常な状態を確認するには以下のように lcdstatus コマ¥

ンドを実行します。

§¦# /opt/LifeKeeper/bin/lcdstatus -q• プライマリサーバで lcdstatus コマンドを実行するとリソースの状態が ISP (In-Service, Protected)となっている。

• バックアップサーバで lcdstatus コマンドを実行するとリソースの状態が OSU (Out-of-Service,Unipaired) となっている。

• コミュニケーションパスの状態が ALIVE となっている。
3.1.2 エラーの表示例■コミュニケーションパスのエラー

5■ネットワークのエラー■サーバのエラー6

3.2 ログの表示
3.2.1 LifeKeeper のログの表示
LifeKeeper では 6 種類のログが記録されます。
log

このログには LifeKeeper が保護しているアプリケーションやリソースに関する情報が含まれます。ア
プリケーションの remove および restore スクリプトによって出力される情報、LifeKeeper の停止や起動、サービスの起動やフェイルオーバーなど、LifeKeeper のほとんどのイベントがこのログに記録されます。

LCD このログには LCD についての情報が含まれます。LifeKeeper データベースやその状態の変化に関する情報がこのログに記録されます。

LCM このログには LCM についての情報が含まれます。TCP コミュニケーションパスのイベントや状態の変化がこのログに記録されます。

TTYLCM このログには TTYLCM についての情報が含まれます。TTY コミュニケーションパスのイベントや状態の変化がこのログに記録されます。

remote exec このログにはすべてのリモートな LifeKeeper のリクエストが記録されます。
GUI

このログには LifeKeeper GUI についての情報が含まれます。

SNMP このログには SNMP トラップについての情報が含まれます。
■LifeKeeper GUI からの表示¥

1. LifeKeeper GUI を起動し、ログインします。
¨§¦# /opt/LifeKeeper/bin/lkGUIapp &7

2. メニューから Edit、Server、View Logs... を選択するとダイアログが表示されます。
3. Server からログを表示するサーバを選択します。
4. Log Type からログの種類を選択します。
5. Log Size からログのサイズを選択します。
6. OK をクリックするとダイアログが閉じられます。

■コマンドラインからの表示

LifeKeeper のログはパイプと循環ファイルによって実装されているため、テキストエディタから読み込むことができません。コマンドラインからログを表示するには root ユーザで以下のように lk log コマンドを実行します。lk log コマンドはログを表示するためのコマンドです。log にはログの種類 (log、LCD、LCM、TTYLCM、remote exec、GUI、SNMP のいずれか) を指定します。
¨§¨# /opt/LifeKeeper/bin/lk_log log¦

例えば、log という種類のログを /tmp/lk.log ファイルに出力するには以下のように lk log コマンドを実行します。

§¥# /opt/LifeKeeper/bin/lk_log log > /tmp/lk.log
なお、/tmp/lk.log ファイルはテキストエディタから読み込むことができます。

■ログの表示例
コミュニケーションパスの障害

COMMUNICATION TO srapc2051 BY 192.168.11.1/192.168.11.2 FAILED AT: 木 10 月 2120:46:52 JST 2004

8¥¦

ネットワークの障害

LifeKeeper: pingfail: Local recovery failed for IP instance ip-133.137.45.71/opt/LifeKeeper/bin/recover: recovery failed after event "ip,pingfail" using
recovery at resource "ip-133.137.45.71" on failing resource"ip-133.137.45.71"***ERROR*** recover[655,recover.C] 木 10 月 21 20:48:34 JST 2004: all attempts at
local recovery have failed after event "ip,pingfail" occurred toresource "ip-133.137.45.71"
共有ディスクの障害***ERROR*** ccissdev[237,ccissdev.C] 木 10 月 21 21:14:35 JST 2004: cannot open
device "/dev/cciss/c0d6": No such device or address
PowerGres の障害
RECOVERY class=powergres event=recover name=powergres-/share/data STARTING AT:
木 10 月 21 21:20:24 JST 2004

/opt/LifeKeeper/bin/recover: resource "powergres-/share/data" with id"powergres-/share/data" has experienced failure event"powergres,recover"/opt/LifeKeeper/bin/recover: attempting recovery using resource"powergres-/share/data" after failure by event "powergres,recover" on
resource "powergres-/share/data"

3.2.2 PowerGres のログの表示
3.2.3 PowerGres Administrator Tool からの表示
1. Web ブラウザから PowerGres Administrator Tool にアクセスし、ログインします。
2. タブから DAEMON を選択し、log をクリックします。

9

■コマンドラインからの表示

PowerGres のログは rotatelogs コマンドによって ログを格納するディレクトリ に格納されます。ログを格納するディレクトリ を確認するには PowerGres Administrator Tool から以下のように行います。なお、ログを格納するディレクトリ は標準ではデータベースクラスタディレクトリ以下の rlog ディレクトリになります。

1. Web ブラウザから PowerGres Administrator Tool にアクセスし、ログインします。
2. タブから SETTING を選択し、other をクリックします。

ログを格納するディレクトリ にはログが log.%Y%m%d%H%M%S というファイル名で記録されます。例えば、ログが 2004 年 10 月 27 日 12 時 30 分 38 秒から記録が開始されたときには l log.20041027123038 とい10

うファイル名になります。なお、ログファイルはテキストエディタから読み込むことができます。

%Y

年 (1970 〜)%m月 (01 〜 12)%d日 (01 〜 31)%H

時 (00 〜 23)%M

分 (00 〜 59)%S秒 (00 〜 61)

PowerGres のログについては「PowerGres Administrator Tool 操作マニュアル」の「11.2 ログについて」も参照してください。

■ログの表示例

2004-10-21 12:22:59 [4791] FATAL: no pg_hba.conf entry for host "133.137.44.22",
user "postgres", database "template1", SSL off
2004-10-21 12:19:45 [4446] LOG: database system is ready2004-10-21 12:19:44 [4446] LOG: next transaction ID: 1082; next OID: 17142
2004-10-21 12:19:44 [4446] LOG: redo record is at 0/9B0E0C; undo record is at 0/0; shutdown TRUE
2004-10-21 12:19:44 [4446] LOG: checkpoint record is at 0/9B0E0C
2004-10-21 12:19:44 [4446] LOG: database system was shut down at 2004-10-21 12:0
9:01 UTC
2004-10-21 12:19:44 [4437] LOG: could not create IPv6 socket: Address family notsupported by protocol

3.3 SNMP トラップ
LifeKeeper では SNMP トラップによってサービスの起動やフェイルオーバーなどのイベントを送信することができます。

1. lk configsnmp コマンドによってイベントを送信するサーバの IP アドレスを設定します。ip にはイ¨

ベントを受信するサーバの IP アドレスを指定します。

§# /opt/LifeKeeper/bin/lk_configsnmp ip

2. /etc/snmp/snmp.conf ファイルに以下の記述を追加します。

¥¦

defCommunity public
3. イベントを受信するサーバで以下のように snmptrapd コマンドを実行します。
¨§# snmptrapd -P

11

¥
¦

4. LifeKeeper GUI からイベントを発生させ、イベントを受信するサーバでログが標準出力に出力されることを確認します。
なお、SNMP トラップによるイベントの送信については「Online Product Manual」の「Overview ofLifeKeeper Event Forwarding via SNMP」も参照してください。「Online Product Manual」のタブからContents を選択し、Configuring LifeKeeper、LifeKeeper Event Forwarding via SNMP、Overviewof LifeKeeper Event Forwarding via SNMP を選択すれば参照することができます。
■LifeKeeper イベントテーブル

LifeKeeper イベント

トラップ番号オブジェクト ID

LifeKeeper Startup Complete

100.1.3.6.1.4.1.7359.1.0.100

LifeKeeper Shutdown Initiated101.1.3.6.1.4.1.7359.1.0.101

LifeKeeper Shutdown Complete

102.1.3.6.1.4.1.7359.1.0.102

LifeKeeper Manual Switchover Initiated on Server110.1.3.6.1.4.1.7359.1.0.110

LifeKeeper Manual Switchover Complete - recovered list

111

.1.3.6.1.4.1.7359.1.0.111

LifeKeeper Manual Switchover Complete - failed list

112

.1.3.6.1.4.1.7359.1.0.112LifeKeeper Node Failure Detected for Server120.1.3.6.1.4.1.7359.1.0.120

LifeKeeper Node Recovery Complete for Server - recovered list

121.1.3.6.1.4.1.7359.1.0.121

LifeKeeper Node Recovery Complete for Server - failed list

122

.1.3.6.1.4.1.7359.1.0.122

LifeKeeper Resource Recovery Initiated130.1.3.6.1.4.1.7359.1.0.130

LifeKeeper Resource Recovery Failed

131.1.3.6.1.4.1.7359.1.0.131

LifeKeeper Resource Recovery Complete

132.1.3.6.1.4.1.7359.1.0.132

LifeKeeper Communications Path Up

140.1.3.6.1.4.1.7359.1.0.140LifeKeeper Communications Path Down

141

.1.3.6.1.4.1.7359.1.0.141

4 メンテナンス
4.1 LifeKeeper の起動と停止
4.1.1 LifeKeeper の起動
LifeKeeper を起動するには root ユーザで以下のように lkstart コマンドを実行します。なお、LifeKeeper¨

は LifeKeeper GUI を起動するときにはすでに起動していなければなりません。

§¥¦# /opt/LifeKeeper/bin/lkstart

4.1.2 LifeKeeper の停止
LifeKeeper を停止するには root ユーザで以下のように lkstop コマンドを実行します。このコマンドを¨

実行すると LifeKeeper に保護されていたリソースのサービスも停止します。

§¥¦# /opt/LifeKeeper/bin/lkstop

12lkstop コマンドにはいくつかのオプションがあります。
-f

LifeKeeper に保護されているリソースのサービスを停止しません。

-nLifeKeeper に保護されているリソースのサービスをバックアップサーバにフェイルオーバーさせます。
なお、-r および -f オプションとともに使用することはできません。

-rシステムを再起動したときに LifeKeeper を起動します。このオプションを指定しなければシステムを再起動したときに LifeKeeper は停止したままになります。

例えば、LifeKeeper に保護されているリソースのサービスをバックアップサーバにフェイルオーバーさせ、LifeKeeper を停止するには以下のように lkstop コマンドを実行します。
¨§# /opt/LifeKeeper/bin/lkstop -n¥¦4.2 LifeKeeper GUI Server の起動と停止
LifeKeeper GUI を起動するにはそれぞれのサーバで LifeKeeper GUI Server が起動していなければなりません。

¨

LifeKeeper GUI Server を起動するには root ユーザで以下のようにコマンドを実行します。

¨

LifeKeeper GUI Server を停止するには root ユーザで以下のようにコマンドを実行します。

§§# /opt/LifeKeeper/bin/lkGUIserver start¥¦¥¦# /opt/LifeKeeper/bin/lkGUIserver stop

4.3 PowerGres の起動と停止
PowerGres HA では LifeKeeper によって PowerGres が保護されているため、pg ctl コマンドで PowerGres を停止したとしても LifeKeeper によってローカルリカバリーされてしまいます。LifeKeeper に保護されている PowerGres を起動・停止するには LifeKeeper から PowerGres リソースのサービスを起動・停止しなければなりません。

4.3.1 LifeKeeper GUI からの起動と停止
1. LifeKeeper GUI を起動し、ログインします。
¨§¥¦# /opt/LifeKeeper/bin/lkGUIapp &2. メニューから Edit、Resource、サービスの起動であれば In Service...、サービスの停止であればOut of Service... を選択するとダイアログが表示されます。
3. サービスの起動であれば Server からサービスを起動するサーバを選択し、Next をクリックします。

4. Resource(s) からサービスを起動・停止する PowerGres リソースを選択し、Next をクリックします。
13

5. In Service/Out of Service をクリックすると PowerGres リソースのサービスの起動・停止が開始されます。

6. Done をクリックするとダイアログが閉じられます。

4.3.2 コマンドラインからの起動と停止
コマンドラインから PowerGres リソースのサービスを起動・停止するには root ユーザで以下のようにperform action コマンドを実行します。perform action コマンドはアクションスクリプトを実行するコマンドです。tag には PowerGres リソースのタグ名を指定します。action にはアクション名、サービスの起¨動であれば restore、サービスの停止であれば remove を指定します。

§¨# /opt/LifeKeeper/bin/perform_action -t tag -a action¦

例えば、powergres-/share/data というタグ名の PowerGres リソースのサービスを停止するには以下のように perform action コマンドを実行します。

§¥# /opt/LifeKeeper/bin/perform_action -t powergres-/share/data -a remove¥¦

4.3.3 PowerGres Administrator Tool からの起動と停止
1. Web ブラウザから PowerGres Administrator Tool にアクセスし、ログインします。
2. タブから DAEMON を選択します。
3. サービスの起動であれば start、サービスの停止であれば stop をクリックします。

4.4 PowerGres Administrator Tool の起動と停止
PowerGres Administrator Tool を起動・停止するには root ユーザで以下のようにコマンドを実行します。
action にはアクション名、起動であれば start、停止であれば stop、再起動であれば restart を指定し¨¥

ます。

§¨

§

# /etc/init.d/powergresadmin action
例えば、PowerGres Administrator Tool を停止するには以下のようにコマンドを実行します。

¦¥¦# /etc/init.d/powergresadmin stop14

5 フェイルオーバーとスイッチオーバーの確認
5.1 フェイルオーバーの確認
プライマリサーバを停止することによってすべてのリソースがバックアップサーバにフェイルオーバーすることを確認します。なお、システムの停止によるフェイルオーバーを確認するにはプライマリサーバの Shutdown Strategy を Switchover Resources に設定しなければなりません。プライマリサーバのShutdown Strategy を Switchover Resources に設定するには LifeKeeper GUI から以下のように行います。

1. LifeKeeper GUI を起動し、ログインします。
¨§¥# /opt/LifeKeeper/bin/lkGUIapp &2. メニューから Edit、Server、Properties... を選択するとダイアログが表示されます。

¦

3. Server からプライマリサーバを選択します。
4. タブから General を選択し、Shutdown Strategy から Switchover Resources を選択します。
5. OK をクリックするとダイアログが閉じられます。

5.2 スイッチオーバーの確認
バックアップサーバの PowerGres リソースのサービスを起動することによってスイッチオーバーすることを確認します。バックアップサーバの PowerGres リソースのサービスを起動するには LifeKeeper GUI から以下のように行います。PowerGres リソースのサービスの起動・停止については 4.3 も参照してください。

1. LifeKeeper GUI を起動し、ログインします。
¨§¥# /opt/LifeKeeper/bin/lkGUIapp &2. メニューから Edit、Resource、In Service... を選択するとダイアログが表示されます。

¦

3. Server からバックアップサーバを選択し、Next をクリックします。
4. Resource(s) からサービスを起動する PowerGres リソースを選択し、Next をクリックします。
5. In Service をクリックすると PowerGres リソースのサービスの起動、スイッチオーバーが開始されます。

6. Done をクリックするとダイアログが閉じられます。
コマンドラインからバックアップサーバの PowerGres リソースのサービスを起動するには root ユーザで以下のように lcdremexec コマンドを実行します。lcdremexec コマンドはコミュニケーションパスを通してコマンドを実行するコマンドです。cmd には実行するコマンドを指定します。destname には cmd を実行するサーバを指定します。

15

¨§
¨

# /opt/LifeKeeper/bin/lcdremexec -d destname -- cmd¦

例えば srapc2051 というバックアップサーバで powergres-/share/data というタグ名の PowerGres リ

ソースのサービスを起動するには以下のように lcdremexec コマンドを実行します。

§¥# /opt/LifeKeeper/bin/lcdremexec -d srapc2051 -- perform_action -t powergres-/share/data -a restore
perform action コマンドについては 4.3.2 も参照してください。

¥¦

6 FAQ
FAQ については以下の URL も併わせて参照してください。
LifeKeeper の FAQ (株式会社テンアートニ)
http://www.10art-ni.co.jp/product/lifekeeper/faq.html
PowerGres の FAQ
http://powergres.sraoss.co.jp/s/ja/index.php■質問

TCP コミュニケーションパスの IP アドレスはどのように変更するのでしょうか？

■回答 TCP コミュニケーションパスの IP アドレスを変更するにはその TCP コミュニケーションパスを削除してからもう 1 度作成してください。
■質問

LifeKeeper GUI にログインするときのパスワードはどのように変更するのでしょうか？

■回答

LifeKeeper GUI にログインするときのパスワードを変更するには以下のように lkpasswd コマンドを実行します。user にはパスワードを変更するユーザ名を指定します。新しいパスワードを 2 度入力すると¨¥

パスワードが変更されます。

§¦# /opt/LifeKeeper/bin/lkpasswd userなお、このパスワードはシステムのパスワードとは異なるため、パスワードを変更することによってシステムのパスワードは変更されません。
■質問

Web ブラウザから http://server name:81/ にアクセスしましたが LifeKeeper GUI が起動しません。
■回答

Web ブラウザで以下の画面が表示されましたか？

16もし、画面が表示されなければアクセスするサーバが誤っているか、アクセスしたサーバで LifeKeeper が起動していない可能性があります。アクセスするサーバが正しいことと、そのサーバで LifeKeeper が起動していることを確認してください。
画面は表示されるが Start ボタンが表示されないときは Web ブラウザに Java Plug-in がインストールされていない可能性があります。Web ブラウザから以下の URL にアクセスし、Java Plug-in をインストールしてください。

http://java.sun.com/products/plugin/■質問

pg hba.conf ファイルの設定を変更したところ PowerGres リソースがバックアップサーバにフェイルオーバーしました。また、フェイルオーバーしたはずの PowerGres リソースもバックアップサーバでサービスを起動できず、PowerGres リソースの状態が StandBy となりました。

pg hba.conf ファイルは以下のように編集しました。
localallallhostallall

■回答

md5
127.0.0.1

255.255.255.255

md5PowerGres リカバリーキットでは PowerGres が起動していることを確認するため、ローカルホスト(127.0.0.1) から template1 データベースにクエリーを発行しています。
しかし、この pg hba.conf ファイルではローカルホスト (127.0.0.1) からのデータベースへの接続にパスワードを入力しなければならない設定になっており、PowerGres が起動していることを確認できず、PowerGresリソースの状態が StandBy となってしまっています。

pg hba.conf ファイルでは PowerGres のスーパーユーザがローカルホスト (127.0.0.1) から template1
データベースにパスワードなしで接続できるように設定してください。
例えば、PowerGres のスーパーユーザが postgres ユーザであれば pg hba.conf ファイルの初めに以下の記述を追加します。

hosttemplate1

postgres127.0.0.1

17255.255.255.255

trust