采用Lvs DR(直接路由)模式搭建集群
2016-03-03 21:46
483 查看
使用3台服务器搭建lvs DR模式集群
b) VIP:192.168.230.100,通过ifconfig eth0:1 192.168.230.100/24设置
设置虚拟ip
c) 查看window命令行窗口192.168.230.10主机的虚拟ip能否ping通
b) 修改报文源ip的设置,需要设置内核参数
在192.168.230.11主机操作:
在192.168.230.12主机操作:
c) 在两台机器(RS)上,设置网卡的别名IP:192.168.230.100
在192.168.230.11主机操作:
在192.168.230.12主机操作:
d) 在两台机器(RS)上,添加一个路由
在192.168.230.11主机操作:
在192.168.230.12主机操作:
在浏览器地址栏访问:http://192.168.230.11/,查看web服务是否正常
在192.168.230.12后台服务器操作:
在浏览器地址栏访问:http://192.168.230.12/,查看web服务是否正常
在192.168.230.10前端调度服务器操作:
在浏览器地址栏访问:http://192.168.230.100/,查看后台服务器是否正常轮循
第一次访问:
第二次访问:
结果:正常轮循
192.168.230.10(前端调度服务器)DIP 192.168.230.11(后台服务器)RIP 192.168.230.12(后台服务器)RIP
采用Lvs DR(直接路由)模式搭建集群
Lvs DR(直接路由)模式引子:
我们在使用nginx配置集群管理的时候,nginx会出现很多请求和响应都经过nginx,服务器集群会出现瓶颈 的情况,需要使用LVS(Linux Virtual Sever)管理集群
Lvs DR(直接路由)模式原理:
客户机发起请求到前端负载调度器/集群服务器,前端负载调度器/集群服务器会收到客户机的ip和vip, 前端负载调度器/集群服务器转发到后端服务器处理请求, 然后直接返回到客户端,不再经过集群服务器。 这是需要每个服务器有一个共同的vip,只有这样后端服务器响应到客户机才会接受。 VIP:虚拟服务器地址 DIP:转发的网络地址 RIP:后端真实主机(后端服务器) CIP:客户端IP地址
1、选择192.168.230.10作为DR(前端负载调度器)
2、在DR(前端负载调度器)中设置两个ip地址:
a) DIP:192.168.230.10,静态IPb) VIP:192.168.230.100,通过ifconfig eth0:1 192.168.230.100/24设置
设置虚拟ip
[root@node1 /]# ifconfig eth0:1 192.168.230.100/24
c) 查看window命令行窗口192.168.230.10主机的虚拟ip能否ping通
ping 192.168.230.100(VIP)
arp -a
3、选择192.168.230.11主机、192.168.230.12主机作为RS(RIP)
a) 两台RIP要设置静态ip192.168.230.11主机 静态ip:192.168.230.11 192.168.230.12主机 静态ip:192.168.230.12
b) 修改报文源ip的设置,需要设置内核参数
在192.168.230.11主机操作:
[root@node2 ~]# cd / [root@node2 /]# echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore [root@node2 /]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore [root@node2 /]# echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce [root@node2 /]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
在192.168.230.12主机操作:
[root@node3 ~]# cd / [root@node3 /]# echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore [root@node3 /]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore [root@node3 /]# echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce [root@node3 /]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
c) 在两台机器(RS)上,设置网卡的别名IP:192.168.230.100
在192.168.230.11主机操作:
[root@node2 ~]# ifconfig lo:1 192.168.230.100 netmask 255.255.255.255 broadcast 192.168.230.100
在192.168.230.12主机操作:
[root@node3 ~]# ifconfig lo:1 192.168.230.100 netmask 255.255.255.255 broadcast 192.168.230.100
d) 在两台机器(RS)上,添加一个路由
在192.168.230.11主机操作:
[root@node2 ~]# route add -host 192.168.230.100 dev lo:1
在192.168.230.12主机操作:
[root@node3 ~]# route add -host 192.168.230.100 dev lo:1
4、 DR(前端负载调度器)上需要加一个路由设置:route add -host 192.168.230.100 dev eth0:1
在192.168.230.10主机DR(前端负载调度器)操作:[root@node1 /]# route add -host 192.168.230.100 dev eth0:1
5、在RS 检查web服务是否正常
在192.168.230.11后台服务器操作:[root@node2 ~]# yum -y install httpd [root@node2 bin]# cd /var/www/html [root@node2 html]# vi index.html <html> <h1>matrix2!</h1> </html> [root@node2 ~]# service httpd start
在浏览器地址栏访问:http://192.168.230.11/,查看web服务是否正常
在192.168.230.12后台服务器操作:
[root@node3 ~]# yum -y install httpd [root@node3 bin]# cd /var/www/html [root@node3 html]# vi index.html <html> <h1>matrix3!</h1> </html> [root@node3 ~]# service httpd start
在浏览器地址栏访问:http://192.168.230.12/,查看web服务是否正常
6、在DR上使用ipvsadm添加集群服务
LVS有两部分组成 ipvs:核心(嵌入到linux内核中) ipvsadm:管理应用程序
在192.168.230.10前端调度服务器操作:
[root@node1 ~]# ipvsadm -C【清空】 [root@node1 ~]# yum -y install ipvsadm [root@node1 ~]# ipvsadm -A -t 192.168.230.100:80 -s wrr [root@node1 ~]# ipvsadm -a -t 192.168.230.100:80 -r 192.168.230.11 -g -w 1 [root@node1 ~]# ipvsadm -a -t 192.168.230.100:80 -r 192.168.230.12 -g -w 1 [root@node1 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.230.100:80 wrr -> 192.168.230.11:80 Route 1 0 0 -> 192.168.230.12:80 Route 1 0 0 realserver是什么端口前端调度服务器就是什么端口 ipvsadm -A -t 192.168.230.100:80 -s wrr(加权) ipvsadm -a -t 192.168.230.100:80 -r 192.168.230.11 -g(指定模型) -w(指定权重) 1 ipvsadm -a -t 192.168.230.100:80 -r 192.168.230.12 -g(指定模型) -w(指定权重) 1
在浏览器地址栏访问:http://192.168.230.100/,查看后台服务器是否正常轮循
第一次访问:
第二次访问:
结果:正常轮循
相关文章推荐
- 奇怪的c语言
- https+ssl详解
- 转义字符
- BZOJ4009 [HNOI2015]接水果
- 【04】弹出DatePickerDialog对话框和TimePickerDialog
- leetcode之search for a range
- 诚风老师--太聪明的人往往是失败的(深度好文)
- NYOJ 21 三只水杯
- CSS+DIV实例
- 最小的K个数
- 同步异步,阻塞非阻塞
- 数据结构(1):顺序表
- Kettle 设置变量
- C语言SOCKET编程指南
- java如何避免死锁
- HDOJ-2058(The sum problem)(找规律)(数学)
- Python机器 4000 学习安装相关库
- 在windows系统上,给Nim程序加上图标
- Ubuntu14.04装好系统后,安装无线网卡
- POJ 2965. The Pilots Brothers' refrigerator 枚举or爆搜or分治