当前位置:首页 > 行业动态 > 正文

ipvsadm工具如何助力ipvs模块的管理?

ipvsadm是用于管理Linux Virtual Server(LVS)的IPVS模块的命令行工具。它允许系统 管理员配置、监控和调整负载均衡器,包括添加、删除虚拟服务器和真实服务器,以及查看当前状态信息。

ipvs模块的管理工具ipvsadm介绍

从2.4版本开始,Linux内核默认支持LVS(Linux Virtual Server),要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm,LVS的结构主要分为两部分:工作在内核空间的IPVS模块和工作在用户空间的ipvsadm管理工具。

ipvsadm工具安装

ipvsadm工具支持rpm安装,也可以编译源码安装,下载地址为:http://www.linuxvirtualserver.org/software/ipvs.html。

ipvsadm工具使用

3.1 常用参数选项

| A addservice | 添加一条新的虚拟服务 |

| E editservice | 编辑虚拟服务 |

| D deleteservice | 删除虚拟服务 |

| C clear | 清除所有的虚拟服务规则 |

| R restore | 恢复虚拟服务规则 |

| a addserver | 在一个虚拟服务中添加一个新的真实服务器 |

| e editserver | 编辑某个真实服务器 |

| d deleteserver | 删除某个真实服务器 |

| L l list | 显示内核中的虚拟服务规则 |

| n numeric | 以数字形式显示IP端口 |

| c connection | 显示ipvs中目前存在的连接,也可以用于分析调度情况 |

| Z zero | 将转发消息的统计清零 |

| p persistent | 配置持久化时间 |

| set tcp tcpfin udp | 配置三个超时时间(tcp/tcpfin/udp) |

| t u | TCP/UDP协议的虚拟服务 |

| g m i | LVS模式为:DR NAT TUN |

| w | 配置真实服务器的权重 |

| s | 配置负载均衡算法,如:rr, wrr, lc等 |

| timeout | 显示配置的tcp/tcpfin/udp超时时间 |

| stats | 显示历史转发消息统计(累加值) |

| rate | 显示转发速率信息(瞬时值) |

3.2 示例

1、管理虚拟服务

添加一个虚拟服务192.168.1.100:80,使用轮询算法:ipvsadm A t 192.168.1.100:80 s rr

修改虚拟服务的算法为加权轮询:ipvsadm E t 192.168.1.100:80 s wrr

删除虚拟服务:ipvsadm D t 192.168.1.100:80

2、管理真实服务

添加一个真实服务器192.168.1.123,使用DR模式,权重2:ipvsadm a t 192.168.1.100:80 r 192.168.1.123 g w 2

修改真实服务器的权重:ipvsadm a t 192.168.1.100:80 r 192.168.1.123 g w 5

删除真实服务器:ipvsadm d t 192.168.1.100:80 r 192.168.1.123

3、查看统计

查看当前配置的虚拟服务和各个RS的权重:ipvsadm Ln

查看当前ipvs模块中记录的连接(可用于观察转发情况):ipvsadm lnc

查看ipvs模块的转发情况统计:ipvsadm Ln stats | rate

四、ipvsadm与Keepalived的区别

ipvsadm:是命令行工具,每次重启都需要重新配置(或者写入开机脚本中),但是配置参数十分灵活。

Keepalived:是一个服务(Daemon),通过编辑配置文件(/etc/keepalived/keepalived.conf),可以很方便地对LVS的参数做调整,且系统重启后不会丢失,Keepalived还有多机热备的功能(VRRP协议),可以将多台服务器组成MasterSlave集群,通过虚拟IP的方式对外提供服务,使得LVS不会成为单点故障,Keepalived还可以配置后端server检测,当发现服务不可用时,将该server从转发列表中剔除,具有健康检查机制。

FAQs

Q1: ipvsadm工具支持哪些安装方式?

A1: ipvsadm工具支持rpm安装,也可以编译源码安装,下载地址为:http://www.linuxvirtualserver.org/software/ipvs.html。

Q2: 如何使用ipvsadm工具添加一个虚拟服务?

A2: 使用以下命令添加一个虚拟服务:ipvsadm A t <虚拟服务地址>:<端口> s <调度算法>,添加一个虚拟服务192.168.1.100:80,使用轮询算法:ipvsadm A t 192.168.1.100:80 s rr。

0