当前位置: 首页 > news >正文

时间同步及LVS的安装配置

时间同步:

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux信号集
  • WPF窗体动态效果
  • 评价算法(topsis熵权法)
  • language model
  • php收银系统源码(收银pos+聚合支付+ai智能称重+连锁多门店+多商户入驻平台版商城)
  • 【笔记】MSPM0G3507移植RT-Thread——MSPM0G3507与RT_Thread(二)
  • 图书借阅会员员工管理小程序开发
  • Spring事务管理和事务传播机制详解
  • 项目成功的关键:10款需求文档管理工具
  • Android进阶之路 - res、raw、assets 资源解析、区别对比
  • 生态系统NPP及碳源、碳汇模拟(土地利用变化、未来气候变化、空间动态模拟)
  • 【瑞芯微RV1126(板端摄像头图像数据采集)】②使用v4l2视频设备驱动框架采集图像数据,按键拍照并显示
  • 《Hadoop大数据技术与实践》+ 数仓版本
  • 使用免费图书馆条形码扫描仪快速扫描书籍
  • HarmonyOS应用开发者高级认证(一)
  • php的引用
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 2019.2.20 c++ 知识梳理
  • Angularjs之国际化
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • hadoop集群管理系统搭建规划说明
  • Java IO学习笔记一
  • Java面向对象及其三大特征
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue的全局变量和全局拦截请求器
  • 坑!为什么View.startAnimation不起作用?
  • 利用jquery编写加法运算验证码
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 山寨一个 Promise
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 智能合约Solidity教程-事件和日志(一)
  • 阿里云移动端播放器高级功能介绍
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • $(function(){})与(function($){....})(jQuery)的区别
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (编译到47%失败)to be deleted
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (排序详解之 堆排序)
  • (万字长文)Spring的核心知识尽揽其中
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转)Google的Objective-C编码规范
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)scrum常见工具列表
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .net 7和core版 SignalR
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 6 redis操作类
  • .Net Core 中间件与过滤器
  • .NetCore 如何动态路由
  • .NET关于 跳过SSL中遇到的问题
  • .net专家(高海东的专栏)