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

网站开发前期准备宁波网站推广平台效果好

网站开发前期准备,宁波网站推广平台效果好,网页游戏排行榜前十名射击,wordpress 父级页面1. 前言 这种配置需求比较少见,在网上也很少有相关文章,于是记录在此,供有需要的朋友参考。 本篇重点介绍配置的关键点,基础部分简单提及,不赘述。 2. 需求描述 如上图,即给两个主机配置两对高可用主从配…

1. 前言

这种配置需求比较少见,在网上也很少有相关文章,于是记录在此,供有需要的朋友参考。
本篇重点介绍配置的关键点,基础部分简单提及,不赘述。

2. 需求描述

在这里插入图片描述

如上图,即给两个主机配置两对高可用主从配置。

3. 配置步骤

3.1 安装Keepalived

3.1.1 官网下载安装包

https://www.keepalived.org/download.html
之后将安装包上传到服务器上。
如果服务器可直连外网,那么可直接使用wget进行下载。

wget https://www.keepalived.org/software/keepalived-2.3.3.tar.gz

3.1.2 在主机上解压包

tar -xzvf keepalived-2.3.3.tar.gz

在主机上安装keepalived

mkdir -p ~/keepalived # 新建一个空目录,为keepalived需要安装到的目录
cd keepalived-2.3.3 # 进入解压后的源码目录
./configure --prefix=~/keepalived
sudo make && sudo make install

configureprefix参数,指定了keepalived安装的目录,在指定之前,需要新建该目录。

3.2 配置nginx检查脚本

mkdir -p /home/wingaso/keepalived/log # 新建一个存储日志的目录
cd /home/wingaso/keepalived/etc/keepalived

该目录下有一个keepalived.conf.sample文件。
我们在这个目录下新建一个check_ng.sh文件,其中填写如下内容(注意将以下脚本中的目录改为你服务器上的对应目录)

#/bin/sh
d=`date +%Y%m%d%H%M`;
n=`ps -C nginx --no-heading|wc -l`;
if [ $n -eq "0" ]; then/home/wingaso/nginx/sbin/nginx;n2=`ps -C nginx --no-heading|wc -l`;if [ $n2 -eq "0" ]; thenecho "$d nginx down,keepalived will stop">>/home/wingaso/keepalived/log/check_ng.log;sudo systemctl stop keepalived;fi
fi

3.3 配置keepalived.conf

分别进入两个主机,进入keepalived/etc/keepalived目录(即keepalived.conf.sample),新建keepalived.conf文件。

3.3.1 主机1配置

vrrp_script chk_nginx {script "/home/wingaso/keepalived/etc/keepalived/check_ng.sh"interval 3   # 每3秒执行一次脚本
}
vrrp_instance VIP_A_GROUP {  # VIP A(渠道1)的主备组state MASTERinterface eth0                  # 绑定网卡Avirtual_router_id 51          # 虚拟路由ID,同一组主备必须相同,不同组需唯一priority 105                  # 优先级105(需高于同一组的备节点)advert_int 1                   # 主备心跳间隔1秒authentication {auth_type PASS       # 使用密码认证auth_pass 密码A}virtual_ipaddress {Vip1/24}track_script {              # 绑定健康检查脚本chk_nginx}
}vrrp_instance VIP_B_GROUP {  # VIP B(渠道2)的主备组state BACKUPinterface eth1                  # 绑定网卡Bvirtual_router_id 52          priority 100                  advert_int 1authentication {auth_type PASSauth_pass 密码B}virtual_ipaddress {Vip2/24}track_script {chk_nginx}
}

3.3.2 主机2配置

vrrp_script chk_nginx {script "/home/wingaso/keepalived/etc/keepalived/check_ng.sh"interval 3
}
vrrp_instance VIP_A_GROUP {  # VIP A(渠道1)的主备组state BACKUPinterface eth0                  # 绑定网卡Cvirtual_router_id 51            # 必须与A组相同priority 100                    # 低于A的优先级advert_int 1authentication {auth_type PASSauth_pass 密码A}virtual_ipaddress {Vip1/24}track_script {chk_nginx}
}vrrp_instance VIP_B_GROUP {  # VIP B(渠道2)的主备组state MASTERinterface eth1                  # 绑定网卡Dvirtual_router_id 52            # 必须与B组相同priority 105                    # 高于B的优先级advert_int 1authentication {auth_type PASSauth_pass 密码B}virtual_ipaddress {Vip2/24}track_script {chk_nginx}
}

部分参数的含义已在以上配置中进行注明,不赘述。

3.3.3 配置细节

3.3.3.1 网卡名查看

至于网卡名的查看,可以通过以下命令

ip a  # 即 ip address的缩写

如下所示,其中蓝色框项为回环接口,下边两红色框为网卡1和网卡2。
在这里插入图片描述

3.3.3.2 Vip与网卡对应

VIP需与 对应网卡在同一子网,例如,假设 eth0 网卡的IP为 192.168.1.10/24(即子网掩码 255.255.255.0),其子网范围是 192.168.1.0 ~ 192.168.1.255。
此时,VIP(例如可取192.168.1.100/24)必须在此范围内,否则无法直接通过 eth0 网卡通信。

为什么VIP要和网卡在同一子网?

  • ARP协议依赖:当其他设备访问VIP时,会通过ARP协议(地址解析协议)广播查询“哪个设备的MAC地址对应VIP”。如果VIP与网卡在同一子网,Keepalived节点可以正常响应ARP请求,声明自己持有该VIP。若不在同一子网,ARP请求无法到达目标子网,其他设备无法找到VIP对应的MAC地址,导致VIP不可达。
  • 路由限制:默认情况下,操作系统只允许在同一子网内绑定额外的IP地址(即VIP)。如果VIP跨子网,需额外配置路由规则,否则数据包无法正确发送到VIP。

3.4 启动服务

sudo systemctl start keepalived

之后可以通过检查启动状态,确认配置是否存在问题。

sudo systemctl status keepalived

如果无异常,则显示如下所示:
在这里插入图片描述

3.5 验证

3.5.1 验证配置文件语法

cd /home/wingaso/keepalived/sbin
./keepalived -t -n -p -f=/home/wingaso/keepalived/etc/keepalived/keepalived.conf

-t:仅检查配置文件语法。
-n:不进入后台运行(直接输出错误)。
-f:指定配置文件路径。
如果配置无异常,则输出的结果为

Configuration file is valid
或者
SECURITY VIOLATION - scripts are being executed but script_security not enabled.

第二种输出情况,是因为我们配置了自定义脚本,但未启用脚本执行的安全权限控制,仅是一个警告,实际配置没有异常。
可以考虑增加以下配置(三选一),或者直接忽略该警告。

global_defs {script_security system   # 允许以系统用户身份执行脚本(推荐)# script_security sudo   # 或以 sudo 权限执行(需配置sudo权限)# script_security off    # 或完全关闭安全限制(不推荐)
}

3.5.2 检查ip绑定情况

在Keepalived启动无异常后,输入以下命令检查Vip绑定情况。

ip addr

正常情况下,会在输出中看到对应的Vip1和Vip2。
主机1中,网卡A绑定了Vip1:
在这里插入图片描述
主机2中,网卡D绑定了Vip2:
在这里插入图片描述

3.5.3 测试VIP漂移(主备切换)

3.5.3.1 手动停止主节点的Keepalived

在主机1运行

systemctl stop keepalived

在主机2使用ip addr命令查看Vip情况如下:
在这里插入图片描述
渠道2验证方式同理。

3.5.3.2 模拟健康检查失败

备份原check_ng.sh,然后将check_ng.sh脚本暂时改为强制返回异常。如下

#!/bin/sh
exit 1

之后通过ip addr命令,查看ip浮动情况。

3.5.3.3 通过Vip访问服务
curl http://Vip1:80       # 替换为实际VIP和端口

nginx接收并返回预期结果,则为正常。

3.6 日志检查

检查命令如下:

tail -f /var/log/messages | grep keepalived   # CentOS
tail -f /var/log/syslog | grep keepalived    # Ubuntu

3.7 其他问题

3.7.1 频繁主备切换问题

如网络抖动或检查间隔太短,可能会出现频繁主备切换的情况,此时可通过调大keepalived.conf中的参数 interval(脚本检查间隔) 和 advert_int(主备心跳间隔)解决。


原创,引用请注明。

http://www.dtcms.com/wzjs/171882.html

相关文章:

  • 怎么做网站实惠鹤壁seo推广
  • 网站商城制作百度官网首页官网
  • 淘宝可以在哪些网站上面打做推广百度一下首页网页百度
  • 网站正在建设推广哪个app最挣钱
  • 东莞网站建设公司口碑排名信阳seo推广
  • 专业做网站技术高端企业网站模板
  • 领养网站开发教程java webseo关键词排名技巧
  • 网址站点异常怎么解决网站关键词如何优化上首页
  • 工商注册代理沈阳seo关键词
  • 做游戏的网站有哪些如何注册网址
  • 网站数据库做好了 怎么做网页小时seo百度关键词点击器
  • 网站建设手机官网2022当下社会热点话题
  • 成人自考本科seo文章优化方法
  • 英特尔nuc做网站服务器我想做电商
  • 河南住房和城乡建设厅职称网站app推广怎么做
  • 深圳公司地址变更搜索引擎网站优化和推广方案
  • 怎么创建自己的公司网站网站服务器查询工具
  • 绥芬河网站建设seo外包服务项目
  • h5网页制作基础教程seo的方式包括
  • 公司注册资本多少有什么关系合肥seo搜索优化
  • 网站静态模板下载站外推广渠道有哪些
  • 北京物流网站建设windows7优化大师官方下载
  • 想给公司做个网站怎么做上海网站关键词排名优化报价
  • 珠海品牌机械网站建设百度手机怎么刷排名多少钱
  • WordPress金融网站杭州seo网站哪家好
  • 艺术培训机构浑江区关键词seo排名优化
  • 阿里云1m 宽带做网站服务器百度风云排行榜
  • 深汕特别合作区属于深圳吗上海自动seo
  • 凯里哪里有做网站的网站建设价格
  • 软件工程4大证书百度seo