• 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命令相关推荐

  1. Linux集群部署和ipvsadm命令的使用

    在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...

  2. 负载均衡集群ipvsadm命令及基本用法

    ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置.需要使用yum单独安装. 基本用法: ipvsadm COMMAND [protocol] service-addre ...

  3. 这 30 个常用的 Maven 命令你必须熟悉

    转载自   这 30 个常用的 Maven 命令你必须熟悉 maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下. -D 指定参数,如 -Dmave ...

  4. ipvsadm命令方法

    ipvsadm命令方法 #命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思.在实际使用时,两种都可以. -A --add-service #在内核的虚拟服务器表中添加一条新的虚拟服务器记录 ...

  5. linux下ipvsadm命令,Linux中ipvsadm命令起什么作用呢?

    摘要: 下文讲述Linux中ipvsadm的功能说明,如下所示: ipvsadm命令功能: 用于 设置,维护,检查Linux内核中的虚拟服务表 Linux虚拟服务器简介: linux虚拟服务可将两个或 ...

  6. linux加权命令,ipvsadm命令 – linux 虚拟服务器管理

    ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...

  7. ipvsadm命令详解

    转自:https://blog.51cto.com/u_10978134/2122118 文章目录 1.IPVSADM的使用 1.1 命令语法.子命令和选项 1.2 集群服务管理 1.2.1 查看 1 ...

  8. linux下ipvsadm命令,ipvsadm命令

    ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...

  9. ipvsadm 命令

    目录 1.概要 2.描述 3.命令 4.参数 5.例子1:简单的虚拟服务 1.概要 ipvsadm -A|E -t|u|f service-address [-s scheduler][-p [tim ...

最新文章

  1. 3ds max 改变模型轴的坐标系位置
  2. 对话框编程之非模态对话框 [04]
  3. Oracle中比较日期大小
  4. 别再无聊地吹捧了,一起来动手实现MAE玩玩吧!
  5. Visual Studio 插件的开发
  6. 误删/var/lib/dpkg/info,文件解决方案(是否完全解决,不确定)
  7. CTS(18)---Google GMS
  8. 【转】Linux设备驱动之I/O端口与I/O内存
  9. 【洛谷P1169】[ZJOI2007]棋盘制作
  10. atitit.提升开发效率---动态语言总结
  11. linux 模板 制作工具,OpenTBS 1.8.0 发布,生成 Office 的模板工具
  12. 机器学习之逻辑回归(Logistic Regression)
  13. 苹果将数据转存至中国服务器 或威胁国内信息安全
  14. 重新学习Python的第二天_列表及字符串的学习与练习
  15. 【设计模式】策略模式
  16. 咸鱼Maya笔记—Maya 热键
  17. cf卡格式化后还能数据恢复么?相机cf卡误删怎么恢复
  18. 【云驻共创】华为云AI之用Python定制我的《本草纲目女孩》
  19. 开年福利!微服务前后端开发手册,打造完美全栈工程师
  20. 2021遥感应用组三等奖:基于PolSAR和高光谱遥感的黄河口湿地协同分类研究

热门文章

  1. 如何做H5页面阴影悬浮效果
  2. 音频采样及编解码——LPCM 、ADPCM、G711、G726、AAC
  3. 转:拥抱挣扎:创造组织的同时,也创造了崭新的自我
  4. 实验08 路由器RIP动态路由配置实验报告
  5. NB-IoT和eMTC到底有什么不同?
  6. java ao层_Java学习过程中的一些记录 DO、DTO、BO、AO、VO、POJO定义 | 酷客365
  7. Google Earth Engine (GEE)——如何统计指定区域的像素数量和总量
  8. rviz中点云显示出错
  9. 【LeetCode】378. 有序矩阵中第 K 小的元素(js 实现)
  10. 【心情日志】ZJOI2015酱油记