集群down机的应急和恢复测试(非重做备机)
1. 集群的两台服务器的状态
实例 | 正常情况主备 | ip | 端口 |
node1 | 主机 | 192.168.6.6 | 9088 |
node2 | 备机 | 192.168.6.7 | 9088 |
2. 测试的步骤
- down掉node1
- 观察node2的状态
- 在node2未自动切换的时候手动将node2调整为单机状态,模拟紧急使用
- 模拟不紧急时,将node2升级为主机,并恢复节点node1
3. 主机down机后手动操纵备机使备机快速进入可使用状态
[gbasedbt@node01 install]$ onstat -g dri
On-Line (Prim) -- Up 00:16:11 -- 1650580 KbytesData Replication at 0x4cf1a028:Type State Paired server Last DR CKPT (id/pg) Supports Proxy Writesprimary on node2 9 / 1 NADRINTERVAL 0DRTIMEOUT 30DRAUTO 0DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfoundDRIDXAUTO 0ENCRYPT_HDR 0Backlog 0Last Send 2024/06/17 22:01:20Last Receive 2024/06/17 22:01:20Last Ping 2024/06/17 22:01:05Last log page applied(log id,page): 9,2[root@node01 GBASE]# onstat -
On-Line (Prim) -- Up 00:14:11 -- 1650580 Kbytes[root@node01 GBASE]# su - gbasedbt
上一次登录:一 6月 17 21:45:54 CST 2024pts/0 上
[gbasedbt@node01 ~]$ onclean -ky
onclean: Cleaning up processes and resources for 'node1'...- Looking for the master daemon process: 13760- Looking for the shmem key: 52934803- Looking for the shmem key: 52934804- Looking for semaphore ID: 10- Looking for the shmem key: 52934801- Looking for the shmem key: 52934802
[gbasedbt@node01 ~]$
--主备集群之间由健康检查判断集群是否正常,由于心跳检查是多次连接,每次连接之间有数秒的间隔,所以主机down到备机切换之间有健康检查时间,这段时间备机显示集群是正常的
[gbasedbt@node02 ~]$ onstat -g dri
Read-Only (Sec) -- Up 00:01:22 -- 1635008 KbytesData Replication at 0x4c13d028:Type State Paired server Last DR CKPT (id/pg) Supports Proxy WritesHDR Secondary on node1 9 / 1 NDRINTERVAL 0DRTIMEOUT 30DRAUTO 0DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfoundDRIDXAUTO 0ENCRYPT_HDR 0Backlog 0Last Send 2024/06/17 22:02:04Last Receive 2024/06/17 22:02:04Last Ping 2024/06/17 22:01:59Last log page applied(log id,page): 0,0
- 本次模拟主机down机,备机还没有发现的情况下,将备机恢复使用
[gbasedbt@node02 ~]$ onstat -g dri
Read-Only (Sec) -- Up 00:01:22 -- 1635008 KbytesData Replication at 0x4c13d028:Type State Paired server Last DR CKPT (id/pg) Supports Proxy WritesHDR Secondary on node1 9 / 1 NDRINTERVAL 0DRTIMEOUT 30DRAUTO 0DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfoundDRIDXAUTO 0ENCRYPT_HDR 0Backlog 0Last Send 2024/06/17 22:02:04Last Receive 2024/06/17 22:02:04Last Ping 2024/06/17 22:01:59Last log page applied(log id,page): 0,0[gbasedbt@node02 ~]$ onstat -
Read-Only (Sec) -- Up 00:01:55 -- 1635008 Kbytes[gbasedbt@node02 ~]$ onmode -d standard
[gbasedbt@node02 ~]$ onstat -
On-Line -- Up 00:02:21 -- 1635008 Kbytes
4. 备机变成单机状态后需要升为主机并恢复集群
[gbasedbt@node02 ~]$ onmode -d primary node1
[gbasedbt@node02 ~]$ onstat -
On-Line (Prim) -- Up 00:02:38 -- 1635008 Kbytes
--node1节点执行oninit -PHY执行物理日志恢复
[gbasedbt@node01 node1_dbs]$ oninit -PHY
[gbasedbt@node01 node1_dbs]$ onstat -m
Fast Recovery -- Up 00:00:13 -- 1650580 KbytesMessage Log File: /opt/GBASE/gbase/tmp/online_node1.log
06/17/24 22:49:31 SQL_FEAT_CTRL value set to 0x8008
06/17/24 22:49:31 SQL_DEF_CTRL value set to 0x4b0
06/17/24 22:49:31 GBase Database Server Version 12.10.FC4G1AEE Software Serial Number AAA#B000000
06/17/24 22:49:32 GBase Database Server Initialized -- Shared Memory Initialized.06/17/24 22:49:32 Started 1 B-tree scanners.
06/17/24 22:49:32 B-tree scanner threshold set at 5000.
06/17/24 22:49:32 B-tree scanner range scan size set to -1.
06/17/24 22:49:32 B-tree scanner ALICE mode set to 6.
06/17/24 22:49:32 B-tree scanner index compression level set to med.
06/17/24 22:49:32 DR: Reservation of the last logical log for log backup turned on
06/17/24 22:49:32 Data replication type and state information reset. To start DR, usethe 'onmode -d' command and wait for the pair to be operational,before shutting down the database server06/17/24 22:49:32 Physical Recovery Started at Page (3:394).
06/17/24 22:49:32 Physical Recovery Complete: 0 Pages Examined, 0 Pages Restored.
06/17/24 22:49:32 Dataskip is now OFF for all dbspaces
06/17/24 22:49:32 Restartable Restore has been ENABLED
06/17/24 22:49:32 Recovery Mode
--查看节点,发现为快速恢复阶段
[gbasedbt@node01 node1_dbs]$ onstat -
Fast Recovery -- Up 00:00:21 -- 1650580 Kbytes--将node1节点当成备机加入节点
[gbasedbt@node01 node1_dbs]$ onmode -d secondary node2
[gbasedbt@node01 node1_dbs]$ onstat -
Read-Only (Sec) -- Up 00:02:04 -- 2188180 Kbytes[gbasedbt@node01 node1_dbs]$ onstat -g dri
Read-Only (Sec) -- Up 00:04:31 -- 2188180 KbytesData Replication at 0x4cf1a028:Type State Paired server Last DR CKPT (id/pg) Supports Proxy WritesHDR Secondary on node2 9 / 5 NDRINTERVAL 0DRTIMEOUT 30DRAUTO 2DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfoundDRIDXAUTO 0ENCRYPT_HDR 0Backlog 0Last Send 2024/06/17 22:50:42Last Receive 2024/06/17 22:50:44Last Ping 2024/06/17 22:53:35Last log page applied(log id,page): 0,0
相关文章:
集群down机的应急和恢复测试(非重做备机)
1. 集群的两台服务器的状态 实例 正常情况主备 ip 端口 node1 主机 192.168.6.6 9088 node2 备机 192.168.6.7 9088 2. 测试的步骤 down掉node1观察node2的状态在node2未自动切换的时候手动将node2调整为单机状态,模拟紧急使用模拟不紧急时࿰…...

【数据库系统概论复习】关系数据库与关系代数笔记
文章目录 基本概念数据库基本概念关系数据结构完整性约束 关系代数关系代数练习课堂练习 语法树 基本概念 数据库基本概念 DB 数据库, 为了存用户的各种数据,我们要建很多关系(二维表),所以把相关的关系(二…...

赛氪网受邀参加上海闵行区翻译协会年会,共探科技翻译创新之路
在科技飞速发展的时代背景下,翻译行业正面临着前所未有的机遇与挑战。作为连接高校、企业与社会的桥梁,赛氪网在推动翻译创新、促进学术交流方面展现出了独特的魅力。2024年6月9日,在华东师范大学外语学院举办的第十三届上海市闵行区翻译协会…...

项目管理进阶之EVM(挣值管理)
前言 项目管理进阶系列,终于有时间更新啦!!!欢迎持续关注哦~ 上一节博主重点讲了一个环:PDCA,无论各行各业,上到航空航天、下到种地种菜,都离不开对质量的监督和改进。这个环既是一…...
PLSQL、Oracle以及客户端远程连接服务器笔记(仅供参考)
1.PLSQL参考链接: 全网最全最细的PLSQL下载、安装、配置、使用指南、问题解答,相关问题已汇总-CSDN博客文章浏览阅读2.9w次,点赞98次,收藏447次。双击之后,这里选择安装目录,你安装目录选的哪里࿰…...

Win快速删除node_modules
在Windows系统上删除 node_modules 文件夹通常是一个缓慢且耗时的过程。这主要是由于几个关键因素导致的: 主要原因 文件数量多且嵌套深: node_modules 文件夹通常包含成千上万的子文件夹和文件。由于其结构复杂,文件和文件夹往往嵌套得非常…...
【机器学习】基于顺序到顺序Transformer机器翻译
引言 1.1 序列到序列模型详解 序列到序列(Seq2Seq)模型是深度学习中处理序列数据转换问题的关键架构。在自然语言处理(NLP)任务中,如机器翻译、文本摘要和聊天机器人等,Seq2Seq模型能够高效地将输入序列转换为期望的输出序列。 模型架构: 编…...
TEA 加密的 Java 实现
import java.nio.ByteBuffer; import java.nio.ByteOrder;public class TeaUtils {private static final int DELTA 0x9E3779B9;private static final int ROUND 32;private static final String KEY "password";/*** 加密字符串,使用 TEA 加密算法*/p…...
鸿蒙开发电话服务:【@ohos.telephony.data (蜂窝数据)】
蜂窝数据 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import data from ohos.telephony.data;data.getDefaultCellularDataSlotId getDefaultCellularDataSlotId(callback: Async…...

Maven认识与学习
1. Maven介绍 1.2 初识Maven 1.2.1 什么是Maven Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 官网:Maven – Welcome to Apache Maven Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受…...

“深入探讨Redis主从复制:原理、配置与优化“
目录 # 概念 1. 配置主从同步步骤 1.1 创建文件夹 1.2 复制配置文件 1.3 配置文件关闭 1.4 查看端口号,发现端口号存在 1.5 连接三个端口号 1.6 查看主机运行情况 1.7 让服务器变成(主机)或(从机) 1.8 实现效…...

HTML初体验
可参考jd.com官网,ctrlu查看当前页面源代码 找到你的项目,在项目中创建html类型的网页文件 标准的HTML正确书写格式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title&…...

全局特征提取netvlad的理解
...

【设计模式-12】代理模式的代码实现及使用场景
&emsp;代理模式是一种应用很广发的结构性设计模式,它的设计初衷就是通过引入新的代理对象,在客户端和目标对象之间起到中介的作用,从而实现控制客户端对目标对象的访问,比如增强或者阉割某些能力。 1. 概述 代理模…...
网工内推 | 神州数码、弧聚科技网工,IE认证优先,最高18K
01 神州数码 🔷招聘岗位:高级网络工程师 🔷岗位职责: 1)提供7*24小时一线运维技术服务,如因应急故障处理应15分钟内到达现场。 2)提供设备的告警信息的分析处理及与故障问题定位服务。 3)完成数据中心网络和HPC超算…...

【Linux】模拟实现一个简单的日志系统
👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…...

MongoDB 多层级查询
多层级查询 注意:要注意代码顺序 查询层级数据代码放前面,查询条件放后面 if (StringUtils.isBlank(params.getDocType())) {params.setDocType(DOC_TDCTYPE);}String docName mapper.findByDocInfo(params.getDocType());List<ExpertApprovalOpin…...

grpc代理服务的实现(一)
最近公司需要无感知基于服务代号来实现通信, 并监控和管理通信连接,目前公司使用的是如下的逻辑(当然逻辑简化了,但是思想不变) 目录 简单的原理图代理服务的实现创建 tls tcp 服务, 用于grpc client 和 grpc service 通信保存 与 代理服务建立的 grpc …...

FastAPI系列 4 -路由管理APIRouter
FastAPI系列 -路由管理APIRouter 文章目录 FastAPI系列 -路由管理APIRouter一、前言二、APIRouter使用示例1、功能拆分2、users、books模块开发3、FastAPI主体 三、运行结果 一、前言 未来的py开发者请上座,在使用python做为后端开发一个应用程序或 Web API&#x…...

数据驱动制造:EMQX ECP 指标监测功能增强生产透明度
迈向未来的工业生产,需要的不仅是自动化,更是智能化。如果工业企业的管理者能够实时监测每一生产环节的设备运行状态,每一数据点位情况,洞察和优化每一步生产流程,他们将能够做出更精准的决策,提高生产效率…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...