セットアップ (共有ディスク構成)

以下は、共有ディスク構成で初期設定を行う場合の内容です。
データレプリケーション構成で初期設定を行う場合は、こちらをご参照ください。

1 コミュニケーションパスの作成 (共有ディスク構成)

LifeKeeper for Linux でコミュニケーションパスを作成します。コミュニケーションパスの作成に
ついては「LifeKeeper for Linux 日本語マニュアル」を参照してください。

2 データベースクラスタの作成 (共有ディスク構成)

共有ディスクにデータベースクラスタと呼ばれるデータベースを格納する領域を作成します。

データベースクラスタ用ディレクトリの作成

  1. 共有ディスクをマウントします。
    # mount -t <type> -o rw <device> <directory>
    

    <type> には共有ディスクのファイルシステムタイプ、<device> にはデバイス、
    <directory> にはマウントするディレクトリをそれぞれ指定します。

  2. 共有ディスクがマウントされているディレクトリに、データベースクラスタディレクトリを作成します。
    # mkdir <datadir>
    

ディレクトリ権限の設定

  1. データベースクラスタディレクトリの所有者とアクセス権を変更します。

    データベースクラスタディレクトリの所有者を、インストール前の準備で用意した
    PowerGres on Linux のスーパーユーザに変更します。

    # chown <username> datadir
    

    <username> には、PowerGres on Linux のスーパユーザ名を指定します。

  2. データベースクラスタディレクトリのアクセス権を、所有者のみ読み取り許可、書き込み許可、
    実行許可(700) に変更します。
    # chmod 700 <datadir>
    

    <datadir> にはデータベースクラスタディレクトリを指定します。

    ■注意
    PowerGres on Linux のスーパーユーザのユーザID が異なると、
    作成されたデータベースクラスタへアクセスできなくなります。
    スーパーユーザのユーザ ID は全てのサーバで同じにしてください。
    

データベースクラスタの作成

  1. PowerGres Manager からデータベースクラスタを初期化します
    $ /opt/powergres90/bin/powergres-mgr &
    

    initgui

    ■注意
    データベースクラスタの初期化は PowerGres on Linux のスーパーユーザで
    PowerGres Manager (GUI) から行う必要があります。
    そのため、OS に root ユーザでログインしている場合には、
    PowerGres on Linux のスーパユーザでログインし直す必要があります。
    
  2. PowerGres Manager 左上の [ファイル] タブから [サーバを登録] を選択し、
    以下の項目を設定します。
  3. initdb

    initdb

    initdb

    『サーバを登録』画面、左下の『OK』ボタンを押すとデータベースクラスタの作成が行われます。

    initdb

    initdbend

    ■注意
    LifeKeeper からサービスの起動を行いますので、 
    PowerGres Managerからはサービスの開始は行わないでください。
    
    PowerGres Manager の操作については、PowerGres on Linux CD-ROM に
    含まれる PowerGres Manager マニュアルを参照下さい。
    

3 オンラインバックアップの設定 (共有ディスク構成)

オンラインバックアップを利用しない場合はこの設定の必要はありません。手順 4. へ進んでください。
オンラインバックアップの概念についての詳細は、『PowerGres Manager マニュアル』及び
以下のURLを参照してください。

  1. オンラインバックアップを格納するディレクトリを共有ディスク上に作成します。

    この説明では 『/share/pitr』 というディレクトリを作成しています。
    ディレクトリの所有者とアクセス権は以下の例のように変更しておいてください。

    # mkdir /share/pitr
    # chown <username> /share/pitr
    # chmod 700 /share/pitr
    

    <username> には、PowerGres on Linux 用に作成したスーパユーザを入力します。

  2. PowerGres manager を起動し『オンラインバックアップ』 メニューより、
    『アーカイブモードを有効にする』 にチェックを入れます。
  3. pitr

  4. 続いて 『適用』 ボタンを押してください。以下のような確認ダイアログが出てきます。
    確認ダイアログ内の 『OK』 ボタンを押してください。

    pitrend

    以上で、オンラインバックアップの設定は完了です。
    まだ、postmaster を起動していませんので再起動は必要ありません。

4 スタンバイサーバの設定 (共有ディスク構成)

ここでは、スタンバイサーバの PowerGres Manager の設定を行います。

  1. スタンバイサーバの設定を行う前に、 『2. データベースクラスタの作成』 でマウントした
    共有ディスクをルートユーザでアンマウントします。
    # umount <directory>
    

    <directory> には共有ディスクをマウントしているディレクトリを指定します。

  2. 次にスタンバイサーバにて、共有ディスクをルートユーザでマウントします。
    # mount -t <type> -o rw <device> <directory>
    

    <type> には共有ディスクのファイルシステムタイプ、<device> にはデバイス、
    <directory> にはマウントするディレクトリパスをそれぞれ指定します。

    ■注意
    マウントするディレクトリパスは、すべてのクラスタで統一してください。
    
  3. スタンバイサーバで PowerGres Manager を起動してデータベースクラスタを登録します。

    なお、PowerGres Manager の起動は PowerGres on Linux のスーパーユーザにて
    OS にログインしている必要があります。

    $ /opt/powergres90/bin/powergres-mgr &
    
  4. PowerGres Manager 左上の [ファイル] タブから [サーバを登録] を選択します。

    『2. データベースクラスタの作成』 にて指定したラベル名、ポート番号をそれぞれ入力します。

    initdb

    『2. データベースクラスタの作成』 にて指定した共有ディスク上のディレクトリパスを指定し、
    『既存のデータベースクラスタを使用』 を選択します。

    add_server

  5. 以上でスタンバイサーバの PowerGres Manager の設定が完了しました。
    『閉じる』ボタンを押して PowerGres Manager を終了してください。
    ■注
    『3. オンラインバックアップの設定』を行っている場合には、
    同様の設定をスタンバイサーバでも行ってください。
    

5 パスワードファイルの作成 (共有ディスク構成)

PowerGres on Linux リカバリーキットでは PowerGres on Linux が起動していることを
確認するため、PowerGres on Linux のスーパユーザがローカルホスト(127.0.0.1) から
template1 データベースに対して接続を行います。

その際のパスワード入力を自動化するため、あらかじめパスワードファイルを
PowerGres on Linux スーパユーザのホームディレクトリに作成しておきます。
パスワードファイルは、構成する全てのサーバで作成してください。

  1. PowerGres on Linux スーパーユーザで OS にログインしてホームディレクトリに移動します。
  2. .pgpass というファイルを作成します。
    $ touch ~/.pgpass
    
  3. エディタで.pgpass を以下の書式で編集を行います。
    <hostname>:<port>:<database>:<username>:<password>
    

    各項目には以下の設定を行います。

    例)パスワードがpowergresの場合

    localhost:5432:tempalte1:postgres:powergres
    
  4. ファイルのアクセス権限を設定します。
    $ chmod 0600 ~/.pgpass
    

なお、pgpass ファイルの詳細は 以下のURLを参照してください。

6 PowerGres リソースの作成 (共有ディスク構成)

LifeKeeper for Linux でリソースを作成します。
リソースの作成により PowerGres on Linux が LifeKeeper for Linux の保護下に置かれます。
なお、リソース作成は root ユーザで行います。

準備

    アクティブサーバにて共有ディスクをマウントします。

    # mount -t <type> -o rw <device> <directory>
    

    <type> には共有ディスクのファイルシステムタイプ、<device> にはデバイス、
    <directory> にはマウントするディレクトリをそれぞれ指定します。

    ■注意
    他のマシンではマウントしていないことを確認してください。
    リソースの作成は root ユーザで行う必要があります。
    

リソース作成

  1. LifeKeeper GUI を起動します
  2. # /opt/LifeKeeper/bin/lkGUIapp &
    

    なお、LifeKeeper GUI の起動については「LifeKeeper for Linux 日本語マニュアル」を
    参照してください。

  3. Edit メニューから Server、次に Create Resource Hierarchy を選択します。
  4. craete_resource

  5. Select Recovery Kit リストから PowerGres Database を選択します。
  6. PowerGresResource

  7. Switchback Type として intelligent または automatic を選択します。
  8. Switchback Type については「LifeKeeper for Linux 日本語マニュアル」を参照してください。

    inteligent

  9. 共有ディスクがマウントされているサーバを選択します。
  10. Server

  11. PowerGres data Directory を選択します。
  12. LifeKeeper によって保護されるデータベースクラスタの位置を指定します。

    pgdata

  13. Location of PowerGres Executables を入力します。
  14. デフォルトで PowerGres の実行ファイルのパス(/opt/powergres90/bin) が
    入力されています。

    PGHOME

  15. Port number for PowerGres service を入力します。
  16. PowerGres がクライアントからの接続を監視する TCP ポート番号を指定します。
    デフォルトでは『5432』 が入力されています。

    port

  17. Quick check user for PowerGres serviceを入力します。
  18. PowerGres on Linux リカバリーキットでは PowerGres on Linux が起動していることを
    確認するため、PowerGres on Linux スーパユーザがローカルホスト(127.0.0.1) から
    template1 データベースに対して接続を行っています。

    ここでは、PowerGres on Linux スーパユーザ名を入力してください。
    またパスワードファイルを作成していない場合には、先に作成してください。

    quick_check

  19. Root Tag を入力します
  20. Root Tag には LifeKeeper GUI でリソースの状態を表示するためのタグを指定します。

    tag

  21. Create をクリックします。
  22. ウィンドウにはリソースを作成している状況が表示されます。
    リソースの作成に成功したというメッセージが表示されたことを確認し、Next をクリックします。

  23. Target Server を選択します。
  24. Target Server にはクラスタを構成するスタンバイサーバを指定します。

    NEXTSERVER

  25. Accept Defaults または Next をクリックします。
  26. Accept Default をクリックした場合は、最初にリソースを作成したときと同じ設定で
    リソースが自動的に作成されます。

    Next をクリックした場合は 5 から 10 と同じ手順でリソースを作成してください。
    ただし、Template Priority とTarget Priority を設定する点が異なります。
    Template Priority, Target Priority については
    「LifeKeeper for Linux 日本語マニュアル」を参照してください。

  27. Next Server または Finish をクリックします。

    クラスタを構成するサーバがさらにあれば Next Server、そうでなければ Finish をクリックします。
    Next Server をクリックしたときは 13 から 15 と同じ手順でリソースを拡張します。

    Finish をクリックするとウィンドウにはリソースの拡張に成功したというメッセージが表示されます。

  28. Done をクリックします。

    ダイアログボックスが閉じられます。

    PowerGresResourceFinished

7 IP リソースの作成 (共有ディスク構成)

IP リソースは IP アドレスを LifeKeeper for Linux の保護下に置くためのリソースです。
ここで IP Resorce として設定した IP アドレスは PowerGres on Linux に接続するための
仮想 IP アドレスとして使用されます。

IP リソースの作成

IP リソースの作成については「LifeKeeper for Linux 日本語マニュアル」を参照してください。

PowerGres リソースとIP リソースの関連づけ

PowerGres リソースと IP リソースを関連付けることで、仮想 IP アドレスで PowerGres に
接続することができるようになり、クライアントは PowerGres が起動しているサーバを
意識する必要がなくなります。

  1. Edit メニューからResource、次にCreate Dependency を選択します。
  2. Create Dependency

  3. Server を選択します。
  4. Server

  5. Parent Resource Tag を選択します。
  6. Parent Resource Tag にはリソースを関連付けるときに親になるリソースのタグを指定します。
    ここではPowerGres リソースのタグを指定します。

    ParentResource

  7. Child Resource Tag を選択します。
  8. Child Resource Tag にはリソースを関連付けるときに子になるリソースのタグを指定します。
    ここではIP リソースのタグを指定します。

    ParentResource

  9. Create Dependency をクリックします。
  10. ダイアログボックスには Parent Resource Tag とChild Resource Tag にそれぞれ指定した
    タグを確認するメッセージが表示されます。

  11. Done をクリックします。
  12. PowerGres on Linux が LifeKeeper for Linux の保護下に置かれます。
    IP リソースが PowerGres リソースに関連付けられたことをご確認してください。

    ParentResource

8 動作確認 (共有ディスク構成)

初期設定が完了したことによって PowerGres on Linux が実際に LifeKeeper for Linux の
保護下に置かれていることを確認します。

スイッチオーバの確認

  1. PowerGres on Linux が起動していることを確認します。
  2. PowerGres on Linux が起動しているサーバでデータベースデーモン (postgres) が
    起動していることを確認します。以下のようにプロセスが存在することを確認してください。

    # ps -C postgres
    PID TTY TIME CMD
    1246 ? 00:00:00 postgres
    1249 ? 00:00:00 postgres
    1251 ? 00:00:00 postgres
    
  3. PowerGres on Linux をスイッチオーバします。
  4. LifeKeeper GUI を起動して StandBy 側の PowerGres リソースにて 『右クリック』 を行い
    『In Service』 を実行すると PowerGres on Linux がスイッチオーバします。
    LifeKeeper GUI については「LifeKeeper for Linux 日本語マニュアル」を参照してください。

    SwitchOver

  5. スイッチオーバされたことを確認します。
  6. 先ほどまで Active だったサーバではデータベースデーモンがなくなっていることを確認します。
    以下のようにプロセスがなくなっていることを確認してください。

    # ps -C postgres
    PID TTY TIME CMD
    

    また、スイッチオーバされたサーバにてデータベースデーモンが起動していることを確認します。
    以下のようにプロセスが存在することを確認してください。

    # ps -C postgres
    PID TTY TIME CMD
    1246 ? 00:00:00 postgres
    1249 ? 00:00:00 postgres
    1251 ? 00:00:00 postgres
    

フェイルオーバの確認

  1. Active サーバの PowerGres on Linux が実際に起動していることを確認します。
  2. # ps -C postgres
    PID TTY TIME CMD
    1312 ? 00:00:00 postgres
    1313 ? 00:00:00 postgres
    1315 ? 00:00:00 postgres
    
  3. PowerGres on Linux をフェイルオーバします。
  4. PowerGres on Linux が起動しているサーバでデータベースデーモンを強制的に停止します。
    なお、pid にはデータベースデーモンのプロセスID を指定します。

    # kill <pid>
    # ps -C postgres
    PID TTY TIME CMD
    

    データベースデーモンを強制的に停止しても、データベースデーモンがローカルリカバリされ、
    しばらくすると自動的に復帰することが確認できます。

    # ps -C postgres
    PID TTY TIME CMD
    1346 ? 00:00:00 postgres
    1347 ? 00:00:00 postgres
    1349 ? 00:00:00 postgres
    

    そこで、ローカルリカバリできないようデータベースデーモンのファイル名を一時的に変更します。

    # mv /opt/powergres90/bin/postgres /opt/powergres90/bin/postgres~
    # kill <pid>
    

    しばらくすると PowerGres on Linux が優先度が高いサーバへフェイルオーバします。

  5. フェイルオーバされたことを確認します。
  6. LifeKeeper GUI にて Active サーバのリソースが StandBy へ変更され、
    StandBy サーバのリソースが Active に移り変わることが確認できます。
    また、Active に移り変わったサーバではデータベースデーモンの起動が確認できます。

    # ps -C postgres
    PID TTY TIME CMD
    1278 ? 00:00:00 postgres
    1280 ? 00:00:00 postgres
    1282 ? 00:00:00 postgres
    

    なお、フェイルオーバ確認のために変更したファイル名は必ず元に戻してください。

    # mv /opt/powergres90/bin/postgres~ /opt/powergres90/bin/postgres