Heartbeat安装配置
架构图:
一 环境准备
1.网络配置
Primary Director(桥接网卡)
IPADDR=192.168.10.201
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=114.114.114.114
Standby Director(桥接网卡)
IPADDR=192.168.10.202
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=114.114.114.114
Real Server One(桥接网卡)
IPADDR=192.168.10.203
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=114.114.114.114
Real Server Two(桥接网卡)
IPADDR=192.168.10.204
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=114.114.114.114
二 Director配置(Primary 、Standby)
1.修改主机名称Primary
#设置
hostname hbeone.com
vi /etc/sysconfig/network
NETWORK=yes
HOSTNAME=hbeone.com
#查看
hostname/uname -n
2.修改主机名称Standby
hostname hbetwo.com
vi /etc/sysconfig/network
NETWORK=yes
HOSTNAME=hbetwo.com
hostname/uname -n
3.免密登陆Primary
#-t:类型
#-f:输出文件
#-P:指定密码
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#复制到hbetwo
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.10.202
#验证是否成功
ssh 192.168.43.202 'ip addr'
4.免密登陆Standby
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.10.201
ssh 192.168.43.202 'ip addr'
5.配置主机名称解析
vi /etc/hosts #IP 主机 别名 192.168.43.201 hbeone.com nodeone 192.168.43.202 hbetwo.com nodetwo #测试 ping hbetwotwo.com
三 安装Heartbeat
下载安装包Heartbeat、Cluster Glue 、Resource Agents
下载地址: http://linux-ha.org/wiki/Downloads
创建目录并将下载文件上传至此目录
mkdir /usr/local/inspackage
1.安装基础依赖
yum install -y bzip2 autoconf automake libtool glib2-devel libxml2-devel bzip2-devel libtool-ltdl-devel asciidoc libuuid-devel
2.安装Cluster Glue
cd /usr/local/inspackage
tar xf 0a7add1d9996.tar.bz2 (下载的安装包的名字)
cd Reusable-Cluster-Components-glue–0a7add1d9996/
groupadd haclient # useradd -g haclient hacluster
./autogen.sh
./configure --prefix=/usr/local/heartbeat/
make && make install
3.安装Resource Agents
cd ../ tar xf resource-agents-3.9.6.tar.gz cd resource-agents-3.9.6/ ./autogen.sh export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib" ./configure --prefix=/usr/local/heartbeat/ (这一步的时候报错:configure: error: C compiler cannot create executables。解决:export CFLAGS= )(究竟能不能解决,我也不知道) vim /etc/ld.so.conf.d/heartbeat.conf /usr/local/heartbeat/lib ldconfig
make && make install
4.安装HeartBeat
cd ../
tar xf 958e11be8686.tar.bz2
./bootstrap # export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
./configure --prefix=/usr/local/heartbeat/
vim /usr/local/heartbeat/include/heartbeat/glue_config.h
#文档末尾注释这行
/*define HA_HBCONF_DIR “/usr/local/heartbeat/etc/ha.d/”*/
make && make install
5.Heartbeat的配置
5.1拷贝配置文件(System configuration = “/usr/local/heartbeat/etc” 默认的配置需要置于 /usr/local/heartbeat/etc目录下 默认该目录不存在配置文件)
# cp /usr/local/heartbeat/share/doc/heartbeat/ha.cf /usr/local/heartbeat/etc/ha.d # cp /usr/local/heartbeat/share/doc/heartbeat/authkeys /usr/local/heartbeat/etc/ha.d # cp /usr/local/heartbeat/share/doc/heartbeat/haresources /usr/local/heartbeat/etc/ha.d
5.2配置密钥文件authkeys
cd /usr/local/heartbeat/etc/ha.d/
#读取一段随机数并做MD5编码 dd if=/dev/random count=1 bs=512 | md5sum
vi authkeys
#文件末尾添加如下配置 auth 1 1 md5 7751aed08c222280c1123e802aaa6298
5.3heartbeat服务配置文件ha.cf
vi ha.cf
#广播 bcast enp0s3(网卡名称) #组播 #mcast #单播-两个节点,多节点的话比较麻烦,除了自己所有的节点都要配置在这里,对方地址。 #ucast node hbeone.com node hbetwo.com uname -n #网关 ping 192.168.10.1
ping和bcast需要插件支持 需要将lib64下面的插件软连接到lib目录
# ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/ # ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/
5.4 资源管理配置文件haresources
在配置haresource之前,首先要安装httpd服务,并且进行手动测试
#安装服务 yum -y install httpd #手动启动进行测试 echo "<h1>hbeone.com</h1>" >> /var/www/html/index.html #启动httpd服务 service httpd start #页面访问 #停止httpd服务 service httpd stop #禁止开机启动 chkconfig httpd off
httpd服务安装时候需要注意的有三点:
① httpd命令需要放在/etc/init.d/下或者/etc/ha.d/resource.d下,因为haresources配置文件中配置的代理文件服务器默认读取文件的目录就是这两个目录,在CentOS7系统中,httpd脚本在./usr/sbin/apachectl目录下,所以需要将其移到到/etc/init.d/或者/etc/ha.d/resource.d目录下。
cp ./usr/sbin/apachectl /etc/init.d/httpd
② httpd命令需要具备可执行权限(x)
③ httpd必须支持/etc/init.d/httpd启动方式
配置haresources
vi haresource hbeone.com IPaddr::192.168.10.200/16/enp0s3 httpd
6.启动Heartbeat
#在hbeone节点上启动heartbeat服务
service heartbeat start
#启动hbetwo节点上的heartbeat服务 ssh hbetwo 'service heartbeat start'
#查看日志 tail -f /var/log/messages
7.测试Heartbeat
启动完成之后在hbeone主机上当ifconfig看见enp0s3:0配置时,heartbeat安装成功,
heartbeat提供了供测试的脚本,Heartbeat 3.0.6版本的测试脚本是/usr/local/heartbeat/share/heartbeat目录下的hb_standby文件。
# 启动测试脚本,实现资源转移
./hb_standby
此时再查看hbetwo网络配置情况,enp0s3:0配置出现,实现了资源转移。