セットアップ前の準備

PowerGres HA Pacemaker 版のセットアップに必要な準備を行います。

SELinux の設定

SELinux は、OS のセキュリティポリシーに基づく強制アクセス制御を行う機能です。 SELinux が有効な場合には無効に設定を変更します。 詳細については OS のドキュメントを参照してください。

現在の SELinux のモードを確認するには root ユーザで getenforce コマンドを実行します。

# getenforce
Enforcing

SELinux のモードは enforcing が有効、permissive が警告のみ、disabled が無効を表します。 SELinux のモードが enforcing の場合には permissive に設定を変更します。 設定の変更は以下の手順で行います。 操作はすべてのノードで root ユーザによって行います。

  1. setenforce コマンドで SELinux のモードを permissive に変更します。

    # setenforce permissive
    

    setenforce コマンドは現在の SELinux のモードしか変更できません。 OS の再起動後も SELinux を無効にするには、SELinux の設定ファイルを編集する必要があります。

  2. SELinux の設定ファイル /etc/selinux/config を編集します。

    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=permissive
    

    SELINUX パラメータの設定を permissive に変更します。 SELINUX パラメータは、SELinux のモードを指定するパラメータです。

ファイアウォールの設定

ファイアウォールは、異なるネットワーク間でアクセス制御を行う機能です。 ファイアウォールが有効な場合には、PowerGres HA Pacemaker 版で使用するポートへのアクセスが許可されている必要があります。 PowerGres HA Pacemaker 版で使用するポートはデフォルトでは以下のとおりです。

サービス ポート プロトコル 備考
SSH 22 TCP ポートへのアクセスはデフォルトでは許可されています。
PowerGres 5432 TCP セットアップ時に任意のポートを選択できます。
Heartbeat 694 UDP ポートは固定です。
DRBD 7788 TCP セットアップ時に 7788 から 7799 の中からポートを選択できます。

上記のポートへのアクセスが許可されていない場合には、system-config-firewall でファイアウォールの設定を行います。 詳細やそのほかの設定方法については OS のドキュメントを参照してください。

ファイアウォールの設定は以下の手順で行います。 操作はすべてのノードで root ユーザによって行います。 Red Hat Enterprise Linux 5、CentOS 5 については Red Hat Enterprise Linux 5、CentOS 5 の場合 を参照してください。

Red Hat Enterprise Linux 6、CentOS 6 の場合

  1. パネルメニューから「システム」、「管理」、「ファイアーウォール」を選択します。

    「ファイアーウォールの設定 (system-config-firewall)」が起動します。

  2. 左側のメニューから「信頼したサービス」を選択すると、右側に「信頼したサービス」の一覧が表示されます。

    「SSH」がチェックされていることを確認します。 チェックされていない場合にはチェックします。

  3. 左側のメニューから「その他のポート」を選択すると、右側に「その他のポート」の一覧が表示されます。

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

  4. 「ポートとプロトコル」ダイアログが表示されます。

  5. アクセスを許可するポートとプロトコルを一覧から選択するか、「ユーザー定義」をチェックして「ポート / ポート範囲」と「プロトコル」を入力し、「OK」ボタンをクリックします。

    ポート / プロトコルには、デフォルトであれば 694 / UDP、5432 / TCP、7788 / TCP を指定します。 694 / UDP、5432 / TCP については ha-clusterpostgres というサービスで一覧に含まれています。

  6. すべてのポートへのアクセスを許可したら、ツールバーの「適用」ボタンをクリックします。

  7. 設定の変更を適用するかを確認するダイアログが表示されます。

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

  8. ウィンドウを閉じます。

次に syslog の設定を行います。 syslog については syslog の設定 を参照してください。

Red Hat Enterprise Linux 5、CentOS 5 の場合

  1. パネルメニューから「システム」、「管理」、「セキュリティレベルとファイヤーウォールの設定」を選択します。

    「セキュリティレベルの設定 (system-config-firewall)」が起動します。

  2. 「ファイアウォールのオプション」タブを選択します。

    「SSH」がチェックされていることを確認します。 チェックされていない場合にはチェックします。

  3. 「その他のポート」をクリックすると、「その他のポート」の一覧が表示されます。

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

  4. 「ポートの追加」ダイアログが表示されます。

  5. アクセスを許可する「ポート」と「プロトコル」を入力し、「OK」ボタンをクリックします。

    ポート / プロトコルには、デフォルトであれば 694 / UDP、5432 / TCP、7788 / TCP を指定します。

  6. すべてのポートへのアクセスを許可したら、「適用」ボタンをクリックします。

  7. 設定の変更を適用するかを確認するダイアログが表示されます。

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

  8. ウィンドウを閉じます。

syslog の設定

PowerGres HA Pacemaker 版では syslog でログメッセージを取得します。 syslog は、OS やアプリケーションのログメッセージを取得するデーモンです。 syslog ではどのログメッセージをどこに出力するかをファシリティで指定します。 PowerGres HA Pacemaker 版で使用するファシリティはデフォルトでは以下のとおりです。

サービス ファシリティ 備考
PowerGres local0 セットアップ時に local0 から local7 の中からファシリティを選択できます。
Pacemaker、Heartbeat local0 セットアップ時に local0 から local7 の中からファシリティを選択できます。
DRBD kern カーネルモジュールのため、ファシリティは固定です。

上記のファシリティのログメッセージは、デフォルトではログファイル /var/log/messages に出力されます。 別のファイルにログメッセージを出力する場合には syslog の設定を行います。 詳細については OS のドキュメントを参照してください。

syslog の設定は以下の手順で行います。 操作はすべてのノードで root ユーザによって行います。 Red Hat Enterprise Linux 5、CentOS 5 については Red Hat Enterprise Linux 5、CentOS 5 の場合 を参照してください。

Red Hat Enterprise Linux 6、CentOS 6 の場合

Red Hat Enterprise Linux 6、CentOS 6 に付属の syslog は rsyslog です。

  1. rsyslog の設定ファイル /etc/rsyslog.conf を編集します。

    #### RULES ####
    
    local0.*                                                /var/log/powergres-ha
    & ~
    :msg, contains, "drbd"                                  /var/log/powergres-ha
    & ~
    
    # Log all kernel messages to the console.
    # Logging much else clutters up the screen.
    #kern.*                                                 /dev/console
    
    # Log anything (except mail) of level info or higher.
    # Don't log private authentication messages!
    *.info;mail.none;authpriv.none;cron.none                /var/log/messages
    

    上記の設定は、local0 ファシリティのログメッセージと「drbd」を含むログメッセージをログファイル /var/log/powergres-ha に出力し、それ以降で指定されたログファイルに出力しない、というものです。 ただし、DRBD のログメッセージに必ずしも「drbd」が含まれるわけではありません。

  2. rsyslog を再起動します。

    # service rsyslog restart
    システムロガーを停止中:                                    [  OK  ]
    システムロガーを起動中:                                    [  OK  ]
    

Red Hat Enterprise Linux 5、CentOS 5 の場合

  1. syslog の設定ファイル /etc/syslog.conf を編集します。

    # Log all kernel messages to the console.
    # Logging much else clutters up the screen.
    #kern.*                                                 /dev/console
    
    # Log anything (except mail) of level info or higher.
    # Don't log private authentication messages!
    *.info;mail.none;authpriv.none;cron.none;local0.none    /var/log/messages
    
    local0.*;kern.*                                         /var/log/powergres-ha
    
    # The authpriv file has restricted access.
    authpriv.*                                              /var/log/secure
    

    上記の設定は、local0 ファシリティのログメッセージをログファイル /var/log/powergres-ha のみに出力し、kern ファシリティのログメッセージをログファイル /var/log/powergres-ha とほかで指定されたログファイルに出力する、というものです。 kern ファシリティには DRBD 以外にもカーネルのログメッセージが含まれます。

  2. syslog を再起動します。

    # service syslog restart
    カーネルロガーを停止中:                                    [  OK  ]
    システムロガーを停止中:                                    [  OK  ]
    システムロガーを起動中:                                    [  OK  ]
    カーネルロガーを起動中:                                    [  OK  ]