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

1 コミュニケーションパスの作成

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

2 データレプリケーションの設定

ディスクパーティションをデータレプリケートするように、 LifeKeeper for Linux でリソースを作成します。
データレプリケーション用のリソース作成については、 「LifeKeeper for Linux 日本語マニュアル」及び「SteelEye Data Replication for Linux」マニュアルを参照してください。

■注
データの整合性がとれなくなる可能性があるため、
非同期データレプリケーションの使用は推奨しません。

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

レプリケートするディスクパーティションに、 データベースクラスタと呼ばれるデータベースを格納する領域を作成します。
※作業を行うサーバで、データレプリケーションがactiveになっていることを確認してください。

  1. ディスクパーティションのデータレプリケーションリソースが、 作業を行うサーバでactiveになっており、 かつマウントされていることを確認します。
  2. レプリケートするディスクパーティションがマウントされているディレクトリに、 データベースクラスタディレクトリを作成します。
    # mkdir <datadir>
    
  3. データベースクラスタディレクトリの所有者とアクセス権を変更します。

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

    # chown <username> datadir
    

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

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

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

    ■注意
    PowerGres on Linux のスーパーユーザのユーザID が異なると、
    レプリケートしたディスクパーティションに作成されたデータベースクラスタへ
    PowerGres on Linux からアクセスできなくなります。
    そのため、スーパユーザのユーザID をすべてのサーバで同じにする必要が
    あります。
    
  5. PowerGres Manager からデータベースクラスタを初期化します
    ■はじめに
    データベースクラスタの初期化はPowerGres on Linux のスーパーユーザで
    PowerGres Manager (GUI) から行う必要があります。
    そのため、OS にルートユーザでログインしている場合には、
    PowerGres on Linux のスーパユーザでログインし直す必要があります。
    

    データレプリケーションがactiveのサーバで、PowerGres Manager を起動して データベースクラスタを初期化します。 なお、データベースクラスタの初期化はPowerGres on Linux のスーパーユーザで行う必要があります。

    $ /opt/powergres/bin/powergres-mgr &
    

    initgui

    次に、PowerGres Manager 左上の[ファイル]タブから[サーバの登録] を選択すると[サーバの登録]が表示されます。 [サーバの登録]画面では、以下の項目を設定します。

    initdb

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

    initdbend

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

4 PITR の設定

Point In Time Recovery (PITR) を利用しない場合には設定の必要はありません。

PITRにより取得するバックアップデータはクラスタ間で共有するため、レプリケートしたディスクパーティションに保存する必要があります。

PowerGres Managerの PITR 画面から、レプリケートしたディスクパーティションにバックアップを格納するディレクトリを指定します。

『全般』タブの『オンラインバックを有効にする』チェックボックスにチェックを入れて、 『バックアップを格納するディレクトリ』にレプリケートしたディスクパーティション上のディレクトリを指定します。

この説明では『/share/pitr』というディレクトリを指定します。

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

以上でPITRの設定完了です。 PowerGres Manager を閉じてください。
■注意
LifeKeeper からサービスの起動を行いますので、 
PowerGres Manager からはサービスの開始は行わないでください。

PITRの概念についての詳細は、以下のURLを参照してください。

5 バックアップサーバの設定

ここでは、バックアップサーバの PowerGres Manager の設定を行います。

バックアップサーバの設定を行う前に、 『データレプリケーションの設定』で作成したリソースを、 バックアップサーバ側にスイッチオーバします。

データレプリケーションがバックアップサーバ側でactiveになったら、バックアップサーバで PowerGres Manager を起動してデータベースクラスタを登録します。
なお、PowerGres Managerの起動は PowerGres on Linux のスーパーユーザで OS にログインを行った上で、 下記のコマンドを実行してください。

$ /opt/powergres/bin/powergres-mgr &

次に、PowerGres Manager 左上の[ファイル]タブから[サーバの登録]を選択すると[サーバの登録]画面が表示されます。 [サーバの登録]画面では、以下の項目を設定し、『OK』ボタンを押します。

PITR の設定を行っている場合には、同様に PITR 画面から『全般』タブの『オンラインバックを有効にする』チェックボックスにチェックを入れて、 『バックアップを格納するディレクトリ』にPITR の設定 で設定した共有ディスク上のディレクトリ名を指定します。

以上で PowerGres Manager の設定が完了しました。 『閉じる』ボタンを押して PowerGres Manager を終了してください。

6 パスワードファイルの作成

PowerGres on Linux リカバリーキットではPowerGres on Linux が起動していることを確認するため、 PowerGres on Linux スーパユーザがローカルホスト(127.0.0.1) からtemplate1 データベースに対して接続を行っています。 その際にパスワードの入力の無効化を行うために、あらかじめパスワードファイルを PowerGres on Linux スーパユーザのホームディレクトリに作成しておきます。

■注
パスワードファイルはクラスタを構成するすべてのサーバ上で、
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を参照してください。

7 リソースの登録

LifeKeeper for Linux でリソースを作成します。 リソースを作成することによってLifeKeeper for Linuxの保護下に置かれます。 なお、リソースの作成はroot ユーザで行う必要があります。

PowerGres on Linux リソースの作成

  1. データレプリケーションのリソースを稼働系となるサーバでActiveにします。
    バックアップサーバがActiveになっている場合は、スイッチオーバを行い、 稼働系サーバのリソースをActiveにしてください。
  2. ■注意
    クラスタを構成する他のマシンではStandByになっていることを
    確認してください。
    
  3. LifeKeeper GUI を起動します
  4. # /opt/LifeKeeper/bin/lkGUIapp &
    

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

  5. Edit メニューからServer、次にCreate Resource Hierarchy を選択します
  6. craete_resource-SDR

    Create Resorce Wizard ダイアログボックスが表示されます。

  7. Select Recovery Kit リストからPowerGres Database を選択し、Next をクリックします
  8. PowerGresResource-SDR

  9. Switchback Type としてintelligent を選択し、Next をクリックします
  10. inteligent-SDR

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

  11. Server を選択し、Next をクリックします
  12. Server-SDR

    Server には共有ディスクがマウントされているサーバを指定します。 Next をクリックすると Create custom/powergres Resource ダイアログボックスが表示されます。

  13. PowerGres data Directory を選択し、Next をクリックします
  14. pgdata-SDR

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

  15. Location of PowerGres Executables を入力し、Next をクリックします
  16. PGHOME-SDR

    Location of PowerGres Executables にはPowerGres の実行ファイルが含まれているディレ クトリへのパスを指定します。 デフォルトのパス(/opt/powergres/bin) があらかじめ入力されています

  17. Port number for PowerGres service を入力し、Next をクリックします
  18. port-SDR

    Port number for PowerGres service にはPowerGres がクライアントからの接続を監視する TCP ポート番号を指定します。 『5432』 ポートがあらかじめ入力されています。

  19. Quick check user for PowerGres serviceを入力し、NEXTをクリックします。
  20. quick_check-SDR

    PowerGres on Linux リカバリーキットではPowerGres on Linux が起動していることを確認するため、PowerGres on Linux スーパユーザがローカルホスト(127.0.0.1) から template1 データベースに対して接続を行っています。 ここでは、PowerGres on Linux スーパユーザ名を入力してください。 またパスワードファイルを作成しているかどうかを、もう一度確認してください。

  21. Root Tag を入力します
  22. tag-SDR

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

  23. Create をクリックします
  24. ウィンドウにはリソースを作成している状況が表示されます。

  25. Next をクリックします。
  26. ウィンドウにはリソースの作成に成功したというメッセージが表示されます。

  27. Next をクリックします
  28. Next をクリックするとPre-Extend Wizard が表示されます。

  29. Target Server を選択します
  30. NEXTSERVER-SDR

    Target Server にはクラスタを構成するサーバを指定します。

  31. Accept Defaults またはNext をクリックします
  32. 最初にリソースを作成したときと同じ設定であればAccept Defaults、そうでなければNext を クリックします。
    Accept Default をクリックしたときは最初にリソースを作成したときと同じ設定でリソースが自動的に作成されます。 Next をクリックしたときは5から10と同じ手順でリソースを作成します。 ただし、Template Priority とTarget Priority を設定することが異なります。
    なお、Template Priority とTarget Priority については「LifeKeeper for Linux 日本語マニュアル」を参照してください。

    ここではAccept Defaults をクリックしたことを仮定します。 ウィンドウにはリソースを設定している状況が表示され、Extend custom/powergres Resource Hierarchy ダイアログボックスが表示されます。 ウィンドウにはリソースを拡張している状況が表示されます。

  33. Next Server またはFinish をクリックします
  34. クラスタを構成するサーバがさらにあればNext Server、そうでなければFinish をクリックします。 Next Server をクリックしたときは13から15と同じ手順でリソースを拡張します。 Finish をクリックするとウィンドウにはリソースの拡張に成功したというメッセージが表示されます。

  35. Done をクリックします
  36. ダイアログボックスが閉じられます。

IP リソースの作成

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

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

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

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

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

  3. Server を選択し、Next をクリックします
  4. Server-SDR

  5. Parent Resource Tag を選択し、Next をクリックします
  6. ParentResource-SDR

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

  7. Child Resource Tag を選択し、Next をクリックします
  8. Child_resource-SDR

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

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

  11. Done をクリックします
  12. ダイアログボックスが閉じられます。

    以上でPowerGres on Linux がLifeKeeper for Linux の保護下に置かれます。

    Dependency_END-SDR

初期設定後の確認

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

スイッチオーバの確認

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

    # 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 を起動し、PowerGres on Linux が起動していないサーバのPowerGres リソース に対してIn Service を実行するとPowerGres on Linux がスイッチオーバされます。

    LifeKeeper GUI によるスイッチオーバについて詳しくは「LifeKeeper for Linux 日本語マニュア ル」を参照してください。

  5. スイッチオーバされたことを確認します
  6. PowerGres on Linux がスイッチオーバされたサーバでデータベースデーモンが起動していること を確認します。以下のようにプロセスが表示されたときはPowerGres on Linux がスイッチオーバされ たということです。

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

フェイルオーバの確認

  1. PowerGres on Linux が実際に起動していることを確認します
  2. PowerGres on Linux が起動しているサーバでデータベースデーモンが起動していることを確認しま す。以下のようにプロセスが表示されたときはPowerGres on Linux が起動しているということです。

    # 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. PowerGres on Linux が起動しているサーバでデータベースデーモンを強制的に停止します。なお、 pid にはデータベースデーモンのプロセスID を指定します。

    # kill pid
    

    しかし、データベースデーモンを強制的に停止しただけでは、データベースデーモンがローカルリカバリされるため、 PowerGres on Linux がフェイルオーバされません。 そこで、データベースデーモンを起動できなくするため、データベースデーモンのファイル名を一時的に変更します。

    # mv /opt/powergres/bin/postgres /opt/powergres/bin/postgres~
    

    しばらくするとPowerGres on Linux が優先度が高いサーバへフェイルオーバされます。 PowerGreson Linux のフェイルオーバ確認後、データベースデーモンのファイル名は必ず元に戻してください。

  5. フェイルオーバされたことを確認します
  6. PowerGres on Linux がフェイルオーバされたサーバでデータベースデーモンが起動していること を確認します。 以下のようにプロセスが表示されたときはPowerGres on Linux がフェイルオーバされたということです。

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

    PowerGres on Linux がもともと起動していたサーバでデータベースデーモンのファイル名を元に 戻します。

    # mv /opt/powergres/bin/postgres~ /opt/powergres/bin/postgres