LVS 高可用集群 DR 模式基本配置(apache服务)
来源:互联网 发布:为什么离婚 知乎 编辑:程序博客网 时间:2024/05/29 08:58
实验环境:
操作系统: redhat EL 6.5
机器:
调度器:
server1: 172.25.12.1 ipvsadm
RS 真正主机:
server2: 172.25.12.2 arptables_jf
server3: 172.25.12.3 arptables_jf
实验原理:
客户端去访问vip(虚拟ip),整个集群所有的机器上都有这个vip,但是客户端只能访问到调度机上的vip(RS上做了arp策略)
通过调度机上的ipvsadm策略将client发来的数据包的目标mac地址一改(由调度器改为RS),扔给后台的RS
RS处理完数据后,再将数据包发送给client(ip是vip,mac是自己的mac)
调度机上的ipvsadm策略是osi模型第二层数据链路层的策略,更改了mac地址,不会对第三层网络层的ip做更改,当数据包被扔给RS之后,在OSI模型从下往上解包,到第三层ip层时,发现目地ip是vip,如果RS上不添加VIP的话,RS就会将这个包扔掉,因为与自己的ip不匹配
RS上做的arptables策略是为了实现 none VIP , 其实并不冲突,这都是在第二层与第三层之间的策略,RS上做两条策略:
第一条:当网络里有人发送arp请求询问VIP对应的mac地址时,RS不予回应
第二条:从本机上出去的所有arp回应,或者是arp包,注意,只是arp包,因为是arptables策略,如果是VIP发出的(RS上两个ip,一个VIP,一个RIP),都将它转换为RIP
这块要注意的是在网络里,数据包都是先以mac地址(第二层)为目标进行传输的,到达目的地后,一层一层往上解包,进行匹配,第三层匹配ip,第四层匹配端口,等等….只要有一层不匹配,这个包都会被扔掉,或者拒绝
配置:
调度机:
server1:
先修改yum源:
baseurl改成自己的镜像挂载点,这都是镜像里的文件,默认不读,要主动写进去
[root@server1 ~]# cat /etc/yum.repos.d/rhel-source.repo [Server]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.12.250/rhel6.5/Serverenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[HighAvailability]name=HighAvailabilitybaseurl=http://172.25.12.250/rhel6.5/HighAvailabilitygpgcheck=0[LoadBalancer]name=LoadBalancerbaseurl=http://172.25.12.250/rhel6.5/LoadBalancergpgcheck=0[ResilientStorage]name=ResilientStoragebaseurl=http://172.25.12.250/rhel6.5/ResilientStoragegpgcheck=0[ScalableFileSystem]name=ScalableFileSystembaseurl=http://172.25.12.250/rhel6.5/ScalableFileSystemgpgcheck=0
配置:
#添加vipip addr add 172.25.12.200/24 dev eth0#安装ipvsadmyum install -y ipvsadm.x86_64#设置ipvsadm策略#-A是增加一台新的虚拟服务器(调度器) -s 是选择算法 rr是轮询ipvsadm -A -t 172.25.12.200:80 -s rr#-a是在虚拟服务器(调度器)后面加一台真正主机 -r 是真正主机 -g是工作方式为直接路由ipvsadm -a -t 172.25.12.200:80 -r 172.25.12.2:80 -gipvsadm -a -t 172.25.12.200:80 -r 172.25.12.3:80 -g#保存ipvsadm策略/etc/init.d/ipvsadm save#查看ipvsadm策略ipvsadm -ln
RS(真正主机)配置:
server2:
#添加vip,不然数据包不能到达osi模型高层ip addr add 172.25.12.200/24 dev eth0#安装arptablesyum install arptables_jf -y#安装apacheyum install -y httpdcd /var/www/html/echo server1 > index.html/etc/init.d/httpd start#配置arp策略#拒绝网络里对于vip的arp请求arptables -A IN -d 172.25.12.200 -j DROP#将本机上从vip出去的arp数据包改为从RIP出去arptables -A OUT -s 172.25.12.200 -j mangle --mangle-ip-s 172.25.12.2
server3:
ip addr add 172.25.12.200/24 dev eth0yum install arptables_jfcd /var/www/html/vim index.htmlarptables -A IN -d 172.25.12.200 -j DROParptables -A OUT -s 172.25.12.200 -j mangle --mangle-ip-s 172.25.12.3/etc/init.d/httpd start
测试:
[root@groot ~]# curl 172.25.12.200server2[root@groot ~]# curl 172.25.12.200server3[root@groot ~]# curl 172.25.12.200server2[root@groot ~]# curl 172.25.12.200server3
观察arp包返回的mac地址:
与server1的mac地址一致
但是 lvs没有健康检测,
keepalived可以解决这个问题,下一篇博客会写这块
- LVS 高可用集群 DR 模式基本配置(apache服务)
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- CentOS6.5高可用集群LVS+Keepalived(DR模式)
- Keepalived + LVS(DR) 高可用集群
- 高可用负载均衡集群Keepalived+lvs-DR模式的搭建
- lvs负载均衡DR模式 keepalived高可用web集群实验
- CentOS 6.5 LVS+KeepAlived(DR模式)搭建高可用负载均衡集群
- 配置基于DR模式Lvs集群
- 配置基于DR模式Lvs集群
- Piranha LVS DR 模式 HA 集群配置
- Keepalived + LVS(DR) 高可用负载均衡集群
- LVS-DR高可用集群【自动化健康检测脚本】
- LVS+Keepalived DR模式实现web负载均衡高可用
- 配置 LVS DR模式
- LVS DR模式配置
- keepalived + lvs(DR) 高可用负载均衡
- MonkeyEye电影售票系统--类图和包图
- Redis Cluster 搭建高可用Redis服务器集群
- 设计模式(单例模式)-SingletonPattern
- 51nod 1125 机器交换最小代价(贪心)
- Servlet 下载文件简单程序
- LVS 高可用集群 DR 模式基本配置(apache服务)
- 编程系统刷题(五)
- Libevent源码分析-----event优先级设置
- Sass、LESS 和 Stylus区别总结
- CSUOJ 1942 Sort String 线段树 操作变换
- 【求助】在windows下使用gcc+gtest+mockcpp,mock不起作用
- Doing Homework (状压dp)
- DAO设计模式
- Zoj 3261 Connections in Galaxy War【逆序并查集】