30.1lvs-adm与ipvsadm命令
- ipvsadm命令
- 状态信息查看
- 实验:基于NAT模式的LVS
ipvsadm命令
#工具支持8中算法,负载均衡有3种,lvs-fullnat内核不支持,需要研发
[root@LVS ~ ]#yum info ipvsadm
: - two transport layer (layer-4) protocols (TCP and UDP)
: - three packet-forwarding methods (NAT, tunneling, and direct routing)
: - eight load balancing algorithms (round robin, weighted round robin,
: least-connection, weighted least-connection, locality-based
: least-connection, locality-based least-connection with
: replication, destination-hashing, and source-hashing)
#内核支持10种负载调度算法
[root@LVS ~ ]#grep -i ipvs /boot/config-3.10.0-862.el7.x86_64 -C 10
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
[root@LVS ~ ]#yum install ipvsadm
[root@LVS ~ ]#rpm -ql ipvsadm
/etc/sysconfig/ipvsadm-config #配置文件
/usr/lib/systemd/system/ipvsadm.service #服务
/usr/sbin/ipvsadm #集群服务
/usr/sbin/ipvsadm-restore #规则重载工具
/usr/sbin/ipvsadm-save #规则保存工具
/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
#ipvsadm服务
[root@LVS ~ ]#cat /usr/lib/systemd/system/ipvsadm.service
[Unit]
Description=Initialise the Linux Virtual Server
After=syslog.target network.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c “exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm”
ExecStop=/bin/bash -c “exec /sbin/ipvsadm-save -n > /etc/sysconfig/ipvsadm”
ExecStop=/sbin/ipvsadm -C
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
lvs-nat
#LVS开启路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
sysctl -a |grep forw
[root@LVS ~ ]#ipvsadm –help
[root@LVS ~]#ipvsadm -A -t 172.18.0.123:80 -s rr
[root@LVS ~]#ipvsadm -a -t 172.18.0.123:80 -r 192.168.31.17 -m
[root@LVS ~]#ipvsadm -a -t 172.18.0.123:80 -r 192.168.31.27 -m
[root@os7 ~ ]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.18.0.123:80 rr
-> 192.168.31.17:80 Masq 1 0 0
-> 192.168.31.27:80 Masq 1 0 0
状态信息查看
#连接信息
[root@LVS ~ ]#ipvsadm -Lnc
#连接状态,发送接收数据包
[root@LVS ~ ]#ipvsadm -Ln –stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 172.18.0.123:80 104 624 416 51272 49608
-> 192.168.31.17:80 52 312 208 25636 24804
-> 192.168.31.27:80 52 312 208 25636 24804
#每秒钟处理的包
[root@LVS ~ ]#ipvsadm -Ln –rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.18.0.123:80 0 0 0 0 0
-> 192.168.31.17:80 0 0 0 0 0
-> 192.168.31.27:80 0 0 0 0 0
#内存中的信息
[root@LVS ~ ]#cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP AC12007B:0050 rr
-> C0A81F1B:0050 Masq 1 0 24
-> C0A81F11:0050 Masq 1 0 25
#先清空防火墙iptables -F
[root@client ~ ]#for i in {0..100};do curl 172.18.0.123;sleep 0.5;done
RS1-17-server-httpd
RS2-27-server-httpd
RS1-17-server-httpd
RS2-27-server-httpd
RS1-17-server-httpd
RS2-27-server-httpd
https
[root@cos17 ~ ]#yum install mod_ssl
[root@cos27 ~ ]#yum install mod_ssl
[root@cos7 ~ ]#ipvsadm -A -t 172.18.0.123:443 #默认wlc
[root@cos7 ~ ]#ipvsadm -a -t 172.18.0.123:443 -r 192.168.31.17 -m -w 2
[root@cos7 ~ ]#ipvsadm -a -t 172.18.0.123:443 -r 192.168.31.27 -m
[root@cos7 ~ ]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.18.0.123:80 rr
-> 192.168.31.17:80 Masq 1 0 0
-> 192.168.31.27:80 Masq 1 0 0
TCP 172.18.0.123:443 wlc
-> 192.168.31.17:443 Masq 2 0 0
-> 192.168.31.27:443 Masq 1 0 0
实验:基于NAT模式的LVS
清空防火墙策略iptables -F
关闭selinux
如图
1、网络准备
LVS ip_forward功能启用
[root@cos7 ~ ]#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@cos7 ~ ]#sysctl -p
net.ipv4.ip_forward = 1
[root@cos7 ~ ]#sysctl -a | grep forward
2、RS
[root@cos17 ~ ]#yum install httpd -y
[root@cos27 ~ ]#yum install httpd -y
[root@cos17 ~ ]#echo R1 > /var/www/html/index.html
[root@cos27 ~ ]#echo R2 > /var/www/html/index.html
3、lvs
[root@cos7 ~ ]#yum install ipvsadm
[root@cos7 ~ ]#ipvsadm -A -t 172.18.0.123:80 -s rr
[root@cos7 ~ ]#ipvsadm -a -t 172.18.0.123:80 -r 192.168.31.17 -m
[root@cos7 ~ ]#ipvsadm -a -t 172.18.0.123:80 -r 192.168.31.27 -m
[root@cos7 ~ ]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.18.0.123:80 rr
-> 192.168.31.17:80 Masq 1 0 0
-> 192.168.31.27:80 Masq 1 0 0
4、客户端
[root@cos6 ~ ]#for i in {1..100};do curl 172.18.0.123;done
R1
R2
R1
R2
R1
30.1lvs-adm与ipvsadm命令相关推荐
- Linux集群部署和ipvsadm命令的使用
在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...
- 负载均衡集群ipvsadm命令及基本用法
ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置.需要使用yum单独安装. 基本用法: ipvsadm COMMAND [protocol] service-addre ...
- 这 30 个常用的 Maven 命令你必须熟悉
转载自 这 30 个常用的 Maven 命令你必须熟悉 maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下. -D 指定参数,如 -Dmave ...
- ipvsadm命令方法
ipvsadm命令方法 #命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思.在实际使用时,两种都可以. -A --add-service #在内核的虚拟服务器表中添加一条新的虚拟服务器记录 ...
- linux下ipvsadm命令,Linux中ipvsadm命令起什么作用呢?
摘要: 下文讲述Linux中ipvsadm的功能说明,如下所示: ipvsadm命令功能: 用于 设置,维护,检查Linux内核中的虚拟服务表 Linux虚拟服务器简介: linux虚拟服务可将两个或 ...
- linux加权命令,ipvsadm命令 – linux 虚拟服务器管理
ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...
- ipvsadm命令详解
转自:https://blog.51cto.com/u_10978134/2122118 文章目录 1.IPVSADM的使用 1.1 命令语法.子命令和选项 1.2 集群服务管理 1.2.1 查看 1 ...
- linux下ipvsadm命令,ipvsadm命令
ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...
- ipvsadm 命令
目录 1.概要 2.描述 3.命令 4.参数 5.例子1:简单的虚拟服务 1.概要 ipvsadm -A|E -t|u|f service-address [-s scheduler][-p [tim ...
最新文章
- 3ds max 改变模型轴的坐标系位置
- 对话框编程之非模态对话框 [04]
- Oracle中比较日期大小
- 别再无聊地吹捧了,一起来动手实现MAE玩玩吧!
- Visual Studio 插件的开发
- 误删/var/lib/dpkg/info,文件解决方案(是否完全解决,不确定)
- CTS(18)---Google GMS
- 【转】Linux设备驱动之I/O端口与I/O内存
- 【洛谷P1169】[ZJOI2007]棋盘制作
- atitit.提升开发效率---动态语言总结
- linux 模板 制作工具,OpenTBS 1.8.0 发布,生成 Office 的模板工具
- 机器学习之逻辑回归(Logistic Regression)
- 苹果将数据转存至中国服务器 或威胁国内信息安全
- 重新学习Python的第二天_列表及字符串的学习与练习
- 【设计模式】策略模式
- 咸鱼Maya笔记—Maya 热键
- cf卡格式化后还能数据恢复么?相机cf卡误删怎么恢复
- 【云驻共创】华为云AI之用Python定制我的《本草纲目女孩》
- 开年福利!微服务前后端开发手册,打造完美全栈工程师
- 2021遥感应用组三等奖:基于PolSAR和高光谱遥感的黄河口湿地协同分类研究
热门文章
- 如何做H5页面阴影悬浮效果
- 音频采样及编解码——LPCM 、ADPCM、G711、G726、AAC
- 转:拥抱挣扎:创造组织的同时,也创造了崭新的自我
- 实验08 路由器RIP动态路由配置实验报告
- NB-IoT和eMTC到底有什么不同?
- java ao层_Java学习过程中的一些记录 DO、DTO、BO、AO、VO、POJO定义 | 酷客365
- Google Earth Engine (GEE)——如何统计指定区域的像素数量和总量
- rviz中点云显示出错
- 【LeetCode】378. 有序矩阵中第 K 小的元素(js 实现)
- 【心情日志】ZJOI2015酱油记