This site best when viewed with a modern standards-compliant browser. We recommend Firefox Get Firefox!.

Linux-HA project logo
Providing Open Source High-Availability Software for Linux and other OSes since 1999.

USA Flag UK Flag

Japanese Flag

ホームページ

サイトについて

コンタクト情報

使用条件

協力方法

セキュリティ

This web page is no longer maintained. Information presented here exists only to avoid breaking historical links.
The Project stays maintained, and lives on: see the Linux-HA Reference Documentation.
To get rid of this notice, you may want to browse the old wiki instead.

2010.1.28
追加パッケージ集リニューアル
追加パッケージ集は、こちらから

2008.8.28
RHEL用rpm更新
更新情報はこちらから

2008.8.18
Heartbeat 2.1.4
リリース!
Downloadはこちらから

2007.11.13
Linux-ha-japan日本語ML移植しました

2007.10.5
日本語サイトOPEN
日本語MLも開設しました

2007.10.5
OSC2007 Tokyo/Fall で Heartbeat紹介
発表資料を公開しました

Last site update:
2017-12-11 04:47:19

Heartbeat 2.1.3 インストール手順例(RHEL5.1 x86_64版)

Contents

  1. ソースプログラムからインストール
    1. ソースプログラム
    2. libnet のインストール
    3. ビルドに必要なパッケージのインストール
    4. mgmtd がビルドされるために必要なパッケージのインストール(オプション)
    5. SNMP を有効にするために必要なパッケージのインストール(オプション)
    6. heartbeat のインストール
    7. rpmパッケージを作成しない一般的なインストール方法
    8. rpmパッケージを作成してインストールする方法
  2. rpmパッケージからインストール
    1. あらかじめインストールが必要なパッケージ
    2. heartbeat用ユーザの作成
    3. インストール
  3. 設定と動作確認
  4. バージョン2モードの設定と動作確認
    1. heartbeat の設定
      1. クラスタの設定
      2. 認証方法と認証鍵の設定
      3. 共有リソースの設定
    2. heartbeat の起動
      1. 起動
      2. CIB設定ファイルの更新
      3. 起動確認
      4. 停止
  5. GUIクライアントの動作確認
  6. libnet.tar.gz のダウンロード
  7. 関連情報



ソースプログラムからインストール

  • RHEL5.1 x86_64版を開発ツールを含むようにカスタムインストールした環境へのインストール手順例を示します。

ソースプログラム

libnet のインストール

  • libnet の rpmパッケージは、RHEL5.1のインストールセットに含まれていませんが、適当なWebサイトから入手できるのでそれを利用してください。
  • ここでは、ソースプログラムがらインストールする方法を説明します。

・解凍

$ tar zxvf libnet.tar.gz

・コンパイル

$ cd libnet
$ ./configure --prefix=/usr/local 2>&1 \
     | tee configure.log
$ make 2>&1 | tee make.log

・インストール

$ su
# make install 2>&1 | tee make_install.log

ビルドに必要なパッケージのインストール

# rpm -ivh libtool-ltdl-1.5.22-6.1.x86_64.rpm
# rpm -ivh libtool-ltdl-devel-1.5.22-6.1.x86_64.rpm
# rpm -ivh OpenIPMI-devel-2.0.6-5.el5.4.x86_64.rpm

mgmtd がビルドされるために必要なパッケージのインストール(オプション)

# rpm -ivh gnutls-devel-1.4.1-2.x86_64.rpm

SNMP を有効にするために必要なパッケージのインストール(オプション)

# rpm -ivh beecrypt-devel-4.1.2-10.1.1.x86_64.rpm
# rpm -ivh elfutils-devel-static-0.125-3.el5.x86_64.rpm elfutils-devel-0.125-3.el5.x86_64.rpm
# rpm -ivh net-snmp-5.3.1-19.el5.x86_64.rpm
# rpm -ivh net-snmp-devel-5.3.1-19.el5.x86_64.rpm
# rpm -ivh lm_sensors-devel-2.10.0-3.1.x86_64.rpm

heartbeat のインストール

次の2つの方法があります。

・rpmパッケージを作成しない一般的なインストール方法
・rpmパッケージを作成し、インストールする方法

rpmパッケージを作成しない一般的なインストール方法

・heartbeat用ユーザの作成

インストール時に、ユーザ hacluster が必要となるので、作成しておきます。

$ su -
# groupadd -g 90 haclient
# useradd -u 90 -g haclient -d /home/hacluster \
     -s /bin/bash -c HACLUSTER -m hacluster

パスワードの設定をおこないます。

# passwd hacluster
New UNIX password:
( BAD PASSWORD: it does not contain enough DIFFERENT characters )
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
# exit
$

・解凍

$ tar zxvf heartbeat-2.1.3.tar.gz

・コンパイル

SNMPの有効化とグループID/ユーザIDを指定しています。

$ cd heartbeat-2.1.3 
$ ./ConfigureMe configure --enable-snmp_subagent \
     --with-group-id=90 --with-ccmuser-id=90 2>&1 | tee configure.log
$ make 2>&1 | tee make.log

・インストール

$ su
# make install 2>&1 | tee make_install.log

rpmパッケージを作成してインストールする方法

・解凍

$ tar zxvf heartbeat-2.1.3.tar.gz

・rpmパッケージ作成

SNMPの有効化とグループID/ユーザIDを指定してrpmを作成しています。

$ cd heartbeat-2.1.3 
$ su
# ./ConfigureMe rpm --enable-snmp_subagent \
     --with-group-id=90 --with-ccmuser-id=90 2>&1 | tee configure.log

以下の8ファイルが作成されます。(ソフトウェアのダウンロードからダウンロードできるTarballには、debuginfo,develは含めていません)

/usr/src/redhat/SRPMS/heartbeat-2.1.3-1.src.rpm

/usr/src/redhat/RPMS/x86_64/heartbeat-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/heartbeat-devel-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/heartbeat-ldirectord-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/stonith-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/pils-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/heartbeat-gui-2.1.3-1.x86_64.rpm

/usr/src/redhat/RPMS/x86_64/heartbeat-debuginfo-2.1.3-1.x86_64.rpm

作成された *.rpm は、共通的に使用できるので、configure.log と共に適当な外部メディアにコピーしておくとよいです。

***** 注意事項 *****
続けて rpm をインストールする場合は、その前に heartbeat用ユーザの作成をおこなってください。
これを行わないと rpm インストール時に haclient 90 というグループは正常にできますが、それとは別にグループ hacluster 501 のユーザ hacluster 501 ができてしまいます。

$ su -
# groupadd -g 90 haclient
# useradd -u 90 -g haclient -d /home/hacluster \
     -s /bin/bash -c HACLUSTER -m hacluster

パスワードの設定をおこないます。

# passwd hacluster
New UNIX password:
( BAD PASSWORD: it does not contain enough DIFFERENT characters )
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

・インストール

# rpm -ivh pils-2.1.3-1.x86_64.rpm
# rpm -ivh stonith-2.1.3-1.x86_64.rpm
# rpm -ivh heartbeat-2.1.3-1.x86_64.rpm

また、GUIクライアントを使用する場合は、別サーバにインストールします。 (同じサーバにインストールすることもできます)

# rpm -ivh heartbeat-gui-2.1.3-1.x86_64.rpm

・アンインストール

# rpm -e heartbeat
# rpm -e stonith
# rpm -e pils 

また、GUIクライアントをアンインストールする場合は、

# rpm -e heartbeat-gui 

なお、ユーザhacluster とグループ haclient は自動的に削除されないので、別途削除する必要があります。

# userdel hacluster
# groupdel haclient
( # rm -r -f /home/hacluster ) 



rpmパッケージからインストール

RHEL5.1 がクリーンインストールされた環境へのインストール手順を示します。

RHEL5.1 のインストールは、

  • □ ソフトウェア開発
  • □ ウェブサーバー

◎ 後でカスタマイズする  ○ 今すぐカスタマイズする

のデフォルトでもかまわないです。

haertbeat の RHEL5.1用 rpmは、ソフトウェアのダウンロードページからダウンロードできます。

libnet のインストールは不要です。

あらかじめインストールが必要なパッケージ

# rpm -ivh libtool-ltdl-1.5.22-6.1.x86_64.rpm

デフォルトのソフトウェアでインストールした場合は、以下のパッケージも必要です。

# rpm -ivh lm_sensors-2.10.0-3.1.x86_64.rpm

heartbeat用ユーザの作成

専用グループ haclient と専用ユーザ hacluster を作成しておきます。

***** 注意事項 *****
これを行わないと rpm インストール時に haclient 90 というグループは正常にできますが、それとは別にグループ hacluster 501 のユーザ hacluster 501 ができてしまいます。

$ su -
# groupadd -g 90 haclient
# useradd -u 90 -g haclient -d /home/hacluster \
     -s /bin/bash -c HACLUSTER -m hacluster 

パスワードの設定をおこないます。

# passwd hacluster New UNIX password:
( BAD PASSWORD: it does not contain enough DIFFERENT characters )
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

インストール

# rpm -ivh pils-2.1.3-1.x86_64.rpm
# rpm -ivh stonith-2.1.3-1.x86_64.rpm
# rpm -ivh heartbeat-2.1.3-1.x86_64.rpm

また、GUIクライアントを使用する場合は、別サーバにインストールします。 (同じサーバにインストールすることもできます)

# rpm -ivh heartbeat-gui-2.1.3-1.x86_64.rpm

・アンインストール

# rpm -e heartbeat
# rpm -e stonith
# rpm -e pils 

また、GUIクライアントをアンインストールする場合は、

# rpm -e heartbeat-gui

なお、ユーザhacluster とグループ haclient は自動的に削除されないので、別途削除する必要があります。

# userdel hacluster
# groupdel haclient
( # rm -r -f /home/hacluster ) 



設定と動作確認

Heartbeat には、バージョン1系互換動作モードとバージョン2動作モードの2つがあります。
バージョン1系互換動作モードは、設定と動作確認が容易にできるので、Heartbeatを始めてさわる人は バージョン1モードの設定と動作確認 に進み実行してみるとよいです。

それ以外の人は、バージョン2モードの設定と動作確認に進んでください。



バージョン2モードの設定と動作確認

heartbeat の設定

クラスタの設定

/etc/ha.d/ha.cf を作成編集します。

crm on

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 30

warntime 10

initdead 60

udpport 694

auto_failback off

bcast eth1

node sv01

node sv02

認証方法と認証鍵の設定

/etc/ha.d/authkeys を作成編集します。

auth 1

1 md5 someword

アクセス権の設定

# chmod 0600 authkeys

共有リソースの設定

CIB設定ファイル cib.xml を /tmp 等に一時的に作成します。

例)

ACT,SBY構成で、IPaddrリソースを使用
仮想IPを 172.20.24.30/24 に設定
ACT側で障害が発生した場合、SBY側にフェイルオーバをおこなう

 <cib admin_epoch="0" epoch="1" have_quorum="true" cib_feature_revision="1.3">
   <configuration>
     <crm_config>
       <cluster_property_set id="idCluseterPropertySet">
         <attributes>
           <nvpair id="symmetric_cluster" 
             name="symmetric_cluster" value="true"/>
           <nvpair id="no_quorum_policy" 
             name="no_quorum_policy" value="ignore"/>
           <nvpair id="stonith_enabled" 
             name="stonith_enabled" value="false"/>
           <nvpair id="short_resource_names" 
             name="short_resource_names" value="true"/>
           <nvpair id="is_managed_default" 
             name="is_managed_default" value="true"/>
           <nvpair id="transition_idle_timeout" 
             name="transition_idle_timeout" value="120000"/>
           <nvpair id="default_resource_stickiness" 
             name="default_resource_stickiness" value="INFINITY"/>
           <nvpair id="stop_orphan_resources" 
             name="stop_orphan_resources" value="false"/>
           <nvpair id="stop_orphan_actions" 
             name="stop_orphan_actions" value="true"/>
           <nvpair id="remove_after_stop" 
             name="remove_after_stop" value="false"/>
           <nvpair id="default_resource_failure_stickiness" 
             name="default_resource_failure_stickiness" value="0"/>
           <nvpair id="stonith_action" name="stonith_action" value="false"/>
         </attributes>
       </cluster_property_set>
     </crm_config>
     <nodes/>
     <resources>
       <group id="grpTest" restart_type="restart">
         <primitive id="prmIpTest" class="ocf" type="IPaddr" provider="heartbeat">
           <operations>
             <op id="ipTest_start" 
               name="start" timeout="60s" on_fail="restart"/>
             <op id="ipTest_monitor" 
               name="monitor" interval="10s" timeout="5s" on_fail="restart"/>
             <op id="ipTest_stop" 
               name="stop" timeout="60s" on_fail="restart"/>
           </operations>
           <instance_attributes id="atrIpTest">
             <attributes>
               <nvpair id="ipTest" name="ip" value="172.20.24.30"/>
               <nvpair id="maskTest" name="netmask" value="24"/>
               <nvpair id="nicTest" name="nic" value="eth0"/>
             </attributes>
           </instance_attributes>
         </primitive>
       </group>
     </resources>
     <constraints>
     </constraints>
   </configuration>
   <status/>
 </cib>

heartbeat の起動

起動

手動で heartbeat を起動します。

すべてのサーバでおこなう必要があります。 (例えば稼動系 sv01、待機系 sv02 等)

$ su sv01
# /etc/init.d/heartbeat start
Starting High-Availability services: [ OK ] 
$ su sv02
# /etc/init.d/heartbeat start
Starting High-Availability services: [ OK ]

CIB設定ファイルの更新

DCが決定したことを確認します。(ここでは sv01がDCノードに割り当てられたとします)

# crmadmin -D
Designated Controller is: sv01

DCのcrmdが「S_IDLE」であることを確認します。

# crmadmin -S sv01
Status of crmd@sv01: S_IDLE (ok)

先に/tmp等に一時的に作成した cib.xmlを使用して、cib.xmlを更新します。(コマンド実行後、両ノードの /var/lib/heartbeat/crm/cib.xml が更新されます)

# cibadmin -U -x /tmp/cib.xml

起動確認

稼動系サーバの仮想IPアドレスの確認

sv01# ifconfig -a eth0:0
        :
eth0:0
   inet addr: <-仮想IPアドレス

停止

手動で heartbeat を停止します。

すべてのサーバでおこなう必要があります。 (例えば稼動系 sv01、待機系 sv02 等)

$ su 
sv01# /etc/init.d/heartbeat stop
Stopping High-Availability services: [ OK ] 
$ su 
sv02# /etc/init.d/heartbeat stop
Stopping High-Availability services: [ OK ]



GUIクライアントの動作確認

GUIクライアントは、Heartbeat が起動しているサーバでも他のサーバでも動作可能です。

$ /usr/share/heartbeat-gui/haclient.py
( $ /usr/bin/hb_gui でも可 ) 

GUI画面

注意.RHEL5.1 を最小インストールした環境では、GUIクライアントは動作しません。他サーバのGUIクライアントからのアクセスは可能です。

参考.RHEL5.1 の Python のバージョンは 2.4.3



libnet.tar.gz のダウンロード

http://www.packetfactory.net/libnet/ にもし接続できない場合は、 次の Debian の公式パッケージ配布サイトからもダウンロードができます。

http://packages.debian.org/source/etch/libnet

下の方にある Download libnet の libnet_1.1.2.1.orig.tar.gz これが libnet.tar.gz とまったく同一のソースパッケージになります。



関連情報

バージョン1モードの設定と動作確認, ha.cf, クラスタ情報ベース(CIB), GUIガイド, Heartbeat 2.1.2 インストール手順例(RHEL4 Update4 x86_64)