欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解LVS并掌握ipvsadm管理命令的配置方法

最编程 2024-08-10 21:47:44
...

1. LVS介绍

  • LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士1998年5月发起的*软件项目

  • 我们通过LVS可以实现一个拥有高性能、高可用性、易扩展的服务器集群

  • 在Linux2.4内核之后,LVS已经是Linux内核的一部分,无需重新编译

2. LVS的组成

LVS有两部分组成:IPVS和ipvsadm

2.1 IPVS(ip virtual server)

工作在内核空间,真正的调度由它来完成,无法对它直接操作。

2.2 ipvsadm管理工具

用户空间管理工具ipvsadm来管理IPVS,负责为ipvs内核框架编写规则,定义虚拟服务器,定义后端真实的服务器(Real Server),定义工作模式和调度算法等。虚拟服务器(VS)负责接受请求,然后将请求通过算法调度给后端的真实服务器(RS)

3. ipvsadm管理工具介绍(操作均基于centos6操作系统)

3.1 安装

ipvsadm可以直接使用yum安装

yum -y install ipvsadm

3.2 基本命令格式

虚拟服务器:

ipvsadm 选项 虚拟服务器地址 -s 算法

真实服务器:

ipvsadm 选项 虚拟服务器地址 -r 真实服务器地址 -w 权重值工作模式

3.3 常用参数

-A 添加一个虚拟服务器,可跟ip或者ip:80(端口)
-E  编辑一个虚拟服务器
-D 删除一个虚拟服务器
-C 清空虚拟服务器
-R 还原规则-s保存规则
-a  添加一个真实服务器(RS)
-e  编辑一个真实服务器
-d  删除一个真实服务器
-t   使用tcp
-u   使用udp
-L  list 查看虚拟服务器列表
-s   指定算法
-r   指定真实服务器RIP
-g   指定工作模式为DR模式
-i   指定工作模式为tunl模式
-m  指定工作模式为NAT模式
-w  指定RS权重不能超过100
-c   查看连接状态可与L使用
-n   以数字的形式显示输出结果

3.4 实例

3.4.1 添加虚拟服务器

添加一个虚拟服务器IP地址为192.168.153.188,tcp服务,端口为80,算法为rr

[root@localhost ~]# ipvsadm -A -t 192.168.153.188:80 -s rr

3.4.2 添加真实服务器

添加一个真实服务器地址为192.168.153.163,端口为80,权重为1,工作模式为nat模式

[root@localhost ~]# ipvsadm -a -t 192.168.153.188:80 -r 192.168.153.163:80  -w 1 -m

添加一个真实服务器地址为192.168.153.167,端口为80,权重为1,工作模式为nat模式

[root@localhost ~]# ipvsadm -a -t 192.168.153.188:80 -r 192.168.153.167:80  -w 1 -m

3.4.3 使用 ipvsadm -Ln 命令查看添加结果

[root@localhost ~]# 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.153.188:80 rr
  -> 192.168.153.163:80           Local   1      0          0         
  -> 192.168.153.167:80           Masq    1      0          0        

3.4.4 保存配置结果(不然重启之后配置会丢失)

[root@localhost ~]# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm:      [  OK  ]

3.4.5 查看保存配置的文件

[root@localhost ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.153.188:80 -s rr
-a -t 192.168.153.188:80 -r 192.168.153.163:80 -g -w 1
-a -t 192.168.153.188:80 -r 192.168.153.167:80 -m -w 1

3.4.6 删除真实服务器

删除上面添加的163真实服务器

[root@localhost ~]# ipvsadm -d -t 192.168.153.188:80 -r 192.168.153.163:80

3.4.7 使用 ipvsadm -Ln 命令查看删除结果

163真实服务器已经被删除

[root@localhost ~]# 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.153.188:80 rr
  -> 192.168.153.167:80           Masq    1      0          0  

3.4.8 删除虚拟服务器

[root@localhost ~]# ipvsadm -D -t 192.168.153.188:80

3.4.9 清空虚拟服务器

[root@localhost ~]# ipvsadm -C

3.4.10 重新读取保存的配置文件并查看

所有的配置已经恢复(上面的删除操作并没有保存)

[root@localhost ~]# service ipvsadm restart
ipvsadm: Clearing the current IPVS table:                  [  OK  ]
ipvsadm: Unloading modules:                                [  OK  ]
ipvsadm: Clearing the current IPVS table:                  [  OK  ]
ipvsadm: Applying IPVS configuration:                      [  OK  ]

[root@localhost ~]# 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.153.188:80 rr
  -> 192.168.153.163:80           Local   1      0          0         
  -> 192.168.153.167:80           Masq    1      0          0   

LVS负载均衡NAT和DR模式配置案列: https://blog.****.net/m0_46674735/article/details/109742418

推荐阅读