骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

应用负载均衡之LVS(三):ipvsadm命令

分类: 网站架构

LVS系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html


1.使用ipvsadm

ipvsadm是ipvs的命令行管理工具,可以定义、删除、查看virtual service和Real Server的属性。

1.1 安装ipvsadm

可以直接yum安装。以下是编译安装ipvsadm的过程,对于内核版本2.6.xx,需要安装的ipvsadm版本要大于1.24。

# 下载ipvsadm
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz -P /tmp
cd /tmp
# 安装依赖包
yum -y install libnl* popt*
# 安装ipvsadm,注意不需要./configure
tar xf ipvsadm-1.26.tar.gz 
cd ipvsadm-1.26
make && make install

编译安装完之后,会在/etc/init.d/ (CentOS6)或/usr/lib/systemd/system/ (CentOS7)目录下自动生成ipvsadm服务管理脚本,这和一般的编译不一样,比较人性化。

安装ipvsadm后,生成以下文件。

[root@xuexi ~]# rpm -ql ipvsadm
/etc/sysconfig/ipvsadm-config
/usr/lib/systemd/system/ipvsadm.service
/usr/sbin/ipvsadm            # ipvs规则管理工具
/usr/sbin/ipvsadm-restore    # ipvs规则恢复工具
/usr/sbin/ipvsadm-save       # ipvs规则保存工具
/usr/share/doc/ipvsadm-1.27
/usr/share/doc/ipvsadm-1.27/README
/usr/share/man/man8/ipvsadm-restore.8.gz
/usr/share/man/man8/ipvsadm-save.8.gz
/usr/share/man/man8/ipvsadm.8.gz

1.2 ipvsadm语法

使用ipvsadm --help可以查看使用方法。ipvs的更多功能以及ipvsadm的更详细用法,请man ipvsadm

ipvsadm的选项中,大写选项管理虚拟服务virtual service,小写选项管理关联了虚拟服务的真实服务器RealServer,"-L""-l"除外,它们同义。

(1).管理virtual services:
    添加:-A  -t|u|f service-address [-s scheduler]
            -t:tcp协议的集群
            -u:udp协议的集群
                service-address格式为IP:PORT
            -f:firewall-mark防火墙标记
                service-address:a num for mark
            -s:调度算法
    修改:-E -t|u|f service-address [-s scheduler]     和-A使用方法一样
    删除:-D -t|u|f service-address
示例:
# ipvsadm -A -t 172.16.10.20:80 -s rr   (对外的地址,也就是VIP)

(2).管理virtual service中的RealServer:
    添加:-a  -t|u|f service-address -r server-address [-g|i|m] [-w weight]
        -t|u|f service-address:指定Real server所绑定的virtual service
        -r server-address:某RS地址,在NAT模型中,可IP:PORT实现端口映射,即端口无需等于VIP对应的port
        -g|i|m:指定lvs的类型,有三种:
            -g:gataway即DR类型(默认的模型)
            -i:--ipip,即TUN类型
            -m:masquerade地址伪装即NAT
        -w:指定权重(需要调度算法支持权重)
    修改:-e和-a用法一样
    删除:-d  -t|u|f service-address -r server-address表示从哪个virtual service中删除哪个realserver
示例:
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.9 -m
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.10 -m 

(3).查看:  
    -L或者-l:列出状态信息,配合以下选项用于显示更精确数据
        -n:只显示数字格式,不反解IP地址和端口
        --stats:显示统计信息
        --rate:显示速率信息(每秒的值)
        --timeout:显示tcp/tcpfin/udp的会话超时时间长度
        --daemon:显示进程状态和多播端口(不太用)
        --sort:对-n列出来的进行排序(按协议、IP、端口号升序排序)
        -c:显示当前ipvs的连接状况(不能和stats选项同用)

(4).其他项:
-Z:清空统计数据
-C:删除一个或所有virtual service,连同与之绑定的real server也删除
-S:保存规则  ipvsadm -S > /path/to/somefile 或者使用ipvsadm-save > /path/to/somefile
-R:载入规则  ipvsadm -R < /path/to/somefile 或者使用ipvsadm-restore < /path/to/somefile
    service ipvsadm save
    service ipvsadm restore

 

转载请注明出处:https://www.cnblogs.com/f-ck-need-u/p/8527125.html

如果觉得文章不错,不妨给个打赏,写作不易,各位的支持,能激发和鼓励我更大的写作热情。谢谢!

posted @   骏马金龙  阅读(2565)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
# 本文目录:
(右下角 # 关闭目录)
1.使用ipvsadm1.1 安装ipvsadm1.2 ipvsadm语法
点击右上角即可分享
微信分享提示

感谢您的支持

扫描二维码打赏

支付宝打赏