《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

ops/2024/12/22 2:37:17/

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


mongodb.com/zh-cn/docs/manual/tutorial/backup-sharded-cluster-with-database-dumps/" rel="nofollow">一、备份说明

1、要使用mongodump备份分片集群,您必须 停止负载均衡器 停止写入,避免备份的数据出现状态不一致问题。
2、从MongoDB7.0.2开始(也可以从6.0.11和5.0.22开始使用),fsync和fsyncUnlock命令可以在mongos上运行,以锁定和解锁分片集群。


二、备份步骤

2.1、查找备份窗口(路由节点)

说明、要找到执行备份的好时机,请监控应用程序和数据库的使用情况,以找到不太可能发生数据块迁移、重分片和模式转换操作的时间。

负载均衡默认是开启的,为了避免chunk迁移影响线上业务,可以通过设置迁移执行窗口,例如只允许凌晨02:00~06:00期间进行迁移。

# 连接其中一个路由节点
use config
db.settings.updateOne({ _id : "balancer" },{ $set : { activeWindow : { start : "02:00", stop : "06:00" } } },true
)
db.settings.find({ _id: "balancer" })

如下图所示:
在这里插入图片描述

总结、此操作将负载均衡器配置为在服务器时间上午02:00到晚上06:00之间运行。 安排备份操作在此时间之外运行和完成。 确保当负载均衡器正在运行时,备份可以在窗口外完成,并且负载均衡器可以在分配给每个分片的窗口中有效地平衡分片之间的集合。


2、假设你希望恢复到默认的活动窗口设置(例如,不启用活动窗口限制),你可以再次使用updateOne命令:

use config
db.settings.updateOne({ _id : "balancer" },{ $unset : { activeWindow : "" } },{ upsert: true }
)
db.settings.find({ _id: "balancer" })

2.2、停止负载均衡器(路由节点)

为防止数据块迁移干扰备份,请连接到其中一个路由节点并使用 sh.stopBalancer() 方法停止负载均衡器:

[direct: mongos] test> sh.isBalancerRunning().mode
[direct: mongos] test> sh.stopBalancer()
[direct: mongos] test> sh.isBalancerRunning().mode
off

如果返回值为off,则表示已经关闭,如下图所示:
在这里插入图片描述


2.3、锁定集群(分片节点)

说明:路由节点、配置节点不需要锁定,分片节点需要锁定。分片节点通过主节点进行锁定,锁定完成后,需要在路由节点确认锁定集群。

1、未锁定集群前,路由节点查看锁定情况

[direct: mongos] test> db.getSiblingDB("admin").aggregate( [{  $currentOp: { } },{</

http://www.ppmy.cn/ops/119682.html

相关文章

YOLO11震撼发布!

非常高兴地向大家介绍 Ultralytics YOLO系列的新模型&#xff1a; YOLO11&#xff01; YOLO11 在以往 YOLO 模型基础上带来了一系列强大的功能和优化&#xff0c;使其速度更快、更准确、用途更广泛。主要改进包括 增强了特征提取功能&#xff0c;从而可以更精确地捕捉细节以更…

GO网页自动回复机器人源码

源码名称&#xff1a;网页自动回复机器人源码 源码介绍&#xff1a;一款网页自动回复机器人源码&#xff0c;是一款集自动回复、默认消息设置、自定义 API 接口调用于一体的智能网页机器人。它采用高效稳定的 Golang 作为后端开发语言&#xff0c;运行时内存占用极小&#xff…

uniapp实现图片上下浮动效果

实现效果 图片以Y轴进行上下浮动 实现代码 <template><view class"header"><view class"image-center"><image src"../../static/image/index_center.png" class"centers"></image></view><…

第十章 MySQL主从复制搭建Docker版

目录 1.新建主服务器容器示例3307 2. 进入/mydata/mysql-master/conf目录下创建my.cnf配置 3.修改完配置后重启master实例 4.进入mysql-master容器 5.master容器实例内创建数据同步的用户 6.新建从服务器容器实例3308 7.进入/mydata/mysql-slave/conf目录下新建my.c…

汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”

汽车革命的上半场是电动化&#xff0c;下半场是智能化&#xff0c;这是全球汽车产业普遍认同的观点。当前&#xff0c;我国汽车产业已经在电动化上半场取得了显著成效&#xff0c;在下半场智能化的全球战场能否胜出&#xff0c;关键看车企的创新意愿和研发实力。 在2024年9月1…

未解决的题目1.leetcode.2306.公司命名

目录 题目 怎么删除字符串的首字母 1.使用 string::erase 哈希中的碰撞冲突 3.1 线性探测法 3.2 链地址法 3.3 再哈希法 3.4 … 哈希函数的设计 4.1 更大的哈希表 4.2 更好的哈希运算 题目 给你一个字符串数组 ideas 表示在公司命名过程中使用的名字列表。公司命名…

滚雪球学Oracle[7.1讲]:Oracle云数据库

全文目录&#xff1a; 前言0. 上期回顾1. Oracle云数据库简介1.1 Oracle Cloud Infrastructure&#xff08;OCI&#xff09;的详细解析1.2 云数据库的架构与服务模型1.3 云数据库的安全性与合规性管理 2. 云数据库的部署与管理2.1 OCI上的自动化数据库部署与扩展2.2 使用OCI控制…

嵌入式项目:STM32平衡车详解 (基础知识篇) (基于STM32F103C8T6)

前言&#xff1a; 本文是基于B站草履虫编写的平衡车相关内容&#xff0c;包括模块和基础知识&#xff0c;结合代码进行讲解&#xff0c;将知识进行汇总 &#xff08;由于本篇内容较长&#xff0c;请结合目录使用) 注&#xff1a;基于开源精神&#xff0c;本文仅供学习参考 目…