Heartbeat3安装

来源:互联网 发布:志鸿优化设计教案 编辑:程序博客网 时间:2024/05/17 22:41

--------------------------------------------------------------------------------------

heartbeat3.0版本有三部分组成:Heartbeat、Cluster Glue、Resource Agents
1、hearbeat是集群基础(cluster messaging layer),负责维护集群各节点的信息以及它们之前通信;
2、cluster-glue中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2个部分,LRM和STONITH;
3、resource-agent,就是各种的资源的ocf脚本,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。
#安装前,yum安装缺的包
yum install -y glib2-devel bzip2-devel libxml2 libxml2-devel libtool libtool-ltdl-devel buuid-devel automake autoconf docbook-style-xsl libxslt-devel gettext libaio-devel
--------------------------------------------------------------------------------------
新建用户
groupadd haclient
useradd -g haclient -M -s /sbin/nologin hacluster
--------------------------------------------------------------------------------------
环境变量
#vi /root/.bash_profile
export PREFIX=/usr/local/ha
export LCRSODIR=$PREFIX/libexec/lcrso
export CLUSTER_USER=hacluster
export CLUSTER_GROUP=haclient
export CFLAGS="$CFLAGS -I$PREFIX/include -L$PREFIX/lib"
getent group ${CLUSTER_GROUP} >/dev/null || groupadd -r ${CLUSTER_GROUP}
getent passwd ${CLUSTER_USER} >/dev/null || useradd -r -g ${CLUSTER_GROUP} -d /var/lib/heartbeat/cores/hacluster -s /sbin/nologin -c "cluster user" ${CLUSTER_USER}
--------------------------------------------------------------------------------------
安装Cluster Glue
#tar -jxvf Reusable-Cluster-Components-glue--glue-1.0.9.tar.bz2
#cd Reusable-Cluster-Components-glue--glue-1.0.9/
#./autogen.sh
#./configure --prefix=$PREFIX --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP} --enable-fatal-warnings=no LIBS=/lib64/libuuid.so.1
##注意:如果你是64位系统将LIBS=/lib64/libuuid.so.1
#make
#make install
--------------------------------------------------------------------------------------
安装Resource Agents
#tar -zxvf ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz
#cd ClusterLabs-resource-agents-b735277
#./autogen.sh
#./configure --prefix=$PREFIX --enable-fatal-warnings=no LIBS=/lib/libuuid.so.1
#make && make install
--------------------------------------------------------------------------------------
安装Heartbeat
#tar -zxvf Heartbeat-3-0-7e3a82377fa8.tar.gz
#cd Heartbeat-3-0-7e3a82377fa8
#./bootstrap
#./configure --prefix=$PREFIX --enable-fatal-warnings=no --disable-swig --disable-snmp-subagent
#make && make install
--------------------------------------------------------------------------------------
拷贝配置文件
cp /usr/local/ha/share/doc/heartbeat/ha.cf  /usr/local/ha/etc/ha.d/
cp /usr/local/ha/share/doc/heartbeat/haresources  /usr/local/ha/etc/ha.d
cp /usr/local/ha/share/doc/heartbeat/authkeys  /usr/local/ha/etc/ha.d/
--------------------------------------------------------------------------------------
ha.cf配置文件部分参数详解:
logfile /var/log/ha-log
#指名heartbaet的日志存放位置
keepalive 2  
#指定心跳使用间隔时间为2秒(即每两秒钟在eth1上发送一次广播)
deadtime 30
#指定备用节点在30秒内没有收到主节点的心跳信号后,则立即接管主节点的服务资源
warntime 10
#指定心跳延迟的时间为十秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务
initdead 120
#在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
    
udpport 694
#设置广播通信使用的端口,694为默认使用的端口号。
baud    19200
#设置串行通信的波特率
        
bcast   eth0        # Linux  指明心跳使用以太网广播方式,并且是在eth0接口上进行广播。
#mcast eth0 225.0.0.1 694 1 0
#采用网卡eth0的Udp多播来组织心跳,一般在备用节点不止一台时使用。Bcast、ucast和mcast分别代表广播、单播和多播,是组织心跳的三种方式,任选其一即可。
#ucast eth0 192.168.1.2
#采用网卡eth0的udp单播来组织心跳,后面跟的IP地址应为双机对方的IP地址
auto_failback on
#用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点
#stonith baytech /etc/ha.d/conf/stonith.baytech
# stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性。
#watchdog /dev/watchdog
#该选项是可选配置,是通过Heartbeat来监控系统的运行状态。使用该特性,需要在内核中载入"softdog"内核模块,用来生成实际的设备文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输入"insmod softdog"加载该模块。然后输入"grep misc /proc/devices"(应为10),输入"cat /proc/misc |grep watchdog"(应为130)。最后,生成设备文件:"mknod /dev/watchdog c 10 130" 。即可使用此功能
node node1  #主节点主机名,可以通过命令“uanme –n”查看。
node node2  #备用节点主机名
ping 192.168.12.237
#选择ping的节点,ping 节点选择的越好,HA集群就越强壮,可以选择固定的路由器作为ping节点,但是最好不要选择集群中的成员作为ping节点,ping节点仅仅用来测试网络连接
ping_group group1 192.168.12.120 192.168.12.237
#类似于ping  ping一组ip地址
apiauth pingd  gid=haclient uid=hacluster
respawn hacluster /usr/local/ha/lib/heartbeat/pingd -m 100 -d 5s
#该选项是可选配置,列出与heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成的插件,这些进程遇到故障可以自动重新启动。最常用的进程是pingd,此进程用于检测和监控网卡状态,需要配合ping语句指定的ping node来检测网络的连通性。其中hacluster表示启动pingd进程的身份。
#下面的配置是关键,也就是激活crm管理,开始使用v2 style格式
crm respawn
#注意,还可以使用crm yes的写法,但这样写的话,如果后面的cib.xml配置有问题
#会导致heartbeat直接重启该服务器,所以,测试时建议使用respawn的写法
#下面是对传输的数据进行压缩,是可选项
compression     bz2
compression_threshold 2
注意,v2 style不支持ipfail功能,须使用pingd代替
资源文件(/etc/ha.d/haresources)
node1   IPaddr::192.168.1.100/24/eth0   httpd
认证文件(/etc/ha.d/authkeys)
auth 1
1 crc
------------------------------------------------------------------------------------------------------

0 0