LVS 、DR模式

ops/2024/10/9 15:19:39/

lvs

--环境

主机名IP地址功能
web1192.168.1.17

rs

web2192.168.1.18realserve
nat

内:192.168.1.16

外:192.168.1.102

directorserver,ntp
dns192.168.1.12dns

--web1、web2

 yum -y install nginxecho "xx" > /usr/share/nginx/html/index.html

操作相同,然后分别在浏览器访问各自的IP地址,都能看到自己写的内容

--nat

要配置两个网卡和两个IP地址,分别对内和对外(在VMware添加网络适配器)

内网:192.168.1.16

外网:192.168.1.102

--dns

配置dns服务

yum -y install bind

修改配置文件

vim /etc/named.conf

vim /etc/named.rfc1912.zones

在最后添加,

然后,

#cd /var/named/
#ls
#ll
#cp -p named.localhost xixi.zone
#vim xixi.zone 

最后检查文件并且启动服务

#named-checkconf /etc/named.conf
#named-checkconf /etc/named.rfc1912.zones
#systemctl start named
#systemctl enable named
#systemctl stop firewalld

--客户端

将配置dns服务的IP重定向到/etc/resolve

#echo "nameserver 192.168.1.12" > /etc/resolv
#crontab -e
30 3 * * * /usr/sbin/ntpdate 192.168.1.11

域名ping通即可

--nat

设置时间同步服务器

#yum -y install ntpdate
#crontab -e
* 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
#systemctl stop firewalld
#systemctl start ntpdate.service
#systemctl enable ntpdate.service

-- 对dns、web1、web2设置时间同步

使用crontab -e 命令,写入

30 3 * * * /usr/sbin/ntpdate 192.168.1.11 (这是时间同步服务器的IP地址

--nat

先下载ipvsadm

#yum -y install ipvsadm.x86_64

#配置规则

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

ipvsadm -A -t 192.168.1.16:80 -s rr
ipvsadm -Ln

ens36网卡

#vim /etc/sysconfig/network-scripts/ifcfg-ens36

#cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
#ipvsadm -a -t 192.168.1.102:80 -r 192.168.1.17:80 -m
#ipvsadm -a -t 192.168.1.102:80 -r 192.168.1.18:80 -m
#ipvsadm -Ln

然后浏览器访问外网地址(访问不到正常)

--web1和web2

临时修改网关,相同操作

#route del default
#route add default gw 192.168.1.16(内网IP)


 

核心  内核中的ipvs  ipvsadm

配置vip网卡

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

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

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

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

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

6、编辑网卡设置

7、重启network服务

--nat

ip转发

[root@NAT ~]# vim /etc/sysctl.conf
[root@NAT ~]# sysctl -p
net.ipv4.ip_forward = 1

在文件里添加这句话

DR模式

1、性能更优,回路不再经过ds

2、ds和调度主机(rs)为了保证用户的响应,都要求配置统一的vip

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

4、对rs的vip进行一致,让ds的vip接收请求,rs的vip不接受请求

--web1上挂载一个vip

# ifconfig lo:0 192.168.1.102 broadcast 192.168.1.102 netmask 255.255.255.255 up

# route add -host 192.168.1.102 dev ens33:0

--设置规范
# 安装ipvsadm
yum -y install ipvsadm

# 清空规则
ipvsadm -C

# 设置规则
ipvsadm -A -t 192.168.1.102:80 -s rr
ipvsadm -a -t 192.168.1.102:80 -r 192.168.1.17 -g
ipvsadm -a -t 192.168.1.10280 -r 192.168.1.18 -g

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

设置rs主机

1、在lo接口上绑定vip

[root@f ~]# ifconfig lo:0 192.168.1.102 broadcast 192.168.1.102 netmask 255.255.255.255 up

2、设置主机路由

[root@f ~]# route add -host 192.168.1.102 dev lo:0

3、抑制rs的接受请求

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

4、生成脚本,对web2使用

[root@f ~]# scp arp.sh root@192.168.1.18:~

查看数据

[root@NAT ~]# 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.1.16:80 rr
TCP  192.168.1.102:80 rr-> 192.168.1.17:80              Masq    1      0          0         -> 192.168.1.18:80              Masq    1      0          0

dr模式的脚本

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脚本
练习:对mysql的服务进行负载均衡
#安装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/ops/95083.html

相关文章

Android12 SystemUI QS面板新增截屏功能

问题:Android12 中SystemUI版本,QS下拉快捷面板式没有截屏功能的。 需求:客户要求在项目中实现下拉快捷面板具备一键截屏功能 目前自己只针对Android12 mtk/RK平台实践过,接触的全志平台暂未实验验证。 文章目录 前言一、实际实现效果二、修改点1.新增文件2.修改文件三、基…

2024爱分析·AI Agent开发管理平台市场厂商评估报告:火山引擎

01研究范围定义 大模型浪潮席卷全球,AI Agent作为这股浪潮中的新星正在取代Copilot,成为大模型应用的主流形态之一,以其惊人的速度和影响力重塑科技和商业的版图。 AI Agent是指以大模型为驱动,具有自主理解感知、规划、记忆和使…

十九、中介者模式

文章目录 1 基本介绍2 案例2.1 Developer 抽象类2.2 FrontendDeveloper 类2.3 BackendDeveloper 类2.4 Mediator 接口2.5 ProjectManager 类2.6 Client 类2.7 Client 类的运行结果2.8 总结 3 各角色之间的关系3.1 角色3.1.1 Colleague ( 同事 )3.1.2 ConcreteColleague ( 具体的…

物理网卡MAC修改器v3.0-直接修改网卡内部硬件MAC地址,重装系统不变!

直接在操作系统里就能修改网卡硬件mac地址,刷新网卡mac序列号硬件码机器码,电脑主板集成网卡,pcie网卡,usb有线网卡,usb无线网卡,英特尔网卡,瑞昱网卡全支持! 一键修改mac&#xff0…

System V IPC奥秘:解锁共享内存、消息队列与信号量的高效通信之路

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 🍑system V共享内存 🍒共享内存的原理共享内存数据结构查看和删除共享内存资源的命令 🌻共享内存…

基因组学系列4:参考转录本数据库MANE

1. 参考转录本数据库MANE简介 为了促进临床参照的一致性,美国国家生物技术信息中心( NCBI)和欧洲分子生物学实验室-欧洲生物信息学研究所(EMBL-EBI)合作发布了参考转录本数据库MANE(Matched Annotation from the NCBI and EMBL-EBI)&#xf…

Ubuntu下交叉编译器工具链的安装方法

本篇文章记录Ubuntu下交叉编译器工具链的安装方法。 目录 一、交叉编译器 1、交叉编译器简介 2、获取交叉编译器 3、安装交叉编译器 4、安装相关库 二、结语 一、交叉编译器 1、交叉编译器简介 交叉编译器是一种编译器,它在一种平台上运行,但生成…

阿里云注册、认证、短信资质、签名、模板申请过程

一、帐号注册 输入“帐号密码注册”中的相关信息即可。 手机号是必须的,先确定好手机号。 正常的可以直接注册成功的。 二、实名认证 注册成功之后,就可以点击上述的“快速实名认证”。 这次选择的是“企业认证”。 有几种方式,如下&#x…