LVS+keepalived DR架构简单实践笔记
2011-01-13 14:33
246 查看
LVS + KEEPALIVED 实现DR架构的负载均衡
来自:dogdogcom.blog.51cto.com
LVS DR架构拓扑图
![](http://img1.51cto.com/attachment/201101/142743992.jpg)
1. 在firewall 上
1)#Vi /etc/sysctl.conf --打开IP_FORWARD
#sysctl -p
2)iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.1.100
意思是将80端口的请求全丢给10.1.1.100去处理
2. 在DR 上
1) 网关设成:10.1.1.254
2)安装ipvsadm
yum install ipvsadm
3)#Vi /etc/sysctl.conf --打开IP_FORWARD
4)安装配置keepalived
#tar xvf keepalived-1.1.20.tar.gz -C /usr/src/
[align=left]#cd /usr/src/keepalived[/align]
[align=left]./configure && make && make install[/align]
[align=left]#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/[/align]
[align=left]#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/[/align]
[align=left]#mkdir /etc/keepalived[/align]
[align=left]#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/[/align]
[align=left]#cp /usr/local/sbin/keepalived /usr/sbin/[/align]
#service keepalived start|stop
#vim /etc/keepalived/keepalived.conf
#这个直接修改成这样就可以了,原来的先备份下(配置文件我按照高可用来配置的,单个LVS也可以用。)
vrrp_instance VI_1 {
[align=left] state MASTER ---主DR[/align]
[align=left] interface eth0 ---通过eth0 来测试心跳[/align]
[align=left] virtual_router_id 51 --ID值,---从LVS需要相同ID[/align]
[align=left] priority 88 --从服务器ID值要比88小[/align]
[align=left] advert_int 1[/align]
[align=left] authentication {[/align]
[align=left] auth_type PASS ---验证方式[/align]
[align=left] auth_pass 123[/align]
[align=left]} [/align]
[align=left]#如果你不用2台DR做高可用调度,上面可以省略。[/align]
[align=left] virtual_ipaddress {[/align]
[align=left] 10.1.1.100 ----定义VIP为哪个IP[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left]virtual_server 10.1.1.100 80 { -----调度VIP的80端口设置,如果mysql就3306[/align]
[align=left] delay_loop 6[/align]
[align=left] lb_algo rr ---轮叫[/align]
[align=left] lb_kind DR ----DR架构 记得大写[/align]
[align=left] nat_mask 255.255.255.0[/align]
[align=left] protocol TCP[/align]
[align=left] real_server 10.1.1.2 80 { -----两个WEB服务器的设置[/align]
[align=left] weight 1 ----权重[/align]
[align=left] TCP_CHECK { ---这个设置几秒钟测试一下这服务有没有挂.[/align]
[align=left] connect_timeout 3[/align]
[align=left] nb_get_retry 3[/align]
[align=left] delay_before_retry 3[/align]
[align=left] connect_port 80[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] real_server 10.1.1.3 80 {[/align]
[align=left] weight 1[/align]
[align=left] TCP_CHECK { [/align]
[align=left] connect_timeout 3[/align]
[align=left] nb_get_retry 3[/align]
[align=left] delay_before_retry 3[/align]
[align=left] connect_port 80[/align]
[align=left] }[/align]
}
重启service keepalived restart
运行ipvsadm 查看是否成功
[align=left][root@lvs1 ~]# ipvsadm[/align]
[align=left]IP Virtual Server version 1.2.1 (size=4096)[/align]
[align=left]Prot LocalAddress:Port Scheduler Flags[/align]
[align=left] -> RemoteAddress:Port Forward Weight ActiveConn InActConn[/align]
[align=left]TCP 10.1.1.100:http rr[/align]
[align=left] -> nginx1.dog.com:http Route 1 0 0[/align]
-> nginx2.dog.com:http Route 1 0 0
-----------------------------------------------------------------------
[align=left] [/align]
下面设置两台WEB服务器,都一样的设置
1,vim /etc/sysctl.conf
打开转发
net.ipv4.ip_forward = 1
在最后面添加下面四行,作用是本地ARP不作回应。
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
----------------------------------------------
#sysctl -p
2.#Ifconfig lo:1 10.1.1.100/32 --增加一块本地网卡记住,要开机就运行这命令/etc/rc.local
3.网关设成:10.1.1.254
完成-------------
增加高可用LVS2
配置基本和LVS1一样 只需修改下配置文件
vim /etc/keepalived/keepalived.conf
state BACKUP
priority 9 ---比主LVS小哦
其他一样
测试,输入http://192.168.68.71 测试需要关闭浏览器在重新登入来测试,不然又缓存。总会只连到其中一台WEB服务器。
关于SESSION同步问题,可以参考我博客的memcached共享SESSION,或者利用NFS共享SESSION。
本文出自 “有那么一棵树” 博客,请务必保留此出处http://dogdogcom.blog.51cto.com/2402458/477794
来自:dogdogcom.blog.51cto.com
LVS DR架构拓扑图
![](http://img1.51cto.com/attachment/201101/142743992.jpg)
1. 在firewall 上
1)#Vi /etc/sysctl.conf --打开IP_FORWARD
#sysctl -p
2)iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.1.100
意思是将80端口的请求全丢给10.1.1.100去处理
2. 在DR 上
1) 网关设成:10.1.1.254
2)安装ipvsadm
yum install ipvsadm
3)#Vi /etc/sysctl.conf --打开IP_FORWARD
4)安装配置keepalived
#tar xvf keepalived-1.1.20.tar.gz -C /usr/src/
[align=left]#cd /usr/src/keepalived[/align]
[align=left]./configure && make && make install[/align]
[align=left]#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/[/align]
[align=left]#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/[/align]
[align=left]#mkdir /etc/keepalived[/align]
[align=left]#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/[/align]
[align=left]#cp /usr/local/sbin/keepalived /usr/sbin/[/align]
#service keepalived start|stop
#vim /etc/keepalived/keepalived.conf
#这个直接修改成这样就可以了,原来的先备份下(配置文件我按照高可用来配置的,单个LVS也可以用。)
vrrp_instance VI_1 {
[align=left] state MASTER ---主DR[/align]
[align=left] interface eth0 ---通过eth0 来测试心跳[/align]
[align=left] virtual_router_id 51 --ID值,---从LVS需要相同ID[/align]
[align=left] priority 88 --从服务器ID值要比88小[/align]
[align=left] advert_int 1[/align]
[align=left] authentication {[/align]
[align=left] auth_type PASS ---验证方式[/align]
[align=left] auth_pass 123[/align]
[align=left]} [/align]
[align=left]#如果你不用2台DR做高可用调度,上面可以省略。[/align]
[align=left] virtual_ipaddress {[/align]
[align=left] 10.1.1.100 ----定义VIP为哪个IP[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left]virtual_server 10.1.1.100 80 { -----调度VIP的80端口设置,如果mysql就3306[/align]
[align=left] delay_loop 6[/align]
[align=left] lb_algo rr ---轮叫[/align]
[align=left] lb_kind DR ----DR架构 记得大写[/align]
[align=left] nat_mask 255.255.255.0[/align]
[align=left] protocol TCP[/align]
[align=left] real_server 10.1.1.2 80 { -----两个WEB服务器的设置[/align]
[align=left] weight 1 ----权重[/align]
[align=left] TCP_CHECK { ---这个设置几秒钟测试一下这服务有没有挂.[/align]
[align=left] connect_timeout 3[/align]
[align=left] nb_get_retry 3[/align]
[align=left] delay_before_retry 3[/align]
[align=left] connect_port 80[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] real_server 10.1.1.3 80 {[/align]
[align=left] weight 1[/align]
[align=left] TCP_CHECK { [/align]
[align=left] connect_timeout 3[/align]
[align=left] nb_get_retry 3[/align]
[align=left] delay_before_retry 3[/align]
[align=left] connect_port 80[/align]
[align=left] }[/align]
}
重启service keepalived restart
运行ipvsadm 查看是否成功
[align=left][root@lvs1 ~]# ipvsadm[/align]
[align=left]IP Virtual Server version 1.2.1 (size=4096)[/align]
[align=left]Prot LocalAddress:Port Scheduler Flags[/align]
[align=left] -> RemoteAddress:Port Forward Weight ActiveConn InActConn[/align]
[align=left]TCP 10.1.1.100:http rr[/align]
[align=left] -> nginx1.dog.com:http Route 1 0 0[/align]
-> nginx2.dog.com:http Route 1 0 0
-----------------------------------------------------------------------
[align=left] [/align]
下面设置两台WEB服务器,都一样的设置
1,vim /etc/sysctl.conf
打开转发
net.ipv4.ip_forward = 1
在最后面添加下面四行,作用是本地ARP不作回应。
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
----------------------------------------------
#sysctl -p
2.#Ifconfig lo:1 10.1.1.100/32 --增加一块本地网卡记住,要开机就运行这命令/etc/rc.local
3.网关设成:10.1.1.254
完成-------------
增加高可用LVS2
配置基本和LVS1一样 只需修改下配置文件
vim /etc/keepalived/keepalived.conf
state BACKUP
priority 9 ---比主LVS小哦
其他一样
测试,输入http://192.168.68.71 测试需要关闭浏览器在重新登入来测试,不然又缓存。总会只连到其中一台WEB服务器。
关于SESSION同步问题,可以参考我博客的memcached共享SESSION,或者利用NFS共享SESSION。
本文出自 “有那么一棵树” 博客,请务必保留此出处http://dogdogcom.blog.51cto.com/2402458/477794
相关文章推荐
- Linux集群架构(LVS DR模式搭建、keepalived + LVS)
- CDN架构实践:LVS 和keepalived 配置实例
- lvs + keepalived + httpd DR模式web层高可用方案架构 推荐
- 基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置(更新nginx代理功能) 推荐
- lvs架构的DR模式+keepalived高可用 推荐
- Keepalived学习笔记--LVS+Keepalived+Apache负载均衡架构
- Keepalived+LVS_DR双主架构
- 基于LVS-DR模型实现keepalived的主从架构
- 基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置
- 【Linux集群架构】LVS DR模式搭建和keepalived + LVS
- Keepalived学习笔记--LVS+Keepalived+Apache负载均衡架构
- 运维笔记30 (lvs负载均衡的(nat,tun,dr三种模式,ldirectord健康检测,ldirectord结合heartbeat)keepalived+lvs介绍)
- KeepAlived+LVS集群架构方案学习笔记
- Keepalived+LVS/DR实验笔记
- lvs + keepalived + httpd DR模式web层高可用方案架构
- lvs架构的DR模式+keepalived
- Linux架构之LVS-DR和keepalived配置
- Lvs+keepalived架构简单案列
- 分别实现基于LVS-DR模式和LVS-NAT模式的keepalived的主从架构
- LVS_DR+Keepalived高可用Web群集