时间同步及LVS的安装配置

ops/2024/9/25 8:26:33/

时间同步:

yum -y install ntpdate

yum -y install ntp 

 ntpdate cn.ntp.org.cn

 systemctl start ntpd

 

 systemctl enable ntpd

安装ipvsadm

# 安装 ipvsadm
[root@nat ~] # yum -y install ipvsadm
# 清空以往的规则
[root@nat ~] # ipvsadm -C
# 查看规则
[root@nat ~] # ipvsadm -L -n
# 新增规则
[root@nat ~] # ipvsadm -A -t 192.168.0.100:80 -s rr
# 添加主机
[root@nat ~] # ipvsadm -a -t 192.168.0.100:80 -r
10.1.1.200:80 -m
[root@nat ~] # ipvsadm -a -t 192.168.0.100:80 -r
10.1.1.201:80 -m
# 设置 ip 转发
[root@nat ~] # vim /etc/sysctl.conf
============================================
net.ipv4 .ip_forward = 1
============================================
# 设置生效
[root@nat ~] # sysctl -p
net.ipv4.ip_forward = 1

 web服务器网关配置:

[root@web01 ~] # route del default
[root@web01 ~] # route add default gw 10.1.1.100
[root@web02 ~] # route del default
[root@web02 ~] # route add default gw 10.1.1.100

 添加规则

# 配置ipvs规则

[root@ds01 ~] # ipvsadm -A -t 192.168.10.100: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 InActConnTCP 192 .168.10.100:80 rr

# 添加rs web01 web02 添加规则

[root@ds01 ~] # ipvsadm -a -t 192.168.10.100:80 -r
10.1.1.200:80 -m
[root@ds01 ~] # ipvsadm -a -t 192.168.10.100:80 -r
10.1.1.201: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.10.100:80 rr
- > 10 .1.1.200:80 Masq 1 00
- > 10 .1.1.201:80 Masq 1 00

 ip转发:

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

临时修改web01web02的网,网关必须指向dip(调度服务器的对内的ip

[root@web01 ~] # route del default
[root@web01 ~] # route add default gw 10.1.1.100
[root@web01 ~] # # 临时修改网关
# 这也要求了 rs ip dip 要在同一个网段,因为 dip 是要作为网关存在的

 NAT脚本:

# ds 脚本
#!/bin/bash
# 配置网卡
echo TYPE = "Ethernet" >> /etc/sysconfig/network-scripts/ifcfg-ens36
echo BOOTPROTO = "none" >> /etc/sysconfig/network-scripts/ifcfg-ens36
read -p "router name:" router_name
echo NAME = '"$rount_name"' >> /etc/sysconfig/network-scripts/ifcfg-ens36
uuidkey = $( uuidgen )

echo UUID = '"$uuidkey"' >> /etc/sysconfig/network-scripts/ifcfg-ens36 >> /etc/sysconfig/network-scripts/ifcfg-ens36
echo DEVICE = '"$rount_name"' >> /etc/sysconfig/network-scripts/ifcfg-ens36
echo ONBOOT = "yes" >> /etc/sysconfig/network-scripts/ifcfg-ens36
echo IPADDR = 192 .168.10.100 >> /etc/sysconfig/network-scripts/ifcfg-ens36
systemctl restart network
# 安装 ipvsadm
yum list installed|grep ipvsadm
if [ $? -ne 0 ];then
yum -y install ipvsadm
fi
# 配置规则
read -p "vip:" vip
read -p "port:" port
read -p "rule:" s
ipvsadm -A -t $vip : $port -s $s
# ip forward
echo "net.ipv4.ip_forward=1" >/etc/sysctl.conf
sysctl -p
# rs 脚本
#!/bin/bash
read -p "dip:" dip
# 设置网关
route del default
route add defualt gw $dip

DR模式:

1. 性能更优,回路不再经过 ds
2.ds rs 为了保证用户响应,都要求配置统一的 vip 3. 由于 rs 是直接响应 client ,网关一定不能设置为 ds dip
4. rs vip 进行抑制,让 ds vip 接收请求, rs vip 不接受请求
5.rs vip 绑定点 lo 回路网卡上

dsens33上挂一个vip 10.1.1.102

ifconfig ens33:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up
route add -host 10.1.1.102 dev ens33:0

 设置规范:

# 安装 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

 设置rs主机:

1.lo接口上绑定vip

[root@web01 ~] # ifconfig lo:0 10.1.1.102 broadcast10.1.1.102 netmask 255.255.255.255 up

2.设置主机路由

[root@web01 ~] # route add -host 10.1.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.生成脚本,对web02使用

ifconfig lo:0 10 .1.1.102 broadcast 10 .1.1.102 netmask
255 .255.255.255 up
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
IP Virtual Server version 1 .2.1 (size = 4096 )
Prot LocalAddress:Port Conns InPkts
OutPkts InBytes OutBytes
- > RemoteAddress:PortTCP 10 .1.1.102:80 1 60 360 0
- > 10 .1.1.200:80 0 00 0 0
- > 10 .1.1.201:80 1 60 360 0
[root@dr03 ~] #

 dr模式的脚本

#!/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
# 安装 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/95011.html

相关文章

CV每日论文--2024.7.24

1 、AutoAD-Zero: A Training-Free Framework for Zero-Shot Audio Description 中文标题:T2V-CompBench:组合文本到视频生成的综合基准AutoAD-Zero:零样本音频描述的免训练框架 简介:我们的目标是以无需训练的方式为电影和电视剧…

【Nodejs】六、express框架

目录 一、express 介绍 二、express 使用 2.1 express 下载 2.2 express 使用 三、express 路由 3.1 什么是路由 3.2 路由的使用 3.3 获取请求参数 3.4 获取路由参数 四、express 响应设置 五、express 中间件 5.1 什么是中间件 5.2 中间件的作用 5.3 中间件的类…

抓包分析排查利器TCPdump

tcpdump命令介绍与常规用法。 基础命令介绍 # 固定语法 -i 指定网卡名称 -nn 显示IP地址 -w 指定输出的文件名称 tcpdump -i eth0 -nn -w test.cap-nn 不把主机的网络地址与协议转换成名字 -w 把数据包数据写入指定的文件 and 连接参数 host 指明主机 port 指明端口 src 源IP…

Unity透视镜透视效果——Shader

一、效果示意图 二、透视的过程 要看的效果:【相机】借助【球体】,透过【圆柱】看到【红色的方块】 三、实现原理-Shader 借助shader,两个挂有特殊shader的物体,当他们在视线里重叠的时候,重叠的部分变成透明。 …

SpringAOP 面向切面编程

** Spring有两大核心特性:IOC(控制反转) 和 AOP(面向切面编程),但是 相比IOC在日常工作中的广泛应用,AOP却常常做了冷板凳,下面我从工作中的场景为大家打开AOP面向切面编程的大门。** 什么是AOP? 在软件业,AOP为Asp…

0815,析构函数,拷贝构造函数,赋值运算符函数

来自同济医院的问候 目录 01:对象创建 001.cc 003size.cc 02:对象销毁 004pointer.cc 005destroytime.cc 03:本类型对象的复制 3.1 拷贝构造函数 006cp.cc 007cptime.cc 008recursion.cc 009rightleft.cc 3.2 赋值运算符函数 …

jar包在linux无法直接获取resources文件夹下的文件

windows下,通过hutool的FileUtil.file()就可以获取到文件,通过MailUtil.send()将邮件带附件的方式成功,携带附件发邮件。 linux下部署,截图中的FileUtil.file()是拿不到文件的,报IOException while sending message&a…

[论文笔记]ZeRO: Memory Optimizations Toward Training Trillion Parameter Models

引言 今天带来ZeRO: Memory Optimizations Toward Training Trillion Parameter Models的论文笔记。 大型深度模型提供了显著的准确性提升,但训练数十亿到数万亿个参数是具有挑战性的。现有的解决方案,如数据并行和模型并行,存在基本的局限…