lvs的相关应用2

news/2024/9/23 20:24:11/

lvs

安装lvs

配置规则,查看所有的规则,如果已经配置好规则,重启之后就没了

[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

配置vip网卡

1.在编辑虚拟网络中创建桥接模式的网卡,并且桥接到有网的适配器上

2.在vmware的虚拟主机资源管理器找到虚拟主机,右键菜单,设置

3.添加新的网卡,自定义为刚才创建的桥接模式网卡

4.此时在虚拟主机中使用ifconfig无法找到新的网卡

5.ip 啊能够查看到新的ens36网卡,没有路由

6.编辑网卡配置

7.重启network服务

配置ipvs规则

[root@ds01 ~]# ipvsadm -A -t 192.168.2.173:80 -s rr
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
添加rs web01 web02 添加规则

[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.32:80 -m
[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.33:80 -m
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
  -> 192.168.2.32:80              Masq    1      0          0         
  -> 192.168.2.33:80              Masq    1      0          0         
[root@ds01 ~]# vim /etc/sysctl.conf

[root@ds01 ~]# sysctl -p
net.ipv4.ip_forward = 1        说明已经支持ip转发了

在web01主机和web02主机上临时修改网关,网关必须只想dip(调度服务器的对内的ip)

[root@web01 ~]# route del default
[root@web01 ~]# route add default gw 192.168.2.126        这个ip是ds01上ens160上的ip

这也要求了rs ip 和dip在同一个网段上面,因为dip是要作为网关存在的

lvs-nat模式的优点是配置简单,缺点是请求和响应都必须经过ds,容易称为瓶颈期

请求的时候使用input链进行负载均衡,响应的时候就不要警告ds,直接由rs响应给客户端

在nat模式的时候,请求vip,接受vip的响应

构想 请求vip,接收rip的响应,这是不允许的

ds脚本

DR模式(不支持端口映射)

1.性能更优,回路不在经过ds

2.ds和rs为了保证用户响应,都要求配置统一的vip

3.由于rs是直接响应client,网关一定不能设置为ds的dip

4.对rs的vip进行抑制,让ds的vip接收请求,让rs的vip不接收请求

1.ds上ens160网卡上挂一个虚拟的vip 192.168.2.35

[root@dr ~]# ifconfig ens160:0 192.168.2.36 broadcast 192.168.2.36 netmask 255.255.255.0 up

[root@ds01 ~]# route add -host 192.168.2.36 dev ens160:0        也能够在这里接收数据包

192.168.2.137 dip

192.168.2.35 vip        在rs上的vip和这个vip相同

2.设置规范ipvsadm

[root@ds01 ~]# yum -y insatll ipvsadm

设置规则

ipvs -A -t 192.168.2.137:80 -s rr

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.32 -g

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.33 -g

rs不需要指定端口,dr不支持端口映射,vip是80端口,

设置rs主机

在lo接口上挂载一个vip

1.在lo接口上绑定vip

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up

2.设置主机路由

3.抑制rs接收请求

4.生成脚本,对web02使用

# 安装ipvsadm yum -y install ipvsadm

$ 设置规则

ipvsadm -A -t 10.1.1.102:80 -s rr

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.200 -g

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.201 -g

# rs不在需要指定端口,dr不支持端口映射,vip上是80端口,最终就是80端 口

# -m nat -g gateway

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up [root@web01 ~]# route add -host 10.1.1.102 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

5.测试使用,查看状态

[root@dr03 ~]# ipvsadm -Ln --stats

ds脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip

read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num rs

#安装ipvsadm

yum list installed|grep ipvsadm if [ $? -ne 0 ] ; then

yum -y install ipvsadm fi

#配置规则(不需要设置ip_forword)

ipvsadm -C read -p "rule:" rule

read -p "port:" port ipvsadm -A -t $vip:$port -s $rule

read -p "rip1:" rip1 ipvsadm -a -t $vip:$port -r $rip1 -g

read -p "rip2:" rip2 ipvsadm -a -t $vip:$port -r $rip2 -g

rs脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num

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


http://www.ppmy.cn/news/1508920.html

相关文章

LVS部分配置1

LVS nat服务器(作时间服务器) [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# yum -y install ntpdate [rootlocalhost ~]# ntpdate cn.ntp.org.cn [rootlocalhost ~]# which ntpdate [rootlocalhost…

平安城市行业无人机解决方案(网格化巡逻场景应用)

场景痛点: 缺少飞手,导致无人机应用频次偏低 无人机需要人工换电池、维护及存储 日常巡逻 | 无人机补盲巡逻 大疆航点飞行功能,重复性任务只飞一遍,后续重复调用 无人机航点规划,一次设置,后续重复调用…

Cmake编译工程

Cmake目录结构:项目主目录中会放一个CmakeList.txt的文本文档,后期使用cmake指令时候,依赖的就是该文档 1.包含源文件的子文件夹包含Cmakelist.txt文件时,主目录的Cmakelists.txtx要通过add_subdirector添加子目录 2.包含源文件…

8月13日学习笔记 LVS

一.描述以及工作原理 1. 什么是LVS linux virtural server的简称,也就是linxu虚拟机服务器,这是一个 由章文嵩博士发起的开源项目,官网是 http://www.linuxvirtualserver.org,现在lvs已经是linux内核标 准的一部分,使用lvs可以达…

如何获取VS Code扩展的版本更新信息

获取VS Code 扩展的版本更新的需求 因为企业内部有架设私有扩展管理器的要求,但是对于一些官方市场的插件,希望可以自动获取这些扩展的更新并上传至私有扩展管理器。于是就有了本篇介绍的需求: 通过API的方式获取VS Code 扩展的更新。 关于…

day02--HTML CSS

一、HTML表单 表单的作用是用于采集用户再页面上填入的数据,并发送给后端服务器,经常用于用户注册、登录、xx信息添加、xx信息修改 1.1表单 1、input表示文本框 type属性:负责配置不同的输入框类型 text:普通文本框 password&…

C++ 语言特性01 - 基本数据类型

目录 0. 概述: 1. C++ 中基本数据类型及位宽(Bits) 2. C++ 中基本数据类型的取值范围 ​3. 无符号和有符号整数表示 4. 定点数表示 5. 浮点数表示 6. C++ 11 新增的数据类型 long long 0. 概述: 本文介绍下C++中的基本数据类型,它是C++编程基础,应理解数据类型的位宽…

【微前端中常见的问题及其解决办法】

随着前端技术的飞速发展,大型应用系统的复杂性和规模性日益增加,传统的单体前端架构逐渐暴露出维护成本高、升级困难、技术栈单一等问题。为了应对这些挑战,微前端(Micro-Frontends)作为一种新的架构模式应运而生。微前…