セットアップ

PowerGres HA Pacemaker 版をセットアップします。 PowerGres HA Pacemaker 版のセットアップでは、Pacemaker for PowerGres によって PowerGres の HA クラスタを構築します。 また、必要に応じて IPMI による STONITH と PowerGres Manager の設定を行います。

pwg_clumgr コマンドのデフォルト値

クラスタの初期化やサービスの作成など、クラスタの操作には PowerGres Cluster Manager (pwg_clumgr コマンド) を使用します。 pwg_clumgr コマンドの対話的な操作では、デフォルト値がある場合には角カッコ内に表示されます。

syslog ファシリティを入力してください (local0 - local7) [local0]:

デフォルト値が表示されている場合には、値を入力せずに Enter キーを押すとデフォルト値になります。

クラスタの初期化

クラスタの初期化では、Heartbeat と Pacemaker の設定を行い、クラスタ内にサービスを作成できる状態にします。 クラスタの初期化は pwg_clumgr コマンドの init-cluster モードで行います。

クラスタの初期化は以下の手順で行います。 操作は root ユーザで行います。

  1. init-cluster モードで pwg_clumgr コマンドを実行します。

    # pwg_clumgr init-cluster
    
  2. Heartbeat の設定ファイルの作成が開始されます。

    Heartbeat 設定ファイルを作成しています...
    
  3. Heartbeat のログメッセージを syslog で取得するときのファシリティを入力します。

    syslog ファシリティを入力してください (local0 - local7) [local0]:
    

    ファシリティは local0 から local7 の中から選択します。 デフォルトは local0 ファシリティです。

  4. ノードの追加が開始されます。

    ノードを追加しています...
    

    クラスタを構成する二台のノード名を入力します。 ノード名には uname -n コマンドを実行して表示されるホスト名を指定します。

    ノード名を入力してください ("." でキャンセルします): alice
    

    ノード名を入力するたびにノードの追加を続けるかを確認するプロンプトが表示されます。 ノードの追加を続ける場合には y、終了する場合には n と入力します。 二台目のノードを追加したら n と入力します。

    ノードの追加を継続しますか (y/n) [y]:
    ノード名を入力してください ("." でキャンセルします): bob
    ノードの追加を継続しますか (y/n) [y]: n
    
  5. SSH の秘密鍵と公開鍵の作成が開始されます。

    SSH 鍵を作成しています...
    

    リモートホスト上での操作は、操作のたびにパスワードを入力しなくて済むように、SSH エージェントで公開鍵認証を行います。 そのため、公開鍵認証で使用する秘密鍵と公開鍵を作成します。

    秘密鍵のパスフレーズを二回入力します。

    パスフレーズを入力してください (パスフレーズなしにするには空にしてください): (パスフレーズを入力)
    同じパスフレーズを再度入力してください: (同じパスフレーズを入力)
    

    秘密鍵のパスフレーズをなしにすると、SSH エージェントによる公開鍵認証時にパスフレーズの入力が求められなくなります。

  6. SSH の公開鍵がすべてのノードにコピーされます。

    SSH 鍵をコピーしています...
    

    公開鍵をリモートホストにコピーするときにパスワードの入力を求めるプロンプトが表示されます。 各ホストに SSH でログインするときのパスワードを入力します。 秘密鍵の作成時に入力したパスフレーズではありません。

    # alice SSH-2.0-OpenSSH_5.3
    Warning: Permanently added the RSA host key for IP address '192.168.137.2' to the list of known hosts.
    root@alice's password: (パスワードを入力)
    Now try logging into the machine, with "ssh 'alice'", and check in:
    
      .ssh/authorized_keys
    
    to make sure we haven't added extra keys that you weren't expecting.
    
    # bob SSH-2.0-OpenSSH_5.3
    Warning: Permanently added the RSA host key for IP address '192.168.137.3' to the list of known hosts.
    root@bob's password: (パスワードを入力)
    Now try logging into the machine, with "ssh 'bob'", and check in:
    
      .ssh/authorized_keys
    
    to make sure we haven't added extra keys that you weren't expecting.
    
  7. SSH の秘密鍵を作成するときに入力したパスフレーズを入力します。

    Enter passphrase for /root/.ssh/id_rsa-pwg_clumgr: (パスフレーズを入力)
    
  8. コミュニケーションパスの追加が開始されます。

    コミュニケーションパスを追加しています...
    

    コミュニケーションパスのネットワークインタフェース名を入力します。

    ネットワークインタフェース名を入力してください ("." でキャンセルします) [eth0]:
    

    デフォルトはまだ追加していないネットワークインタフェースの中で最初に見つかったものです。

    コミュニケーションパスとは

    コミュニケーションパスは、Heartbeat がノードの状態を監視するのに使用する通信経路です。 すべてのコミュニケーションパスが切断されると、ノードは相互にノードの状態を監視できなくなります。 そうなると、両方のノードでサービスが起動されてしまい、サービスを正常に提供できなくなります。 この状態はスプリットブレインと呼ばれます。

    スプリットブレインは、相手のノードを再起動する STONITH と呼ばれる機能で回避することもできます。 しかし、すべてのコミュニケーションパスが切断されることがないように、コミュニケーションパスは二本以上設定することを推奨します。

    ネットワークインタフェース名を入力するたびにコミュニケーションパスの追加を続けるかを確認するプロンプトが表示されます。 コミュニケーションパスの追加を続ける場合には y、終了する場合には n と入力します。 必要なコミュニケーションパスを追加したら n と入力します。

  9. コミュニケーションパスの追加を継続しますか (y/n) [y]:
    ネットワークインタフェース名を入力してください ("." でキャンセルします) [eth1]:
    コミュニケーションパスの追加を継続しますか (y/n) [y]:
    ネットワークインタフェース名を入力してください ("." でキャンセルします) [eth2]:
    コミュニケーションパスの追加を継続しますか (y/n) [y]: n
    
  10. Heartbeat の設定ファイルがすべてのノードにコピーされます。

    Heartbeat 設定ファイルをコピーしています...
    ファイルをノード "alice" にコピーしています...
    ha.cf                                         100%   11KB  11.0KB/s   00:00
    authkeys                                      100%   55     0.1KB/s   00:00
    ファイルをノード "bob" にコピーしています...
    ha.cf                                         100%   11KB  11.0KB/s   00:00
    authkeys                                      100%   55     0.1KB/s   00:00
    
  11. すべてのノードで Heartbeat が再起動されます。

    システムサービス "heartbeat" がノード "alice" 上で停止するのを待機しています.... 完了。
    システムサービス "heartbeat" がノード "bob" 上で停止するのを待機しています.... 完了。
    システムサービス "heartbeat" がノード "alice" 上で起動するのを待機しています.... 完了。
    システムサービス "heartbeat" がノード "bob" 上で起動するのを待機しています.... 完了。
    
  12. Pacemaker の起動後に初期設定が行われます。

    Pacemaker が起動するのを待機しています....................................... 完了。
    Pacemaker 設定を初期化しています...
    完了。
    
  13. crm_mon コマンドでクラスタが初期化されたことを確認します。

    # crm_mon -rfA
    ============
    Last updated: Wed Oct 30 21:46:53 2013
    Stack: Heartbeat
    Current DC: alice (dbf44f6c-f753-48f9-9f15-a786a116c142) - partition with quorum
    Version: 1.0.13-30bb726
    2 Nodes configured, unknown expected votes
    0 Resources configured.
    ============
    
    Online: [ alice bob ]
    
    Full list of resources:
    
    
    Node Attributes:
    * Node alice:
        + bob-eth0                          : up
        + bob-eth1                          : up
        + bob-eth2                          : up
    * Node bob:
        + alice-eth0                        : up
        + alice-eth1                        : up
        + alice-eth2                        : up
    
    Migration summary:
    * Node alice:
    * Node bob:
    

    Online:」の後に Pacemaker が起動しているノード名、「Node Attributes:」の下にノードごとにコミュニケーションパスの状態が表示されます。 コミュニケーションパスの状態は、接続先のノード名とネットワークインタフェース名を - でつないだ属性名の後に表示され、up が通信できている状態、dead が通信できていない状態を表します。

    すべてのノードで Pacemaker が起動しており、すべてのコミュニケーションパスが通信できていれば、クラスタの初期化は正常に完了しています。 Ctrl キーを押しながら C キーを押し、crm_mon コマンドを終了します。

PowerGres サービスの作成

PowerGres サービスの作成では、PowerGres、DRBD、仮想 IP アドレスの設定を行い、PowerGres をクラスタ内で管理できるようにします。 PowerGres サービスの作成は pwg_clumgr コマンドの create-service モードで行います。

PowerGres サービスの作成は以下の手順で行います。 操作は root ユーザで行います。

  1. create-service モードで pwg_clumgr コマンドを実行します。

    # pwg_clumgr create-service -t pgsql-drbd powergres
    

    -t オプションにはサービスの種類として DRBD による PostgreSQL (PowerGres) のサービスを表す pgsql-drbd タイプを指定します。 引数の powergres には任意のサービス名を指定します。

  2. pg_ctl コマンドのパスを入力します。

    pg_ctl コマンドのパスを入力してください [/opt/powergres91/bin/pg_ctl]:
    

    pg_ctl コマンドは、PowerGres のデータベースサーバの起動や停止などを行うコマンドです。 コマンドは絶対パスで指定します。 デフォルトは PowerGres に付属する pg_ctl コマンドのパスです。

  3. psql コマンドのパスを入力します。

    psql コマンドのパスを入力してください [/opt/powergres91/bin/psql]:
    

    psql コマンドは、SQL コマンドの実行を行う対話型ターミナルを起動するコマンドです。 コマンドは絶対パスで指定します。 デフォルトは PowerGres に付属する psql コマンドのパスです。

  4. PowerGres のスーパーユーザ名を入力します。

    PostgreSQL のスーパーユーザ名を入力してください [postgres]:
    

    PowerGres のスーパーユーザには root 以外のユーザを指定します。 ユーザはあらかじめ OS 上に存在している必要があります。 デフォルトは postgres ユーザです。 postgres ユーザは PowerGres のインストール時に自動的に作成されます。

  5. PowerGres のスーパーユーザのパスワードを入力します。

    スーパーユーザのパスワードを入力してください (パスワードなしにするには空にしてください): (パスワードを入力)
    同じパスワードを再度入力してください: (同じパスワードを入力)
    

    PowerGres のスーパーユーザのパスワードには PowerGres 上のユーザのパスワードを指定します。 データベースへの接続時に入力するパスワードです。 OS 上のユーザのパスワードではありません。 OS 上のユーザのパスワードは必要であれば passwd コマンドで設定を行います。

    PowerGres のスーパーユーザのパスワードをなしにすると、データベースへの接続時にパスワードの入力が求められなくなります。

  6. DRBD でレプリケーションを行うファイルシステムのマウント先のディレクトリのパスを入力します。

    マウント先ディレクトリを入力してください: /mnt/disk
    

    マウント先のディレクトリは絶対パスで指定します。

  7. PowerGres のデータディレクトリのパスを入力します。

    データディレクトリを入力してください [/mnt/disk/data]:
    

    データディレクトリは、データベースクラスタの格納先のディレクトリです。 ディレクトリは絶対パスで指定します。 ディレクトリはマウント先のディレクトリ以下に配置する必要があります。 デフォルトはマウント先のディレクトリ直下の data ディレクトリです。

    データベースクラスタとは

    データベースクラスタは、PowerGres のサーバインスタンスで管理されるデータベースの集合で、ファイルシステム上のディレクトリ内に格納されます。 このディレクトリはデータディレクトリとも呼ばれます。

  8. PowerGres のポート番号を入力します。

    PostgreSQL のポートを入力してください (1024 - 65535) [5432]:
    

    ポートは 1024 から 65535 の中から選択します。 デフォルトは 5432 ポートです。

  9. PowerGres のログメッセージを syslog で取得するときのファシリティを入力します。

    syslog ファシリティを入力してください (local0 - local7) [local0]:
    

    ファシリティは local0 から local7 の中から選択します。 デフォルトは local0 ファシリティです。

  10. DRBD サービスの作成が開始されます。

    DRBD サービス "powergres_drbd" を作成しています...
    

    PowerGres のデータは DRBD によってノード間でレプリケーションが行われます。

  11. SSH の秘密鍵を作成するときに入力したパスフレーズを入力します。

    Enter passphrase for /root/.ssh/id_rsa-pwg_clumgr: (パスフレーズを入力)
    
  12. DRBD でレプリケーションを行うファイルシステムのファイルシステムタイプを入力します。

    ファイルシステムタイプを入力してください [ext4]:
    

    デフォルトは、OS が ext4 に対応している場合には ext4、対応していない場合には ext3 です。

  13. DRBD デバイスのマイナー番号を入力します。

    DRBD ブロックデバイスのマイナー番号を入力してください (0 - 1048576) [0]:
    

    DRBD デバイスのマイナー番号は、DRBD のブロックデバイスを表す接頭辞 drbd に続く番号です。 例えば、マイナー番号が 0 の場合には DRDB のブロックデバイスは /dev/drbd0 になります。 デフォルトは 0 です。

  14. DRBD でレプリケーションを行うファイルシステムを作成するディスクのブロックデバイス名を入力します。

    ディスクのブロックデバイス名を入力してください [/dev/sdb1]:
    

    DRBD でレプリケーションを行うファイルシステムは初期化されます。 そのため、ファイルシステム上のすべてのデータは削除されます。 デフォルトはマウントされていないファイルシステムの中で最初に見つかったものです。

  15. レプリケーションパスのネットワークインタフェース名を入力します。

    レプリケーションパスのネットワークインタフェース名を入力してください [eth0]: eth2
    

    デフォルトはネットワークインタフェースの中で最初に見つかったものです。

    レプリケーションパスとは

    レプリケーションパスは、DRBD がレプリケーションを行うのに使用する通信経路です。 DRBD ではデータの再同期時にネットワークの帯域幅を大量に消費する場合があります。 そのため、データベースのサービスを提供するのに使用するネットワークインタフェースとは別のものを設定することを推奨します。

  16. レプリケーションパスのポート番号を入力します。

    レプリケーションパスのポート番号を入力してください (7788 - 7799) [7788]:
    

    ポート番号は 7788 から 7799 の中から選択します。 デフォルトは 7788 ポートです。

  17. DRBD リソースの設定ファイルがすべてのノードにコピーされます。

    ファイルをノード "alice" にコピーしています...
    powergres_drbd.res                            100%  437     0.4KB/s   00:00
    ファイルをノード "bob" にコピーしています...
    powergres_drbd.res                            100%  437     0.4KB/s   00:00
    
  18. 仮想 IP アドレスサービスの作成が開始されます。

    仮想 IP アドレスサービス "powergres_ipaddr" を作成しています...
    

    PowerGres への接続は仮想 IP アドレスを通して行われます。

  19. PowerGres への接続に使用する仮想 IP アドレスを入力します。

    IP アドレスを入力してください: 192.168.137.100
    
  20. DRBD でレプリケーションを行うファイルシステムがマウントされます。

    ファイルシステムがマウントされるのを待機しています... 完了。
    
  21. データベースクラスタが作成されます。

    データベースクラスタを作成しています... 完了。
    
    PowerGres の設定

    データベースクラスタの作成時に指定するデフォルトの文字エンコーディングは UTF8、デフォルトのロケールは C (ロケールを使用しない) になります。

    PowerGres の設定ファイル postgresql.conf は、listen_addresses パラメータ*port パラメータ がセットアップ時に指定したポート番号 (デフォルトでは 5432)、log_destination パラメータsyslogsyslog_facility パラメータ がセットアップ時に指定したファシリティ (デフォルトでは local0) になります。 また、logging_collector パラメータlog_line_prefix パラメータ が設定されている場合にはコメントアウトされます。

    PostgreSQL のパラメータについては PostgreSQL のドキュメント を参照してください。

    #listen_addresses = '*'         # what IP address(es) to listen on;
    listen_addresses = '*'
                                            # comma-separated list of addresses;
                                            # defaults to 'localhost', '*' = all
                                            # (change requires restart)
    #port = 5432                            # (change requires restart)
    port = 5432
    (省略)
    #log_destination = 'stderr'             # Valid values are combinations of
    log_destination = 'syslog'
                                            # stderr, csvlog, syslog, and eventlog,
                                            # depending on platform.  csvlog
                                            # requires logging_collector to be on.
    
    # This is used when logging to stderr:
    #logging_collector = on         # Enable capturing of stderr and csvlog
                                            # into log files. Required to be on for
                                            # csvlogs.
                                            # (change requires restart)
    (省略)
    #syslog_facility = 'LOCAL0'
    syslog_facility = local0
    (省略)
    #log_line_prefix = '%t [%p] '                   # special values:
                                            #   %a = application name
                                            #   %u = user name
                                            #   %d = database name
                                            #   %r = remote host and port
                                            #   %h = remote host
                                            #   %p = process ID
                                            #   %t = timestamp without milliseconds
                                            #   %m = timestamp with milliseconds
                                            #   %i = command tag
                                            #   %e = SQL state
                                            #   %c = session ID
                                            #   %l = session line number
                                            #   %s = session start timestamp
                                            #   %v = virtual transaction ID
                                            #   %x = transaction ID (0 if none)
                                            #   %q = stop here in non-session
                                            #        processes
                                            #   %% = '%'
                                            # e.g. '<%u%%%d> '
    

    クライアント認証の設定ファイル pg_hba.conf は、ローカルホストに加えて仮想 IP アドレスに指定した IP アドレスのネットワークアドレスから接続を受けつけるようになります。 認証方式は、PowerGres のスーパーユーザのパスワードを設定した場合には MD5 によるパスワード認証 (md5)、設定していない場合には認証なし (trust) になります。

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     md5
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    #local   replication     postgres                                md5
    #host    replication     postgres        127.0.0.1/32            md5
    #host    replication     postgres        ::1/128                 md5
    host    all             all             192.168.137.0/24            md5
    
  22. crm_mon コマンドで PowerGres サービスが作成されたことを確認します。

    # crm_mon -rfA
    ============
    Last updated: Thu Nov  7 01:08:19 2013
    Stack: Heartbeat
    Current DC: alice (dbf44f6c-f753-48f9-9f15-a786a116c142) - partition with quorum
    Version: 1.0.13-30bb726
    2 Nodes configured, unknown expected votes
    2 Resources configured.
    ============
    
    Online: [ alice bob ]
    
    Full list of resources:
    
     Master/Slave Set: powergres_drbd.drbd.ms_drbd
         Masters: [ alice ]
         Slaves: [ bob ]
     Resource Group: powergres.pgsql-drbd.group_pgsql
         powergres_drbd.drbd.filesystem     (ocf::heartbeat:Filesystem):    Started alice
         powergres_ipaddr.ipaddr    (ocf::heartbeat:IPaddr2):       Started alice
         powergres.pgsql-drbd.pgsql (ocf::heartbeat:pgsql): Started alice
    
    Node Attributes:
    * Node alice:
        + bob-eth0                          : up
        + bob-eth1                          : up
        + bob-eth2                          : up
        + master-powergres_drbd.drbd.drbd:1 : 10000
    * Node bob:
        + alice-eth0                        : up
        + alice-eth1                        : up
        + alice-eth2                        : up
        + master-powergres_drbd.drbd.drbd:0 : 10000
    
    Migration summary:
    * Node alice:
    * Node bob:
    

    Full list of resources:」の下に PowerGres サービスを構成するリソースの状態が表示されます。

    Master/Slave Set:」の後に DRBD のリソース名、その下の「Masters:」の後に DRBD リソースがプライマリロールとして起動しているノード名、「Slaves:」の後にセカンダリロールとして起動しているノード名が表示されます。 DRBD リソースが停止している場合には「Stopped:」の後にノード名が表示されます。

    Resource Group:」の後に PowerGres サービスを構成するリソースを一つにまとめたグループ名、その下にグループ内のリソースの状態が表示されます。 リソースの状態は、リソース名とリソースを制御するリソースエージェント名の後に表示され、Started が起動している状態、Stopped が停止している状態を表します。 また、「Started」の後にはリソースが起動しているノード名が表示されます。

    片方のノードですべてのリソースが起動していれば、PowerGres サービスの作成は正常に完了しています。 Ctrl キーを押しながら C キーを押し、crm_mon コマンドを終了します。

IPMI デバイスの設定

IPMI (Intelligent Platform Management Interface) は、ネットワークを通じてリモートから OS を介さずにサーバを管理するための標準インタフェース規格です。 IPMI による STONITH を使用しない場合には、IPMI デバイスの設定、STONITH サービスの作成 を行う必要はありません。

IPMI を使用するにはサーバが IPMI に対応している必要があります。 また、管理用 LAN ポートのネットワーク接続やアカウントの設定など、ハードウェア (BIOS) 側の設定を行う必要があります。 ハードウェア側の設定はサーバによって異なります。 ハードウェア側の設定についてはサーバのドキュメントを参照してください。

IPMI デバイスのユーザ名とパスワード

pwg_clumgr コマンドで STONITH サービスの作成 を行うには、IPMI デバイスのユーザ名とパスワードをすべてのノードで同じにする必要があります。 ノードごとに異なるユーザ名とパスワードには対応していません。

ハードウェア側の設定を行ったらソフトウェア側の設定を行います。 ソフトウェア側の設定は以下の手順で行います。 操作はすべてのノードで root ユーザによって行います。

  1. IPMI の設定ファイル /etc/sysconfig/ipmi を編集します。

    ## Path:        Hardware/IPMI
    ## Description: Enable IPMI_POWEROFF if you want the IPMI poweroff module to be loaded.
    ## Type:        yesno
    ## Default:     "no"
    ## Config:      ipmi
    # Enable IPMI_POWEROFF if you want the IPMI
    # poweroff module to be loaded.
    IPMI_POWEROFF=yes
    
    ## Path:        Hardware/IPMI
    ## Description: Enable IPMI_POWERCYCLE if you want the system to be power-cycled on reboot
    ## Type:        yesno
    ## Default:     "no"
    ## Config:      ipmi
    # Enable IPMI_POWERCYCLE if you want the system to be power-cycled (power
    # down, delay briefly, power on) rather than power off, on systems
    # that support such.  IPMI_POWEROFF=yes is also required.
    IPMI_POWERCYCLE=yes
    

    STONITH では、すべてのコミュニケーションパスが切断されたときに相手のノードを再起動します。 そのため、IPMI_POWEROFF パラメータ、IPMI_POWERCYCLE パラメータの設定を yes に変更します。 IPMI_POWEROFF パラメータは IPMI でサーバを停止できるようにするか、IPMI_POWERCYCLE パラメータは IPMI でサーバを再起動できるようにするかを指定するパラメータです。

  2. service コマンドで IPMI を起動します。

    # service ipmi start
    Starting ipmi drivers:                                     [  OK  ]
    
  3. chkconfig コマンドで IPMI をシステムサービスとして登録します。

    # chkconfig ipmi on
    
  4. ipmitool コマンドで IPMI の動作を確認します。

    # ipmitool -I lanplus -H 192.168.137.5 -U username -L OPERATOR -P password power status
    Chassis Power is on
    

    -H オプションには IPMI の管理用 LAN ポートに割り当てられた IP アドレスまたはホスト名、-U オプションには IPMI デバイスのユーザ名、-P オプションにはパスワードを指定します。 引数の power status は電源の状態を表示するコマンドです。 電源の状態が表示されたら、IPMI デバイスの設定は正常に完了しています。

STONITH サービスの作成

STONITH (Shoot the Other Node in the Head) は、すべてのコミュニケーションパスが切断されたとき、相手のノードを再起動してスプリットブレインを回避する機能です。 PowerGres HA Pacemaker 版では IPMI による STONITH に対応しています。 IPMI による STONITH を使用しない場合には、STONITH サービスの作成を行う必要はありません。

IPMI による STONITH を使用するには、IPMI デバイスの設定 を行った上で STONITH サービスを作成します。 STONITH サービスの作成は pwg_clumgr コマンドの create-service モードで行います。

STONITH サービスの作成は以下の手順で行います。 操作は root ユーザで行います。

  1. create-service モードで pwg_clumgr コマンドを実行します。

    # pwg_clumgr create-service -t stonith-ipmi stonith
    

    -t オプションにはサービスの種類として IPMI による STONITH のサービスを表す stonith-ipmi タイプを指定します。 引数の stonith には任意のサービス名を指定します。

  2. SSH の秘密鍵を作成するときに入力したパスフレーズを入力します。

    Enter passphrase for /root/.ssh/id_rsa-pwg_clumgr: (パスフレーズを入力)
    
  3. IPMI デバイスのユーザ名を入力します。

    IPMI デバイスのユーザ名を入力してください: username
    
  4. IPMI デバイスのユーザのパスワードを入力します。

    パスワードを入力してください: (パスワードを入力)
    
  5. crm_mon コマンドで IPMI サービスが作成されたことを確認します。

    # crm_mon -rfA
    ============
    Last updated: Thu Nov  7 21:48:03 2013
    Stack: Heartbeat
    Current DC: alice (dbf44f6c-f753-48f9-9f15-a786a116c142) - partition with quorum
    Version: 1.0.13-30bb726
    2 Nodes configured, unknown expected votes
    3 Resources configured.
    ============
    
    Online: [ alice bob ]
    
    Full list of resources:
    
     Master/Slave Set: powergres_drbd.drbd.ms_drbd
         Masters: [ alice ]
         Slaves: [ bob ]
     Resource Group: powergres.pgsql-drbd.group_pgsql
         powergres_drbd.drbd.filesystem     (ocf::heartbeat:Filesystem):    Started alice
         powergres_ipaddr.ipaddr    (ocf::heartbeat:IPaddr2):       Started alice
         powergres.pgsql-drbd.pgsql (ocf::heartbeat:pgsql): Started alice
     Resource Group: stonith.stonith-ipmi.group_stonith_alice
         stonith.stonith-ipmi.stonith1_alice        (stonith:external/stonith-helper):      Started bob
         stonith.stonith-ipmi.stonith2_alice        (stonith:external/ipmi):        Started bob
         stonith.stonith-ipmi.stonith3_alice        (stonith:meatware):     Started bob
     Resource Group: stonith.stonith-ipmi.group_stonith_bob
         stonith.stonith-ipmi.stonith1_bob  (stonith:external/stonith-helper):      Started alice
         stonith.stonith-ipmi.stonith2_bob  (stonith:external/ipmi):        Started alice
         stonith.stonith-ipmi.stonith3_bob  (stonith:meatware):     Started alice
    
    Node Attributes:
    * Node alice:
        + bob-eth0                          : up
        + bob-eth1                          : up
        + bob-eth2                          : up
        + master-powergres_drbd.drbd.drbd:1 : 10000
    * Node bob:
        + alice-eth0                        : up
        + alice-eth1                        : up
        + alice-eth2                        : up
        + master-powergres_drbd.drbd.drbd:0 : 10000
    
    Migration summary:
    * Node alice:
    * Node bob:
    

PowerGres Manager の設定

PowerGres Manager は、バックアップやリストアなどの PowerGres の運用を支援する GUI 管理ツールです。 PowerGres HA Pacemaker 版で PowerGres Manager (PowerGres Plus HA Pacemaker 版の場合には PowerGres Plus Manager) を使用するための設定を行います。 PowerGres Manager を使用しない場合には設定を行う必要はありません。

PowerGres HA Pacemaker 版ではデータベースクラスタが存在するノードの切り替わりが発生するため、PowerGres Manager を使用する場合にはリモートサーバとして PowerGres の仮想 IP アドレスを登録します。

リモートサーバの管理

PowerGres Manager でリモートサーバを管理する場合には、ローカルサーバを管理する場合と異なり、設定ファイルの編集、サービスの起動や停止、オンラインバックアップなどの機能を使用できません。

ノードごとにローカルサーバとして登録することもできますが、その場合、PowerGres サービスが起動しているノードで PowerGres Manager を起動する必要があります。

PowerGres Manager へのリモートサーバの登録は以下の手順で行います。 操作は PowerGres Manager を起動するノードで PowerGres のスーパーユーザ (デフォルトでは postgres ユーザ) によって行います。 詳細については、PowerGres on Linux HA Pacemaker 版の場合には PowerGres Manager マニュアル、PowerGres Plus HA Pacemaker 版の場合には PowerGres Plus Manager マニュアル を参照してください。

  1. powergres-mgr コマンドで PowerGres Manager を起動します。

    $ powergres-mgr
    
  2. メニューから「サーバ」、「サーバを登録」を選択します。

    「サーバを登録」ダイアログが起動します。

  3. 「ラベル」に PowerGres Manager でサーバを識別するのに使用する名前を入力します。 次に「リモートのサーバを管理」を選択し、「サーバ」に PowerGres の仮想 IP アドレス、「ポート」に PowerGres のポート番号を入力します。

    「進む」ボタンをクリックします。

  4. サーバを登録するかを確認するメッセージが表示されます。

    「OK」ボタンをクリックします。

  5. サーバの登録が完了します。

  6. PowerGres への接続が必要な操作を行おうとすると、「ユーザ名」と「パスワード」の入力を求めるダイアログが表示されます。

    「ユーザ名」と「パスワード」を入力し、「OK」ボタンをクリックします。