Heartbeat,LVS ,Keepalived,Ldirectord功能及配置
2017-07-27 00:46
465 查看
一.Heratbeat:
Heartbeat是High Availability项目中的一个组件,目前也是开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,比如心跳检测和资源接管、监测集群中的服务系统,在集群中的节点间转移共享ip地址的所有者等。他的缺点就是配置起来比较麻烦,而且如果双机之间的心跳线出现了问题,会很容易形成脑裂。
下载heartbeat安装包:
heartbeat-3.0.4-2.el6.x86_64.rpm
heartbeat-libs-3.0.4-2.el6.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm
配置yum源:
yum install heartbeat-* -y ##在server4和server5上安装heartbeat
rpm -q heartbeat -d ##查询一个已经安装软件的文档安放位置
Server4(设置为主服务器,ip为172.25.16.4):
cd /usr/share/doc/heartbeat-3.0.4/
cp ha.cf authkeys haresources /etc/ha.d/ ##拷贝主配置文件
cd /etc/ha.d/
vim ha.cf ##编辑主配置文件
vim authkeys
chmod 600 authkeys
vim haresources
scp/etc/yum.repos.d/rhel-source.repo root@172.25.254.5:/etc/yum.repos.d/rhel-source.repo
scp ha.cf authkeys haresources server5:/etc/ha.d/
/etc/init.d/heartbeat start
Server5:(处于热备状态的服务器,ip为172.25.254.5)
chmod 600 authkeys
/etc/init.d/heartbeat start
测试;
如果在4(主节点)执行ifdown eth0,此时处于热备状态的5就会接替4上的工作,实现高可用
测试:
如果此时主节点4的服务器恢复正常,那么5将重新把工作交还给4
测试:
二.LVS:
Lvs是一个虚拟的集群管理系统,采用ip负载均衡技术和基于内容请求分发技术
Server4(调度器):
Server2和Server3(real server);
三.Ldirectord健康检查
Ldirectord进程通过向Real server的RIP发送资源访问请求,并通过返回的响应信息来确定real server的运行状态,在Director上,每一个vip都需要一个单独的Ldirectord进程。如果real server端没有正常响应请求,那么Ldirectord进程将通过ipvsadm命令将此real Server从IPVS表中移除,一旦real server重新上线,Ldirectord将会把他重新添加到IPVS表中
下载:ldirectord-3.9.5-3.1.x86_64.rpm
安装:um install ldirectord-3.9.5-3.1.x86_64.rpm -y
在server4安装健康检查服务,当lvs实现负载均衡时,如果一个real server坏掉,将康检查会将工作都交给正常运行的real server,使客户端不会得到错误的数据
/etc/init.d/ldirectord start ##开启健康服务
测试:
四.Keepalived:
Keepalived工作原理是VRRP虚拟路由冗余协议
下载:keepalived-1.2.20.tar.gz
解压安装:
打开两台虚拟机server4:(172.25.16.4)和server5:(172.25.16.5)
server4作为主服务器,server5作为备用
server4:
server5:
scp /usr/local/keepalived server5:/etc/keepalived
在server5中作和server4一样的操作
/etc/init.d/keepalived ##开启服务
Ipvstables -L
关闭主服务器的keepalived服务,查看server5是否接管了服务
Heartbeat是High Availability项目中的一个组件,目前也是开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,比如心跳检测和资源接管、监测集群中的服务系统,在集群中的节点间转移共享ip地址的所有者等。他的缺点就是配置起来比较麻烦,而且如果双机之间的心跳线出现了问题,会很容易形成脑裂。
下载heartbeat安装包:
heartbeat-3.0.4-2.el6.x86_64.rpm
heartbeat-libs-3.0.4-2.el6.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm
配置yum源:
vim /etc/yum.repos.d/rhel-source.repo [rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.254.61/rhel6.5 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [HighAvailability] name=HighAvailability baseurl=http://172.25.254.61/rhel6.5/HighAvailability gpgcheck=0 [LoadBalancer] name=LoadBalancer baseurl=http://172.25.254.61/rhel6.5/LoadBalancer gpgcheck=0 [ResilientStorage] name=ResilientStorage baseurl=http://172.25.254.61/rhel6.5/ResilientStorage gpgcheck=0 [ScalableFileSystem] name=ScalableFileSystem baseurl=http://172.25.254.61/rhel6.5/ScalableFileSystem gpgcheck=0
yum install heartbeat-* -y ##在server4和server5上安装heartbeat
rpm -q heartbeat -d ##查询一个已经安装软件的文档安放位置
Server4(设置为主服务器,ip为172.25.16.4):
cd /usr/share/doc/heartbeat-3.0.4/
cp ha.cf authkeys haresources /etc/ha.d/ ##拷贝主配置文件
cd /etc/ha.d/
vim ha.cf ##编辑主配置文件
keep 2:心跳的时间间隔,默认时间单位为秒 deadtime 30:超出该时间间隔未收到对方节点的心跳,则认为对方已死亡 warntime 10:超出该时间间隔未收到对方节点的心跳,则发出警告并记录在日志中 initdead 60:系统启动或重启之后需要经过一段时间网络才能正常工作,该情况用于解决这种情况产生的时间间隔,取值至少为deadtime的两倍 uppport 694:设置广播通信使用的端口 auto_failback on:两台节点有主次之分,当主节点出现故障时,备用的会顶替,如果为on时,主节点恢复正常,备用节点会将工作交还回去 vim authkeys
vim authkeys
chmod 600 authkeys
vim haresources
scp/etc/yum.repos.d/rhel-source.repo root@172.25.254.5:/etc/yum.repos.d/rhel-source.repo
scp ha.cf authkeys haresources server5:/etc/ha.d/
/etc/init.d/heartbeat start
Server5:(处于热备状态的服务器,ip为172.25.254.5)
chmod 600 authkeys
/etc/init.d/heartbeat start
测试;
如果在4(主节点)执行ifdown eth0,此时处于热备状态的5就会接替4上的工作,实现高可用
测试:
如果此时主节点4的服务器恢复正常,那么5将重新把工作交还给4
测试:
二.LVS:
Lvs是一个虚拟的集群管理系统,采用ip负载均衡技术和基于内容请求分发技术
Server4(调度器):
yum install ipvsadm -y ip addr ipvsadm -L ##显示内核中虚拟服务器列表 Ipvsadm -C ##清除内核虚拟服务器列表中的所有规则 添加VIP的设置: ipvsadm -A -t 172.25.254.116:80 -s rr ##在内核的虚拟服务器列表中添加一条新的虚拟ip记录,也就是增加一台新的虚拟服务器 ip addr add 172.25.254.116/24 dev eth0 ipvsadm -L 添加Real Server的设置; ipvsadm -a -t 172.25.254.116:80 -r 172.25.254.2:80 -g ##在内核虚拟服务器的列表的一条记录里添加一条新的Real server ipvsadm -a -t 172.25.254.116:80 -r 172.25.254.3:80 -g ipvsadm -L /etc/init.d/ipvsadm save ##保存添加的策略 cat /etc/sysconfig/ipvsadm ##查看添加到配置文件的策略 /etc/init.d/httpd start
Server2和Server3(real server);
/etc/init.d/httpd start 下载arptables_jf: yum install arptables_jf ##安装arp防火墙用于屏蔽数据包,拦截ip冲突,因为vip与real server的地址一样,有vip到real server中间没有经过路由,所以进入real server是就需要把虚拟ipdrop调,拦截调real-server的虚拟ip arptables -A IN -d 172.25.254.116 -j DROP ##防止客户端去访问real server的虚拟ip,只要输入进来就Drop掉 arptables -A OUT -s 172.25.24.116 -j mangle --mangle-ip-s 172.25.254.2 arptables -A OUT -s 172.25.254.116 -j mangle --mangle-ip-s 172.25.254.3 ##由于tcp三次握手的原因,所以出去的时候仍要以vip地址出去才会实现三次握手,但是真正将数据传输给客户端的是 realserver /etc/init.d/arptables_jf save ##保存添加的arp策略 在测试端: arp -an |grep 116 ##查询之前访问的缓存,如果是Real server上的则要把他清除掉 arp -d 172.25.16.116 ##删除之前访问的缓存
三.Ldirectord健康检查
Ldirectord进程通过向Real server的RIP发送资源访问请求,并通过返回的响应信息来确定real server的运行状态,在Director上,每一个vip都需要一个单独的Ldirectord进程。如果real server端没有正常响应请求,那么Ldirectord进程将通过ipvsadm命令将此real Server从IPVS表中移除,一旦real server重新上线,Ldirectord将会把他重新添加到IPVS表中
下载:ldirectord-3.9.5-3.1.x86_64.rpm
安装:um install ldirectord-3.9.5-3.1.x86_64.rpm -y
在server4安装健康检查服务,当lvs实现负载均衡时,如果一个real server坏掉,将康检查会将工作都交给正常运行的real server,使客户端不会得到错误的数据
cd /usr/share/doc/ldirectord-3.9.5 cp ldirectord.cf /etc/ha.d/ ##拷贝主配置文件到/etc/ha.d/下生效 cd /etc/ha.d/ vim ldirectord.cf
/etc/init.d/ldirectord start ##开启健康服务
测试:
四.Keepalived:
Keepalived工作原理是VRRP虚拟路由冗余协议
下载:keepalived-1.2.20.tar.gz
解压安装:
打开两台虚拟机server4:(172.25.16.4)和server5:(172.25.16.5)
server4作为主服务器,server5作为备用
server4: tar zxf /mnt/keepalived-1.2.20.tar.gz cd keepalived-1.2.20/ ./configure --prefix=/usr/local/keepalived ##注意解决依赖性的问题 make && make install ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ ln -s /usr/local/keepalived/etc/keepalived /etc/ ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin chmod +x /etc/init.d/keepalived ##增加执行权限 vim /etc/keepalived/keepalived.conf
server4:
server5:
scp /usr/local/keepalived server5:/etc/keepalived
在server5中作和server4一样的操作
/etc/init.d/keepalived ##开启服务
Ipvstables -L
关闭主服务器的keepalived服务,查看server5是否接管了服务
相关文章推荐
- 在redhat5.4上配置lvs+heartbeat+ldirectord 集群
- heartbeat+ldirectord+lvs安装及配置
- Heartbeat+DRDB+LVS+Keepalived+Ldirectord
- LVS-DR模式的配置及Heartbeat+Ldirectord+DR高可用负载均衡集群的搭建
- 基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置(更新nginx代理功能) 推荐
- 运维笔记30 (lvs负载均衡的(nat,tun,dr三种模式,ldirectord健康检测,ldirectord结合heartbeat)keepalived+lvs介绍)
- centos6中三台物理机配置nginx+keepalived+lvs
- 基于heartbeat v2与heartbeat-ldirectord构建高可用LVS
- LVS+Keepalived之DR模式配置
- Heartbeat+LVS(VS/DR)+Ldirectord+ipvsadm
- Rhel6-keepalived+lvs配置文档
- HA + LVS + ipvsadm + heartbeat-ldirectord
- LVS+Heartbeat+Ldirectord
- Keepalived(rpm包)+LVS高可用集群配置
- lvs(ipvsadm)-keepalived配置
- LVS+Heartbeat+Ldirectord集群的部署安装
- LVS+keepalived配置
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
- lvs keepalived 安装配置详解
- 配置LVS + Keepalived高可用负载均衡集群之图文教程