Linux集群系列之十——高可用集群之heartbeat安装配置
rhel 5.8 32bitheartbeat v2
ha web
node1 node2
节点名称, /etc/hosts
节点名称必须跟uname -n命令的直行结果一致
ssh 互信通信,
时间同步
1先配置两个主机的ip 列如 192.168.1.11 192.168.1.12 VIP192.168.1.8网关
192.168.1.1
配置两个主机的主机名#hostname node1.mylinux.com
#hostname node2.mylinux.com
为了让主机名永久生效编辑 /etc/sysconfig/network
2 配置双击互信(在1.11上配置)
#ssh-keygen -t rsa -f~/.ssh/id_rsa -P ''
#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.12
在1.12上配置一样
#ssh-keygen -t rsa -f~/.ssh/id_rsa -P ''
#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.11
测试 在1.11上 #ssh 192.168.1.12 'ifconfig'
测试 在1.12上 #ssh 1192.168.1.11 'ifconfig'
3 配置主机名称解析分别在1.11和1.12上配置
# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.11node1.mylinux.com node1
192.168.1.12node2.mylinux.com node2
可以通过ping node2 和node1来测试解析是否正常
#scp /etc/hosts node2:/etc
iptables -L -n 确保没有相关的限定或者打开UDP的694端口
4 时间同步(1.12上运行ntp服务)
ntpdata192.168.1.13
或者直接手动同步 ntpdate 192.168.1.13
# which ntpdate
/usr/sbin/ntpdate
crontab -e每隔五分钟同步一次
*/5 * * * * /sbin/ntpdate 192.168.1.13 &> /dev/null
scp /var/spool/cron/root node2:/var/spool/cron/
kz
http://www.linux-ha.org/wiki/Heartbeat
http://clusterlabs.org/
epel:
https://fedoraproject.org/wiki/Special:RecentChanges
heartbeat-2.1.4-11.el5.i386.rpm 核心包
heartbeat-devel-2.1.4-11.el5.i386.rpm开发包
heartbeat-gui-2.1.4-11.el5.i386.rpm图形界面用于管理hearbeat集群
heartbeat-ldirectord-2.1.4-11.el5.i386.rpm为ipvs高可用提供规则自动生成,即后
端realserver健康状态检查的组件
heartbeat-pils-2.1.4-11.el5.i386.rpm 装载库的插件
heartbeat-stonith-2.1.4-11.el5.i386.rpm用于修改报头的接口
安装之前必须先安装这2个包
libnet-1.1.6-7.el5.i386
perl-MailTools-1.77-1.el5.noarch
#yum --nogpgcheck localinstall perl-MailTools-1.77-1.el5.noarch
#yum --nogpgcheck localinstall libnet-1.1.6-7.el5.i386
#yum --nogpgcheck localinstall heartbeat-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-gui-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-pils-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-stonith-2.1.4-11.el5.i386.rpm
#scp perl-MailTools-1.77-1.el5.noarch libnet-1.1.6-7.el5.i386 heartbeat-2.1.4
-11.el5.i386.rpm heartbeat-gui-2.1.4-11.el5.i386.rpm heartbeat-pils-2.1.4-
11.el5.i386.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm node2:/root/
#yum --nogpgcheck localinstall perl-MailTools-1.77-1.el5.noarch
#yum --nogpgcheck localinstall libnet-1.1.6-7.el5.i386
#yum --nogpgcheck localinstall heartbeat-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-gui-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-pils-2.1.4-11.el5.i386.rpm
#yum --nogpgcheck localinstall heartbeat-stonith-2.1.4-11.el5.i386.rpm
/etc/ha.d/resource.d/IPaddr专门用于实现将VIP配置到某个活动节点上,并且监控IP是
否生效
#cd /etc/ha.d
三个配置文件
1.密钥文件,600权限,authkeys
2.heratbeat服务的配置文件 ha.cf
3.资源管理配置文件
haresources
#ls /usr/share/doc/heartbeat-2.1.4
#cp -p /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} ./
#dd if=/dev/random count=1 bs=612 |md5sum 生成随机数
定义主配置文件
#vim authkeys
auth 1
1 md5 【随机数】
#vim ha.cf
#debugfile /var/log/ha-debug 调试日志
logfile /var/log/heartbeat.log 日志文件
#logfacilitylocal0 日志的设施
keepalive 2 两秒发一次心跳信息
deadtime 30 死亡时间,探测多少时间后确定为死亡
warntime 10 警告时长
initdead 120 第一个节点启动以后等待第二个节点启动,的等待时间(至少要2个节点
才能组成集群)
udpport 694 心跳信息传递端口
baud 19200 串行线发送速率是多少
bcast eth0 定义广播
#mcast 组播
#ucast 单播
node 指定当前集群有几个节点,每个节点用一个node去指定
nodenode1.mylinux.com
nodenode2.mylinux.com
ping 192.168.1.1通过网关来检测自己是否正常
#respawn hacluster 服务荡掉多久重启服务
#compression bz2 是否压缩日志
#compression_threshold 2 大于2k压缩
定义资源 /etc/ha.d/resource.d/Filesystem 资源代理
yum install httpd
echo "node1.mylinux.com" >> /var/www/html/index.html
service httpd start
测试
service httpd stop
chkconfig httpd off
yum -y install httpd
echo "node2.mylinux.com" >> /var/www/html/index.html
service httpd start
测试
service httpd stop
chkconfig httpd off
#cd /etc/ha.d
#vim haresources
node1.mylinux.com IPaddr::192.168.1.8/24/eth0 httpd
#scp -pauthkeys haresources ha.cf node2:/etc/ha.d/
#service heratbeat start
#ssh node2 'service heartbeat start'
cd /usr/lib/heartbeat
./hb_standby 把自己转换成备节点进行测试
ifconfig
netstat -tnlp 此时检查80端口是否启用
ifconfig lo:0 down
ifconfig eth0 192.168.1.14/24
echo 0 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
#mkdir /web/htdocs -pv 建立一个文件夹 并且共享出去
vim /etc/exports
/web/htdocs192.168.1.0/255.255.255.0(ro)
vim /web/htdocs/index.html
nfs server
#service nfs start
service portmap restart
#ssh node2 '/etc/init.d/heratbeat stop'
#service hearbeat stop
#setenforce 0
#mount 192.168.1.14:/web/htdocs/mnt
#ls /mnt
#umount /mnt
#vim /etc/ha.d/haresources
node1.mylinux.com IPaddr::192.168.1.8/24/eth0
Filesystem::192.168.1.14:/web/htdocs::/var/www/html::nfs httpd
#scp haresources node2:/etc/ha.d/
#sercice heartbeat start
#ssh node2 'service heartbeat start'
#/usr/lib/heartbeat/hb_standby让主节点成为备节点进行测试
页:
[1]