部署LVS-DR群集

1、LVS-DR数据包流向分析

1.1、数据包流向分析

  • 客户端发送请求到Director Server负载均衡器,请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间

  • Director Server和Real Server在同一个网络中,数据通过二层数据链路层来传输

  • 内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包,修改源MAC地址为Director Server的MAC地址,为Real Server的MAC地址,源IP地址与目标IP地址没有改变,然后将数据包发送给Real Server

  • 到达Real Server的请求报文的MAC地址,就接收此报文,数据包重新封装报文(源IP地址为VIP地址,目标IP为CIP),将响应报文通过lo接口传送给物理网卡然后向外发出4

  • Real Server 直接将响应报文传送给客户端

1.2、LVS-DR数据包接收分析

 

 

1.3、DR模式的特点

  • Director Server和Real Server必须在同一个物理网络中

  • Real Server可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对RIP直接访问

  • Director Server作为集群的访问入口,但不作为网关使用

  • 使用的请求报文经由Director Server,但回复响应报文不能经过Director Server

  • Real Serve的网关不允许指向Director Server IP ,即Real Server发送的数据包不允许经过Director Server

  • Real Server上的lo接口配置VIP的IP地址

1.4、LVS-DR中的ARP问题

 

 

 

3、LVS-DR群集部署实战

3.1、准备工作

---------准备--------------
1台调度器 7-7
1台NFS   7-8
2台web服务器 7-2 7-3
systemctl stop firewalld    #关闭防火墙
systemctl disbale firewalld
setenforce 0
​
​
vim /etc/sysconfig/network-scripts/ifcfg-ens33
     GATEWAY=192.168.80.20  ## 修改7-2 7-3网关
     ifdown ens33 && ifup ens33
----------过程------------
1、加载ip_vs模块,安装ipvsadmin工具
2、开启路由转发
3、新建LVS虚拟服务器并添加节点服务器
4、配置节点服务器
- 建立测试网站
- 挂载NFS共享存储
- 建立测试网页
5、保存规则并测试

3.2、NFS服务器

------7-8 NFS -192.168.80.30----------
vim /etc/sysconfig/selinux
##SELINUX=disabled
-------- #安装nfs服务--------
yum install nfs-utils rpcbind -y
------#新建目录,并创建站点文件-------
cd /opt   
mkdir  nfs
cd /nfs
mkdir qiangge  zhengge
cdmod 777 *    给两个文件夹赋予权限
echo '<h1>Mr Qiang likes dancing<!/h1>'    >qiangge/index.html
echo '<h1>Mr Zheng likes dancing too!</h1>' >zhengge/index.html   需要共享的两个目录
vim /etc/exports      #共享配置文件,设置共享策略
​
/opt/nfs/qiangge 192.168.80.0/24(rw,sync,no_root_squash)
/opt/nfs/zhengge 192.168.80.0/24(rw,sync,no_root_squash)
​
systemctl start rpcbind    #开启系统服务rpcbind
systemctl enable nfs       # 开机自启动
showmount -e               #检查是否共享成功
​
showmount -e 192.168.80.30   ##7-2 , 7-3节点服务器上查看是否能搜索到共享目录

3.3、节点服务器7-2

------------7-2 nginx节点服务器-192.168.80.12-------------------
yum install -y httpd  
---------添加网卡 -------------------
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo:0  ifcfg-lo:0
vim ifcfg-lo:0
​
DEVICE=lo:0
IPADDR=192.168.80.100
NETMASK=255.255.255.255  #子网掩码必须全为1
ONBOOT=YES
​
ifup lo:0  ##启动网卡
route add -host 192.168.80.100 dev lo:0 ##添加路由
route -n   ##查看路由
systemctl restart network
vim /etc/rc.local         ##实现系统开机自动配置
​
route add -host 192.168.80.100 dev lo:0
chmod +x /etc/rc.d/rc.local  #给权限
---------添加内核的ARP响应参数,阻止更新vip的MAC地址,避免发送冲突------------
vim /etc/sysctl.conf
​
net.ipv4.conf.lo.arp_ignore=1   系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce=2 系统只不使用IP包的源地址来设置ARP请求的源地址,而使用发送接口的地址
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
​
sysctl -p  ##加载配置
​
-----开启服务器------------------------------
cd /var/www/html
echo '<h1>this is the first test web!</h1>'  >index.html
systemctl start httpd
​
虚拟机浏览器输入 192.168.80.13 测试是否成功

3.4、节点服务器7-3

------------7-3 nginx节点服务器-192.168.80.13-------------------
yum install -y httpd  
---------添加网卡 -------------------
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo:0  ifcfg-lo:0
vim ifcfg-lo:0
​
DEVICE=lo:0
IPADDR=192.168.80.100
NETMASK=255.255.255.255  #子网掩码必须全为1
ONBOOT=YES
​
ifup lo:0  ##启动网卡
route add -host 192.168.80.100 dev lo:0 ##添加路由
route -n   ##查看路由
systemctl restart network
vim /etc/rc.local         ##实现系统开机自动配置
​
route add -host 192.168.80.100 dev lo:0
chmod +x /etc/rc.d/rc.local  #给权限
---------添加内核的ARP响应参数,阻止更新vip的MAC地址,避免发送冲突------------
vim /etc/sysctl.conf
​
net.ipv4.conf.lo.arp_ignore=1   系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce=2 系统只不使用IP包的源地址来设置ARP请求的源地址,而使用发送接口的地址
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
​
sysctl -p  ##加载配置
​
-----开启服务器------------------------------
cd /var/www/html
echo '<h1>this is the second test web!</h1>'  >index.html
systemctl start httpd
​
虚拟机浏览器输入 192.168.80.13 测试是否成功

3.5、调度器7-7

--------- 7-7 调度(负载均衡)服务器--192.168.80.20-----------------
---------添加第二张网卡-----------
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
​
DEVICE=ens33:0
IPADDR=192.168.80.100
NETMASK=255.255.255.255  #子网掩码必须全为1
​
ifup ens33:0  ##启动网卡
​
---------开启ip转发功能-----------
vim /etc/sysctl.conf     ## 开启ip路由转发功能
     
net.ipv4.conf.lo.arp_ignore=0   
net.ipv4.conf.lo.arp_announce=0 
net.ipv4.conf.all.arp_ignore=0
net.ipv4.conf.all.arp_announce=0
​
sysctl -p  ##加载配置
​
---------------安装ipvsadm管理工具---------------
mount /dev/sr0 /mnt
yum install -y ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm  #启动服务器需要的文件
​
---------------加载LVS内核模块------------------
ipvsadm -C ## 清除之前规则
ipvsadm -A -t 192.168.80.100:80 -s rr 
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.12:80 -g
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.13:80 -g
ipvsadm  ## 加载
ipvsadm -ln ##显示状态

3.6、检验

------一台window服务器
ie浏览器测试:192.168.80.100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值