目录
1.数据包流向
2.通信遇到的问题
1.ARP广播 导致所有节点服务器和调度器的VIP响应
2.VIP的调度器失效
3.案例
1. 配置负载调度器
2.部署共享存储
3. 配置节点服务器(这里是两台)
1.数据包流向
1.客户端发送请求到负载均衡器 请求的数据报文到达内核空间
2.负载均衡器和后端服务器在同一个网络中 数据通过二层数据链路层来传输
3.内核空间判断数据包的目标IP是本机VIP 此时IPVS比对数据包请求的服务是否是集群服务 是集群服务就重新封装数据包 修改源 MAC 地址为负载均衡器的MAC地址 修改目标MAC地址为后端服务器的MAC地址 源IP地址与目标IP地址没有改变 然后将数据包发送给后端服务器
4.到达后端服务器的请求报文的MAC地址是自身的MAC地址 就接收此报文 数据包重新封装报文 将响应报文通过lo接口传送给物理网卡然后向外发出
5.后端服务器直接将响应报文传送到客户端
2.通信遇到的问题
1.ARP广播 导致所有节点服务器和调度器的VIP响应
解决方法 arp_ingore=1
防止网关路由发送ARP广播时调度器和节点服务器都经行响应 导致ARP缓存混乱 不对非本地物理网卡IP的ARP请求进行响应 lo:0
2.VIP的调度器失效
解决方法 arp_annouce=2
系统不使用响应数据包的源IP来作为本机进行ARP报文的源IP地址 而使用发送报文的物理网卡IP地址作为ARP请求报文的源IP地址 防止网关路由器接收到的源IP为VIP的请求报文后 更新ARP缓存表 导致外网在发送请求时数据包到不了调度器
3.案例
1. 配置负载调度器
创建一个虚拟网卡
查看创建是否成功
vim /etc/sysctl.conf 调整proc响应参数
sysctl -p
配置负载分配策略
2.部署共享存储
vim /etc/exports
3. 配置节点服务器(这里是两台)
下载nfs和rpcbind yum -y install nfs-utils rpcbind(先安装RPC后NFS)
配置虚拟IP
调整 proc 响应参数
###另一台也一样
第一台挂载 输入网页内容
第二台挂载 输入网页内容
用浏览器检查