一、lvs的实验环境
1.环境说明
|-----|-------------------------------------------|-----|---------------|
| 主机 | 网络模式 | 功能 | 是否设定网关 |
| lvs | nat-172.25.254.100,hostonly-192.168.0.100 | vs | |
| rs1 | hostonly-192.168.0.10 | rs1 | 192.168.0.100 |
| rs2 | hostonly-192.168.0.20 | rs2 | 192.168.0.100 |
2.环境设定操作
(1)基本环境
bash
#lvs
vmset.sh eth0 172.25.254.100 lvs
vmset.sh eth1 192.168.0.100 lvs
#rs1
vmset.sh eth0 192.168.0.10 rs1 noroute
#rs2
vmset.sh eth0 192.168.0.10 rs2 noroute
(2)设定RS1和RS2的网关
bash
#RS1
nmcli connection modify eth0 ipv4.gateway 192.168.0.100
nmcli connection reload
nmcli connection up eth0
#RS2
nmcli connection modify eth0 ipv4.gateway 192.168.0.100
nmcli connection reload
nmcli connection up eth0
#测试
route -n
#结果
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.100 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
要求IP之间可以直接ping通
二、LVS命令使用详解
1.lvs安装部署
(1)lvs的安装
bash
dnf install ipvsadm.x86_64 -y
(2)lvs软件相关信息
-
程序包:ipvsadm
-
Unit File: ipvsadm.service
-
主程序:/usr/sbin/ipvsadm
-
规则保存工具:/usr/sbin/ipvsadm-save
-
规则重载工具:/usr/sbin/ipvsadm-restore
-
配置文件:/etc/sysconfig/ipvsadm-config
-
ipvs调度规则文件:/etc/sysconfig/ipvsadm
2.ipvsadm命令使用详解
(1)核心功能
-
集群服务管理:增、删、改
-
集群服务的RS管理:增、删、改
-
查看
(2)管理集群服务中的增删改
- 开启监控
bash
watch -n 1 ipvsadm -Ln
- 命令操作
bash
#设定服务器vip,端口及调度算法
ipvsadm -A -t 172.25.254.100:80 -s rr
#指定使用防火墙标记来进行轮询
ipvsadm -A -f 66 -p 3000
#更改权重
ipvsadm -E -t 172.25.254.100:80 -s wrr
#删除
ipvsadm -D -f 66
(3)管理集群中RealServer的增删改
bash
#增加
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20 -m
#修改
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.10 -w 2 -m
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.20 -w 5 -i
#删除
ipvsadm -d -t 172.25.254.100:80 -r 192.168.0.20
ipvsadm -C --- 清空
3.lvs策略保存
(1)用自定义文件保存策略
bash
#保存会直接打印
ipvsadm-save
-A -t lvs-server:http -s rr
-a -t lvs-server:http -r 192.168.0.10:http -m -w 1
-a -t lvs-server:http -r 192.168.0.20:http -m -w 1
#通过重定向
ipvsadm-save > /mnt/haha
#清空
ipvsadm -C
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
#恢复
ipvsadm-restore < /mnt/haha
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.0.100:80 rr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0
(2)ipvs策略开机生效方式
bash
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable --now ipvsadm.service
reboot
#重启后仍然有效
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.0.100:80 rr
-> 192.168.0.10:80 Masq 1 0 0
-> 192.168.0.20:80 Masq 1 0 0