安装lvs管理软件
yum –y install ipvsadm
配置lvs/DR模式
实验说明:
1.网络使用NAT模式
2.DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域
3.所有节点网关均指定真实网关
lvs/DR模式部署
准备工作
设置地址解析
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.96.122 lvs-server
192.168.96.123 real-server1
192.168.96.124 real-server2
direcor分发器配置
配置vip
ip addr add dev ens33 192.168.96.199/32 #设置VIP
service ipvsadm start #启动
注意:启动如果报错: /bin/bash: /etc/sysconfig/ipvsadm: 没有那个文件或目录需要手动生成文件
ipvsadm --save > /etc/sysconfig/ipvsadm #规则保存
定义LVS分发策略
-A:添加VIP
-t:用的是tcp协议
-a:添加的是lo的vip地址
-r:转发到realserverip
-s:算法
-L|-l –list #显示内核虚拟服务器表
--numeric, -n:#以数字形式输出地址和端口号
-g --gatewaying #指定LVS工作模式为直接路由器模式DR(也是LVS默认的模式)
-S -save #保存虚拟服务器规则到标准输出,输出为-R 选项可读的格式
rr:轮循
如果添加ip错了,删除命令如下:
ip addr del 192.96.199 dev ens33
部署分发器
ipvsadm -C #清除内核虚拟服务器表中的所有记录。
ipvsadm -A -t 192.168.96.199:80 -s rr
ipvsadm -a -t 192.168.96.199:80 -r 192.168.96.123 -g
ipvsadm -a -t 192.168.96.199:80 -r 192.168.96.124 -g
ipvsadm -S > /etc/sysconfig/ipvsadm #规则保存
查看是否绑定成功
ipvsadm -ln
ipvsadm -L -n --stats #显示统计信息
- Conns (connections scheduled) 已经转发过的连接数
- InPkts (incoming packets) 入包个数
- OutPkts (outgoing packets) 出包个数
- InBytes (incoming bytes) 入流量(字节)
- OutBytes (outgoing bytes) 出流量(字节)
[root@lvs-server ~]# ipvsadm -L -n --rate #看速率 - CPS (current connection rate) 每秒连接数
- InPPS (current in packet rate) 每秒的入包个数
- OutPPS (current out packet rate) 每秒的出包个数
- InBPS (current in byte rate) 每秒入流量(字节)
- OutBPS (current out byte rate) 每秒出流量(字节)
所有RS配置(real-srver)
两台服务器安装nginx配置不同页面
ip addr add dev lo 192.168.96.199/32 #在lo接口上绑定VIP
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #忽略arp广播
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包
systemctl start nginx #起动nginx
因为:realServer的vip有了,接着就是同一个网段中拥有两个vip, 客户端在网关发送arp广播需找vip时需要让realServer不接受响应.
解决:
echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
arp_ignore 设置为1,意味着当别人的arp请求过来的时候,如果接收的设备没有这个ip,就不做出响应(这个ip在lo上,lo不是接收设备的进口)
echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
使用最好的ip来回应,什么是最好的ip?同一个网段内子网掩码最长的
浏览器输入192.168.96.199测试刷新查看是否有不同的界面