heartbeatの設定

2006/08/17

「VineでDRBDを使ってクラスタリング」の目次へ戻る


Apacheサービスをクラスタリング

この例ではApacheサービスをクラスタリングによって止めないようにすることとします。他のサービスもそれほど難しくありませんので、準じる方法でできるように思います。

  1. Apache起動スクリプトのシンボリック・リンクを作成する。
    # ln -s /etc/init.d/httpd /etc/ha.d/resource.d/httpd
  2. heartbeatがApacheの起動&停止を行うので、Apacheがサーバ起動時に自動起動させないようにしておきます。
    # /sbin/chkconfig httpd off

Primary、Secondaryとも設定してください。

なお、start,stopをパラメータにもつスクリプトを/etc/ha.d/resource.d/以下に作っておけば、heartbeatで利用できます。したがって、ほかのサービスでもほとんどの場合は起動スクリプトのシンボリック・リンクを作成するだけです。


heartbeatの設定ファイルを変更

  1. /etc/ha.d/authkeysを変更します。以下はコメントをはずしただけです。
    auth 1
    1 crc
  2. /etc/ha.d/ha.cfを変更します。以下はほとんどが初期値のままです。必要であれば変更するようにしてください。nodeだけは必ず指定してください。
    logfacility local0
    keepalive 2
    deadtime 30
    udpport 694
    udp eth0
    auto_failback on
    node primary.tsuttayo.sytes.net
    node secondary.tsuttayo.sytes.net
  3. /etc/ha.d/haresourcesを変更します。
    この例では、/homeをmountし、Apacheサービスを起動しています。
    primary.tsuttayo.sytes.net 192.168.0.30/24 homemount::r0 httpd

上記3つの設定ファイルはPrimary、Secondaryとも変更してください。


Primary側の動作確認

  1. Primary側の動作テストをします。まず、Apacheサービスを停止しておきます。
    # /etc/init.d/httpd stop
  2. /homeをumountしておきます。
    # umount /home
  3. heartbeatをPrimary側で起動してください。
    # /etc/init.d/heartbeat start
  4. heartbeatがApacheを起動したことを確認します。
    # /etc/init.d/httpd status
  5. heartbeatが/homeをマウントしたことを確認します。
    # df
  6. heartbeatが仮想IPアドレスを追加しているかを確認します。以下でeth0に2つのIPアドレスがふられていたらOKです。
    # ifconfig

ここまでOKなら、heartbeatをサーバ起動時に自動起動するようにしておきます。
# chkconfig heartbeat on
Primary、Secondaryの両方ともこれを行います。

Copyright©2001-2019 釣ったよ! All Right Reserved.    sg@tsuttayo.jpn.org