热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux中lvs命令详解,linux中级之lvs配置(命令)

一、nat模式配置环境说明:DS:nat网卡(自动获取也可以,充当vip):192.168.254.13255.255.255.0vmnet3网卡(仅主机):172.

一、nat模式配置

环境说明:

DS:nat网卡(自动获取也可以,充当vip):

192.168.254.13

255.255.255.0

vmnet3网卡(仅主机):

172.16.100.1

255.255.255.0

RS1:(仅主机vmnet3)

172.16.100.10

255.255.255.0

172.16.100.1

RS2:(仅主机vmnet3)

172.16.100.20

255.255.255.0

172.16.100.1

安装lvs:

yum install ipvsadm

调度器上开启路由转发模式:

临时性:

echo 1 > /proc/sys/net/ipv4/ip_forward

永久性:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

ipvsadm配置:

ipvsadm -A -t 192.168.254.13:80 -s rr

ipvsadm -a -t 192.168.254.13:80 -r 172.16.105.10 -m

ipvsadm -a -t 192.168.254.13:80 -r 172.16.100.20 -m

ipvsadm命令:

查看lvs集群连接状态           ipvsadm -Ln --stats

查看lvs集群配置                   ipvsadm -Ln

保存ipvs配置                  ipvsadm-save

还原                                  ipvsadm-restore

ipvsadm -S > /etc/sysconfig/ipvsadm     #把配置文件保存在配置文件中

ipvsadm -R

二、dr模式配置

虚拟机网卡模式:

DS:NAT(自动获取)

RS1:NAT(自动获取)

RS2:NAT(自动获取)

DR模式

direct_server:192.168.254.13

real_server:192.168.254.12

real_server:192.168.254.10

vip:192.168.254.250    #vip为虚拟服务ip

direct_server:yum install ipvsadm

老板

direct_server:

ipvsadm -C    #清除配置信息

#添加对外提供的服务ip

ipvsadm -A -t 192.168.254.250:80 -s rr    #-A为ADD   -t为tcp   -s rr为设置算法为轮叫算法

#添加2台real_server主机

ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.12:80 -g #-a为add   -t为tcp   -r为realserver   -g为DR路由模式

ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.10:80 -g #-a为add   -t为tcp   -r为realserver   -g为DR路由模式

#配置网卡的子网口为vip,ip地址为192.168.254.250

ifconfig ens33:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up

#添加路由(访问192.168.254.250都走ens33:0这个网卡)

route add -host 192.168.254.250 dev ens33:0

员工1 | 员工2

real_server:

#在回环地址的子网口上配置服务ip(vip)

ifconfig lo:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up

#添加路由

route add -host 192.168.254.250 dev lo:0

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

关闭:

echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

arp_ignore:定义接收到ARP请求时的响应级别

0:默认,只用本地配置的有响应地址都给予响应

1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应 (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)

arp_announce:定义将自己的地址向外通告时的级别

0:默认,表示使用配置在任何接口的任何地址向外通告

1:尽量仅向目标网络通告与其网络匹配的地址

2:仅向与本地接口上地址匹配的网络进行通告

三、tun隧道模式

lvs-server

ifconfig tunl0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.0 up

route add -host 192.168.254.250 dev tunl0

ipvsadm -A -t 192.168.254.250:80 -s rr

ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.18 -i

ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.19 -i

real_server

ifconfig tunl0 192.168.254.250 netmask 255.255.255.255 broadcast 192.168.254.250 up

route add -host 192.168.254.250 dev tunl0

echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter

echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

0:不开启源地址校验。

1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。

如果反向路径不是最佳路径,则直接丢弃该数据包。

2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),

如果反向路径不同,则直接丢弃该数据包。

四、ipvsadm语法及选项

1、语法:

ipvsadm -A|E -t|u|f [-s ] [-p ] [-M ] [-b ]

ipvsadm -D -t|u|f

ipvsadm -C

ipvsadm -R

ipvsadm -S [-n]

ipvsadm -a|e -t|u|f -r [选项]

ipvsadm -d -t|u|f -r

ipvsadm -L|l [options]

ipvsadm -Z [-t|u|f ]

ipvsadm --set

ipvsadm --start-daemon [--mcast-interface ] [--syncid ]

ipvsadm --stop-daemon

ipvsadm -h

2、子命令:

--add-service     -A        添加一个集群服务,需要使用选项

--edit-service    -E        编辑一个集群服务,需要使用选项

--delete-service  -D        删除指定集群服务,需要使用选项

--clear           -C        删除所有集群服务,包括真实服务器转发策略规则

--restore         -R        从标准输入中恢复策略规则

--save            -S        保存策略规则到标准输出

--add-server      -a        添加一个真实服务器,需要使用选项

--edit-server     -e        编辑一个真实服务器,需要使用选项

--delete-server   -d        删除一个真实服务器,需要使用选项

--list            -L|-l     查看集群服务列表,包括真实服务器转发策略规则

--zero            -Z        计数器清零。清除连接数、包转发等数量统计信息

--set             设置TCP、TCPFIN(TCP关闭连接状态)、UDP连接超时时间,用于会话保持。一般情况下TCP和UDP超时时间保持默认就好,TCPFIN

可以根据情况设定,指定它则用户请求连接关闭,该连接则会变

为非活跃(InActive)空闲等待状态,在空闲等待时间内,如果

来自同一源IP的请求,则还会转发给后端的同一台真实服务器上

--start-daemon              开启连接同步守护进程。在选项后面指定自己是Master(主)还是backup(备),主负载调度器会同步所有策略及连接状态到备负载调度器,当主故障,备可以接替其工作

--stop-daemon               停止连接同步守护进程

--help            -h        显示帮助信息

3、集群服务相关

-A:添加一个集群服务

-t:tcp

-u:udp

-f:firewall-mark,通常用于将两个或以上的服务绑定为一个服务进行处理是使用,integer类型

service-address:

-t:ip:port

-u:ip:port

-f:firewall-mark

-s:调度算法,默认为wlc

-p:timout:persistent connection,持久连接

-E:修改定义过的集群服务

-D:-t|-u|-f service-address:删除指定得集群服务

4、RS(Real Server)相关

-a:向指定得CS(Cluster Service)中添加RS(Real Server)

-t|-u|-f service-address:指明将RS添加至哪个Cluster Service中

-r:指定RS(Real Server),可包含{IP[:port]},只有支持端口映射的LVS类型才允许此处使用跟集群服务中不同的端口

LVS类型:

-g:Gateway,DR(默认使用的类型)

-i:ipip,TUN

-m:masquerade(地址伪装),NAT

指定RS(Real Server)权重:

-w 取值范围0-65535

-e:修改指定的RS属性

-d:-t|-u|-f service-address -r server-address:从指定得集群服务中删除某RS

5、清空所有的集群服务:

-C

6、保存规则:(使用输出重定向)

ipvsadm-save

ipvsadm -S

7、载入指定的规则:(使用输入重定向)

ipvsadm-restore

ipvsadm -R

8、查看ipvsadm规则

ipvsadm -L [options]

-n:数字格式显示IP地址

-c:显示连接数相关信息

--stats:显示统计数据

--rate:速率

--exact:显示统计数据的精确值

9、计数器清零

-Z



推荐阅读
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 本文介绍了在使用 pytest 进行代码覆盖率测试时,遇到 --cov-report=html 参数未识别错误的原因及解决方法。 ... [详细]
  • Python 脚本转换为可执行文件 (EXE)
    本文介绍了如何使用 PyInstaller 将 Python 脚本打包成独立的 EXE 文件,包括安装 PyInstaller 库和具体操作步骤。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在重新安装Ubuntu并配置Django和PyCharm后,忘记测试MySQL连接,导致在后续配置过程中遇到错误:ERROR 2003 (HY000) - 无法连接到本地服务器 ‘127.0.0.1’ (111)。本文将详细介绍该错误的原因及解决步骤,帮助用户快速恢复MySQL服务的正常运行。我们将从检查网络配置、验证MySQL服务状态、配置防火墙规则等方面入手,提供全面的故障排除指南。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
author-avatar
mobiledu2502903717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有