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

网站有权重但是没访问海外引流推广平台

网站有权重但是没访问,海外引流推广平台,北京软件开发招聘信息,给钱做h事都行的网站名0 说明 panweidb集中式集群为了防止主备切换后应用连接无法切换到新主库,需要配置vip,应用可以只通过该ip与数据库连接,不用感知数据库在哪个节点上。 panweidb中配置 VIP主要依赖 CM 组件的 VIP 仲裁功能,通过回调脚本在主备切换…

0 说明

panweidb集中式集群为了防止主备切换后应用连接无法切换到新主库,需要配置vip,应用可以只通过该ip与数据库连接,不用感知数据库在哪个节点上。

panweidb中配置 VIP主要依赖 CM 组件的 VIP 仲裁功能,通过回调脚本在主备切换时自动完成 VIP 的漂移。当 cm_agent 监测到本地数据库由备升主后,可执行回调脚本或配置参数将 VIP 绑定到本节点;当本地数据库由主降备后,则自动解除该 VIP 的绑定。

注意:

  • 要安装有net-tools依赖包,并为集群用户添加ifconfig权限。
  • VIP(网卡名:DN端口号)不允许被其他非虚拟IP占用
  • 每个节点上cm_resource.json配置文件必须一致。
  • 只支持重启方式加载。
  • 允许配置多个VIP,但是每个实例最多支持6个。
  • 只支持IPV4。

维集中书集群配置vip的总体流程如下:

在这里插入图片描述

1 权限配置

ifconfig提权,修改权限文件/etc/sudoers或执行visudo命令,添加以下内容,为集群用户添加ifconfig权限。

root 用户执行:

# 安装网络工具包
yum install -y net-tools# 编辑/etc/sudoers文件
visudo
在文件中找到 root ALL=(ALL) ALL,在该行下方添加以下内容:
omm ALL=(ALL:ALL) NOPASSWD:/sbin/ip,/usr/sbin/arping,/sbin/iptables,/sbin/ifconfig# 赋予各命令执行权限
chmod u+s /usr/bin/sudo
chmod +x /usr/sbin/ip
chmod +x /usr/sbin/arping
chmod +x /usr/sbin/iptables
chmod +x /usr/sbin/ifconfig

2 添加VIP

有三种方式添加VIP:

  1. 集群安装前配置(推荐)
  2. 回调脚本绑定
  3. CM工具配置

2.1 集群安装前配置

这是在数据库集群未安装的场景下配置VIP,通过 cluster_config.xml配置文件指定 VIP 地址。

关注cluster_config.xml文件中的以下参数:

配置项说明
floatIp虚拟 IP 地址
dataListenIp可选参数,各节点监听 IP,若不配置,则默认使用 backIp1s的值
floatIpMap可选参数,配置 VIP 时需要配置,表示 floatIp 与 dataListenIp 的对应关系,其顺序与 dataListenIp1 的顺序要相互对应

XML示例如下:

正常成功安装好集群后,vip会自动配置好:

2.2 回调脚本绑定

确认网卡信息:

使用数据库安装用户omm,在集群内所有节点的 cm_agent 的配置文件目录下创建 VIP 绑定功能的回调 shell 脚本 cm_callback.sh 文件。

su - omm
cd /database/panweidb/cm/cm_agent
vi cm_callback.sh

添加以下内容,注意根据实际情况调整要绑定的 VIP 网卡名称、广播地址、掩码等参数值:

#!/bin/bash
# -------------------------------------------------------------------------------
# Filename:    cm_callback.sh
# Revision:    1.0
# Date:        2019/10/09
# Description: 
# Notes:       
#      callback 仅实现vip 的 添加和移除        
#              
# -------------------------------------------------------------------------------
# 
# -------------------------------------------------------------------------------readonly cb_name=$1
readonly role=$2
readonly scope=$3VIP=192.168.131.18  # vip 地址
VIPBRD=192.168.131.255 # 广播地址
VIPNETMASKBIT=24   # 掩码
VIPDEV=ens33     # 网络接口名称,vip会绑定到该接口
VIPLABEL=1   # 接口标签,默认为1PING_TIMEOUT=2 # 设置为不高于panweidb.yml配置文件里loop_wait的40%,如果loop_wait设置为10,PING_TIMEOUT建议设置为3,如果loop_wait设置为5,建议设置为2function usage() {echo "Usage: $0 <on_start|on_stop|on_role_change> <role> <scope>";exit 1;
}function addvip(){echo "`date +%Y-%m-%d\ %H:%M:%S,%3N` INFO: /sbin/ip addr add ${VIP}/${VIPNETMASKBIT} brd ${VIPBRD} dev ${VIPDEV} label ${VIPDEV}:${VIPLABEL}"sudo /sbin/ip addr add ${VIP}/${VIPNETMASKBIT} brd ${VIPBRD} dev ${VIPDEV} label ${VIPDEV}:${VIPLABEL}sudo /usr/sbin/arping -q -A -c 1 -I ${VIPDEV} ${VIP}#sudo /sbin/iptables -F}function delvip(){echo "`date +%Y-%m-%d\ %H:%M:%S,%3N` INFO: sudo /sbin/ip addr del ${VIP}/${VIPNETMASKBIT} dev ${VIPDEV} label ${VIPDEV}:${VIPLABEL}"sudo /sbin/ip addr del ${VIP}/${VIPNETMASKBIT} dev ${VIPDEV} label ${VIPDEV}:${VIPLABEL}#sudo /usr/sbin/arping -q -A -c 1 -I ${VIPDEV} ${VIP}#sudo /sbin/iptables -F}#if [[ $cb_name != "on_master_check"  ]]; then
#    echo "`date +%Y-%m-%d\ %H:%M:%S,%3N` WARNING: has callback $cb_name $role $scope"
#ficase $cb_name inon_stop)delvip;;on_start)
if [[ $role == "master" ]]; thenaddvip
fi;;on_role_change)if [[ $role == "master" ]]; thenaddvipelif [[ $role == "slave" ]]||[[ $role == "replica" ]]||[[ $role == "logical" ]]; thendelvipfi;;on_master_check)if [[ $role == "master" ]]; thenvip_status=`/sbin/ip addr|grep ${VIP}`if [[ ${vip_status} == "" ]]; thenecho "`date +%Y-%m-%d\ %H:%M:%S,%3N` WARNING: has callback $cb_name $role $scope"echo "`date +%Y-%m-%d\ %H:%M:%S,%3N` WARNING: The vip was lost,bind vip because i am leader"/usr/bin/ping -I ${VIPDEV} -q -c 3 -W ${PING_TIMEOUT} ${VIP}is_vip_used=$?if [[ $is_vip_used -eq 0 ]]; thenecho "`date +%Y-%m-%d\ %H:%M:%S,%3N` WARNING: The vip bind failed, ${VIP} is in use"elseaddvipfififi;; on_slave_check)if [[ $role == "slave" ]]; thenvip_status=`/sbin/ip addr|grep ${VIP}`if [[ ${vip_status} != "" ]]; thendelvipfifi;;  *)usage;;
esac

给脚本文件赋执行权限,用于在本节点数据库主备角色发生变化时,自动由集群管理服务执行绑定和释放 VIP 的操作:

chmod u+x cm_callback.sh

接下来,修改集群中每个节点的 cm_agent 配置文件cm_agent.conf 中的 callback_bin_path 参数,将cm_callback.sh脚本路径写入到CM配置文件中。

omm用户执行,切换至数据库安装目录,执行如下命令:

cd /database/panwei/cm/cm_agentvi cm_agent.conf
修改内容:
callback_bin_path = /database/panwei/cm/cm_agent/cm_callback.shvi $GAUSSHOME/bin/alarmConfig.conf
修改内容:
callback_bin_path = /database/panwei/cm/cm_agent/cm_callback.sh

使用数据库安装用户 omm 用户重启集群使 VIP 功能的配置生效:

cm_ctl stop
cm_ctl start

查看vip:

主库在结点3.

在主库查看IP:

2.3 CM工具配置

这个方式主要是带CM的数据库集群已安装的场景下配置VIP,通过cm_ctl res命令新增floatIp资源。

在每个节点上用数据库安装用户执行以下命令:

# 新增VIP资源,res_name为资源名称,资源类型resources_type必须指定为VIP,float_ip表示该自定义VIP资源的虚拟ip
cm_ctl res --add --res_name="VIP_az1" --res_attr="resources_type=VIP,float_ip=192.168.131.18"# 编辑各自定义VIP资源VIP_az1,添加节点,node_id表示对应的节点id,res_instance_id用于告知CM绑定的DN实例id,需要与对应的DN实例id对应
cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=1,res_instance_id=6001" --inst_attr="base_ip=192.168.131.14"
cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=2,res_instance_id=6002" --inst_attr="base_ip=192.168.131.15"
cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=3,res_instance_id=6003" --inst_attr="base_ip=192.168.131.16"# 使用cm_ctl res --check命令进行检查
cm_ctl res --check

执行完成后,在/database/panweidb/cm/cm_agent/目录下会生成一个自定义资源配置文件cm_resource.json,示例如下:

{"resources":    [{"name": "VIP_az1","resources_type":       "VIP","instances":    [{"node_id":      1,"res_instance_id":      6001,"inst_attr":    "base_ip=192.168.131.14"}, {"node_id":      2,"res_instance_id":      6002,"inst_attr":    "base_ip=192.168.131.15"}, {"node_id":      3,"res_instance_id":      6003,"inst_attr":    "base_ip=192.168.131.16"}],"float_ip":     "192.168.131.18"}]

使用数据库安装用户 omm 用户重启集群使 VIP 功能的配置生效:

cm_ctl stop
cm_ctl start

3 修改

需要先删除再添加,直接使用edit命令不生效。

在每个数据库节点,使用数据库管理用户执行,删除VIP资源:

cm_ctl res --del --res_name="VIP_az1"

新增VIP资源,res_name为资源名称,资源类型resources_type必须指定为VIP,float_ip表示该自定义VIP资源的虚拟ip:

cm_ctl res --add --res_name="VIP_az1" --res_attr="resources_type=VIP,float_ip=192.168.131.18"

编辑各自定义VIP资源VIP_az1,添加节点,node_id表示对应的节点id,res_instance_id用于告知CM绑定的DN实例id,需要与对应的DN实例id对应:

cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=1,res_instance_id=6001" --inst_attr="base_ip=192.168.131.14"
cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=2,res_instance_id=6002" --inst_attr="base_ip=192.168.131.15"
cm_ctl res --edit --res_name="VIP_az1" --add_inst="node_id=3,res_instance_id=6003" --inst_attr="base_ip=192.168.131.16"

使用cm_ctl res --check命令进行检查:

cm_ctl res --check

check后检查自定义资源配置文件cm_resource.json是否有配置了。

配置无误后重启集群生效。

cm_ctl stop
cm_ctl start

4 删除

删除vip的场景应该不多,除非是配置的VIP与其他IP冲突了。

在每个节点上用数据库安装用户执行以下命令:

cm_ctl res --del --res_name="VIP_az1"
cm_ctl res --check

删除后查看资源提示null:

并且自定义资源配置文件cm_resource.json是空的:

依旧是重启生效。

5 总结

通过以上配置,磐维数据库集中式集群能够实现 VIP 的自动漂移,保障数据库高可用性,简化应用连接管理,提升系统稳定性与可靠性。

此外,对于多中心集群,如果没有额外的硬件网络设施支持,一个VIP无法同时服务于多个中心,所以需要为每个中心或az配置一个VIP。

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

相关文章:

  • 宁波网络推广运营公司电话长沙百度首页优化排名
  • 烟台专业做网站的公司网站推广的方法
  • 网站做编辑赚钱竞价推广账户竞价托管公司
  • 关于网站建设新闻临沂seo公司
  • 阳泉网站建设公司卖友情链接赚钱
  • 西安网站开发培训杭州seo关键词优化公司
  • 中山市网站建设公司深圳网站开发技术
  • 视频网站 移动 模板网络推广都有什么方式
  • 网站开发求职信成都新闻最新消息
  • 网站封面制作实体店怎么引流推广
  • 什么是单页网站宁波抖音seo搜索优化软件
  • 襄阳微网站建设企业网络推广最简单方法
  • 做seo推广网站在线咨询小广告模板
  • 简述网站建设基本流程中文域名的网站
  • 中铁建设集团官方网站产品推广营销
  • sem论坛论坛优化seo
  • 网站建设通知产品代理推广方案
  • 建设银行新版网站上线百度seo优化教程
  • 网站页面结构苏州网站建设制作公司
  • 澳门网站开发招聘今日热点头条
  • 自己做网站怎么挣钱人工智能培训班
  • 网站如何做响应式布局灯塔网站seo
  • 班级网站建设毕业设计开题报告成人教育培训机构
  • 网站建设方案策划书广州网站优化公司
  • java做网站好吗网络广告发布
  • 论坛型网站 建站知乎怎么申请关键词推广
  • net域名大网站推广普通话手抄报内容50字
  • b2b做外贸网站seo关键词外包
  • 湖南手机版建站系统哪家好网页设计模板免费网站
  • 工信部网站备案登录网站开发软件有哪些