Linux LVS-DR模型实战演示
2015-08-20 15:36
731 查看
1. LVS-DR类型的特性
a.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等
b.RS的网关一定不能指向DIP
c.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)
d.请求报文经过Directory,但响应报文一定不经过Director
e.不支持端口映射
f.RS可以使用大多数的操作系统
2.LVS-DR模拟拓扑图
3.LVS-DR模拟数据流向图
如下图:当客户端请求VIP时,会将请求先发给Director(调度器),调度器发现请求的是一组集群服务,根据调度算法将这一请求转发给RealServer,注意在转发的过程中,仅仅是修改了数据报文中的MAC地址,所以这也是为什么我们要求DR和RS必须在同一个物理网络内,就是为了保证可以通过修改MAC地址而进行数据报文的转发。
另外关于各服务器网络的配置,首先每个服务有一个独立网卡即可。在DR上将DIP配置eth0上,将VIP配置在网络别名上,这样是为了以后调度器做高可用方便VIP做IP地址飘移。在各RS上同样需要配置好VIP,这样个RS就可以直接响应Client,而不需要再经过DR,但是一个物理网络之内是不允许有多个同名IP的,所以需要修改RS的内核参数,并且将VIP配置在LO上,让其保留VIP但是不允许对外进行广播,这样从RS出去的报文源地址就是VIP,当然这需要从真实的物理网卡出去,所以必须加一条路由,让访问VIP的数据包请求,对其响应的是配置了VIP的网卡,这样响应出去的报文源地址就是VIP,可以被Client接受。
4.实验流程之网络配置
首先说一下,我目前只有一个可以上外网的地址:192.168.1.211,于是我使用linux做了一个路由器,因此路由器的“外网就是192.168.1.211”,该主路由下划分子网,分别是192.168.0.0/24,172.16.0.0/16和10.10.10.0/8.如果我们可以通过192.168.0.10访问VIP172.16.0.8,并且该VIP服务由10.10.10.11和10.10.10.22提供,就证明我们实验成功了。
在Director上:
# ifconfig eth0 10.10.10.8/8
# ifconfig eth0:0 172.16.0.8/16
# route add -host 172.16.0.8 dev eth0:0
# route add default gw 172.16.0.1
在RS1上:
# ifconfig eth0 10.10.10.11/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
在RS2上:
# ifconfig eth0 10.10.10.22/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
5.实验流程只LVS配置
在Director上(为了演示实验效果,同样使用轮询rr的调度算法,一般企业多使用wlc调度算法):
# ipvsadm -C
# ipvsadm -A -t 172.16.0.8:80 -s rr
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.11 -g
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.22 -g 配置好以后如下图:
6.关于测试机的IP地址
7.访问测试
在调度器上查看一下模板信息,发现我们发出的请求是通过“主网关”192.168.1.211过来的,对其作出响应的分别是RS1和RS2,因此实验成功。
a.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等
b.RS的网关一定不能指向DIP
c.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)
d.请求报文经过Directory,但响应报文一定不经过Director
e.不支持端口映射
f.RS可以使用大多数的操作系统
2.LVS-DR模拟拓扑图
3.LVS-DR模拟数据流向图
如下图:当客户端请求VIP时,会将请求先发给Director(调度器),调度器发现请求的是一组集群服务,根据调度算法将这一请求转发给RealServer,注意在转发的过程中,仅仅是修改了数据报文中的MAC地址,所以这也是为什么我们要求DR和RS必须在同一个物理网络内,就是为了保证可以通过修改MAC地址而进行数据报文的转发。
另外关于各服务器网络的配置,首先每个服务有一个独立网卡即可。在DR上将DIP配置eth0上,将VIP配置在网络别名上,这样是为了以后调度器做高可用方便VIP做IP地址飘移。在各RS上同样需要配置好VIP,这样个RS就可以直接响应Client,而不需要再经过DR,但是一个物理网络之内是不允许有多个同名IP的,所以需要修改RS的内核参数,并且将VIP配置在LO上,让其保留VIP但是不允许对外进行广播,这样从RS出去的报文源地址就是VIP,当然这需要从真实的物理网卡出去,所以必须加一条路由,让访问VIP的数据包请求,对其响应的是配置了VIP的网卡,这样响应出去的报文源地址就是VIP,可以被Client接受。
4.实验流程之网络配置
首先说一下,我目前只有一个可以上外网的地址:192.168.1.211,于是我使用linux做了一个路由器,因此路由器的“外网就是192.168.1.211”,该主路由下划分子网,分别是192.168.0.0/24,172.16.0.0/16和10.10.10.0/8.如果我们可以通过192.168.0.10访问VIP172.16.0.8,并且该VIP服务由10.10.10.11和10.10.10.22提供,就证明我们实验成功了。
在Director上:
# ifconfig eth0 10.10.10.8/8
# ifconfig eth0:0 172.16.0.8/16
# route add -host 172.16.0.8 dev eth0:0
# route add default gw 172.16.0.1
在RS1上:
# ifconfig eth0 10.10.10.11/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
在RS2上:
# ifconfig eth0 10.10.10.22/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
5.实验流程只LVS配置
在Director上(为了演示实验效果,同样使用轮询rr的调度算法,一般企业多使用wlc调度算法):
# ipvsadm -C
# ipvsadm -A -t 172.16.0.8:80 -s rr
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.11 -g
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.22 -g 配置好以后如下图:
6.关于测试机的IP地址
7.访问测试
在调度器上查看一下模板信息,发现我们发出的请求是通过“主网关”192.168.1.211过来的,对其作出响应的分别是RS1和RS2,因此实验成功。
相关文章推荐
- Linux 常用命令
- fedora/centos下gcc编译出现gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory
- linux 一天一个命令之'cut'
- Linux 格式化磁盘命令mkfs
- linux下创建和删除软、硬链接
- CentOS 6.3 64位 搭建SVNServer服务器
- linux下搭建gsoap环境
- Centos6.6 PXE+Kickstart
- Smarty模板Windows下写代码 放到CentOS6.5无法正确解析
- 每天一个Linux命令-21(sar)
- Linux 下 gcc 与 g++的差别
- Linux常用命令
- CentOS系统局域网YUM本地源配置
- linux下搭建Ftp服务器
- CentOS 6.6 HAProxy安装配置指南
- Win7 VNC远程连接Centos桌面
- linux中tar命令参数
- Centos安装ddd
- 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用
- 查看linux服务器硬盘IO读写负载