1、安裝cluster glue
安裝heartbeat之前需要安裝glue。
yum install autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel make wget(紅色標記處也需要安裝)
groupadd haclient
useradd -g haclient hacluster
cd /tmp
wget http://hg.linux-ha.org/glue/archive/glue-1.0.9.tar.bz2
tar xjf glue-1.0.9.tar.bz2
cd Reusable-Cluster-Components-glue–glue-1.0.9
./autogen.sh
./configure –prefix=/usr/local/heartbeat LIBS=’/lib/libuuid.so.1‘(64位系統上是LIBS=’/lib64/libuuid.so.1‘)
make && make install
安裝過程中會在INTERNET中校驗一些xml文件,會耗費大量時間,要耐心等待。如果報錯可能是網絡引起,多試幾次就行(yum install docbook-dtds docbook-style-xsl安裝這兩個包之後解決 )。
安裝Resource Agents
cd /tmp
wget –no-check-certifi
cate https://github.com/ClusterLabs/resource-agents/tarball/v3.9.2
tar xzf v3.9.2
cd ClusterLabs-resource-agents-b735277/
./autogen.sh
./configure –prefix=/usr/local/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib LIBS=’/lib/libuuid.so.1‘(64位系統上是LIBS=’/lib64/libuuid.so.1‘)
ln -s /usr/local/heartbeat/lib/* /lib/ (64位系統是ln -s /usr/local/heartbeat/lib/* /lib64/ 解決libplumb.so.2等包找不到的問題,./configure的時候會產生一些需要的包)
make && make install
安裝Heartbeat
cd /tmp
wget http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/7e3a82377fa8.tar.bz2
tar xjf 7e3a82377fa8.tar.bz2
cd Heartbeat-3-0-7e3a82377fa8/
./bootstrap
./configure –prefix=/usr/local/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib LIBS=’/lib64/libuuid.so.1′
vim /usr/local/heartbeat/include/heartbeat/glue_config.h
刪除最後一行:#define HA_HBCONF_DIR “/usr/local/heartbeat/etc/ha.d/”(解決glue_config.h:99:1: error: “HA_HBCONF_DIR” redefined錯誤)
make && make install
cp doc/ha.cf /usr/local/heartbeat/etc/ha.d/
cp doc/haresources /usr/local/heartbeat/etc/ha.d/
cp doc/authkeys /usr/local/heartbeat/etc/ha.d/
cp heartbeat/init.d/heartbeat /etc/rc.d/init.d/
chkconfig –add heartbeat
chkconfig heartbeat on
chmod 600 /usr/local/heartbeat/etc/ha.d/authkeys
sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/etc/ha.d/shellfuncs
sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/usr/lib/ocf/lib//heartbeat/ocf-shellfuncs
sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/etc/ha.d/resource.d//hto-mapfuncs