《Linux运维实战:MongoDB数据库逻辑备份恢复(方案三)》

news2025/1/11 10:53:03

一、备份与恢复方案

Percona Backup for MongoDB 是一个开源、分布式和低影响的解决方案,用于MongoDB分片集群和副本集的一致备份,不支持单实例mongodb服务。从版本1.7.0开始,Percona Backup for MongoDB支持物理和逻辑备份和恢复,仅支持对逻辑备份进行时间点恢复。

参考官方:Percona Backup for MongoDB版本

Percona Backup for MongoDB兼容以下版本的MongoDB:

1、对于逻辑备份- Percona Server For MongoDB和MongoDB Community v4.0及更高版本,并启用了MongoDB Replication。
2、对于物理备份—Percona Server For MongoDB,从4.2.15-16、4.4.6-8、5.0及更高版本开始,启用MongoDB Replication并配置WiredTiger作为存储引擎。


二、安装PBM工具

参考官方:Installing Percona Backup for MongoDB


2.1、环境信息

《Linux运维总结:Centos7.6部署二进制mongodb4.2.23三节点副本集群》

主机IP操作系统服务名称版本号其它说明
192.168.1.191(主节点)Centos7.6mongodb4.2.23副本集群
192.168.1.192(从节点)Centos7.6mongodb4.2.23副本集群
192.168.1.193(仲裁节点)Centos7.6mongodb4.2.23副本集群

2.2、安装percona-backup-mongodb

说明:当前安装的percona-backup-mongodb版本为2.0.2。

[root@localhost ~]# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@localhost ~]# percona-release enable pbm release
[root@localhost ~]# yum install percona-backup-mongodb -y

2.3、在MongoDB中配置身份验证

1、创建允许对任何资源执行任何操作的角色

db.getSiblingDB("admin").createRole({ "role": "pbmAnyAction",
      "privileges": [
         { "resource": { "anyResource": true },
           "actions": [ "anyAction" ]
         }
      ],
      "roles": []
   });

说明:角色名称可任意设置,如下图所示,即可表示pbmAnyAction角色创建成功。
在这里插入图片描述

2、创建用户并将创建的角色分配给该用户

#2、Create the user and assign the role you created to it
db.getSiblingDB("admin").createUser({user: "pbmuser",
       "pwd": "secretpwd",
       "roles" : [
          { "db" : "admin", "role" : "readWrite", "collection": "" },
          { "db" : "admin", "role" : "backup" },
          { "db" : "admin", "role" : "clusterMonitor" },
          { "db" : "admin", "role" : "restore" },
          { "db" : "admin", "role" : "pbmAnyAction" }
       ]
    });

说明:用户名和密码可任意设置。如下图所示,即可表示pbmuser用户创建成功。
在这里插入图片描述

3、为pbm-agent设置MongoDB连接URL

# 说明:replicaSet=mongodb_cluster为副本集的名称
#1、修改变量文件
[root@localhost ~]# cat /etc/sysconfig/pbm-agent 
PBM_MONGODB_URI="mongodb://pbmuser:secretpwd@192.168.1.191:27017/?authSource=admin&replicaSet=mongodb_cluster"

#2、添加环境变量
[root@localhost ~]# vim /etc/profile
export PBM_MONGODB_URI="mongodb://pbmuser:secretpwd@192.168.1.191:27017/?authSource=admin&replicaSet=mongodb_cluster"
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PBM_MONGODB_URI
mongodb://pbmuser:secretpwd@192.168.1.191:27017/?authSource=admin&replicaSet=mongodb_cluster

2.4、开启备份监听的agent

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start pbm-agent
[root@localhost ~]# systemctl status pbm-agent

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


2.5、配置备份目的地

说明:pbm备份支持AWS s3存储类型、Microsoft Azure Blob存储类型、和本地文件系统。如下图所示:

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


1、创建配置文件

#1、创建配置文件
[root@localhost ~]# touch /etc/pbm_config.yaml
[root@localhost ~]# cat  /etc/pbm_config.yaml 
storage:
  type: filesystem
  filesystem:
    path: /data/backup

2、创建备份目录

[root@localhost ~]# mkdir -p /data/backup
[root@localhost ~]# chown mongod.mongod /data/backup -R    

3、插入配置文件

[root@localhost pkgs]# pbm config --file=/etc/pbm_config.yaml

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


三、备份操作

3.1、开始备份

[root@localhost ~]# pbm backup

3.2、查看备份情况

[root@localhost ~]# pbm list

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

3.3、查看备份日志

[root@localhost ~]# --event=backup

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

说明:其它操作请参考帮助命令。
在这里插入图片描述


四、恢复操作

3.1、查看备份情况

[root@localhost ~]# pbm list

如下图所示:
在这里插入图片描述
3.2、开始恢复

[root@localhost ~]# pbm restore 2022-12-09T11:55:43Z

3.3、查看恢复日志

[root@localhost ~]# pbm logs --event=restore

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


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/76551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络—各层协议极其作用

文章目录应用层传输层网络层链路层物理层————————————————————————————————应用层 (1)应用层:直接为用户的应用进程提供服务。第三方自定义协议(HTTP协议,支持电子邮件发送的SMTP协议…

Metal每日分享,LUT查找滤镜效果

本案例的目的是理解如何用Metal实现LUT颜色查找表滤镜,通过将颜色值存储在一张表中,在需要的时候通过索引在这张表上找到对应的颜色值,将原有色值替换成查找表中的色值; 总结就是一种针对色彩空间的管理和转换技术,LUT 就是一个 …

【MySQL】深入理解隔离性

文章目录多版本并发控制(MVCC)如何解决读-写并发undo 日志模拟MVCC过程select读取版本隔离性的实现为什么要有隔离级别快照(read view)可重复读(RR)与读提交(RC)的本质区别多版本并发控制(MVCC) 多版本并发控制(MVCC)是一种用来解决读写冲突的无锁并发控…

[附源码]计算机毕业设计教务管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java银行管理系统275d1

要开始我们毕业设计的第一步的关键就是选好我们的课题,有的同学开始选题的时候想着按照传统的课题延续下去,在设计题目时,不要过于笼统广泛,选择题目其实并不难,要多从自身的角度出发,要结合你们当前所处的…

Briefings in Bioinformatics2021 | DLGN+:基于GAN和强化学习的分子从头双目标性质生成

论文标题:De novo generation of dual-target ligands using adversarial training and reinforcement learning 论文地址:https://academic.oup.com/bib/article/22/6/bbab333/6354720 代码:https://github.com/lllfq/DLGN 一、模型结构 …

数学基础从高一开始3、集合的基本运算

目录 复习内容: 并集的概念 你能用符号语言和图形语言表示并集这个集合吗? 例1:求并集 例2:求并集 符号解析: 例3: 交集的概念 例4: 例5: 例6: 思考题: 作业&#xff…

20221209在Ubuntu22.04下读取苹果分区APFS的步骤

20221209在Ubuntu22.04下读取苹果分区APFS的步骤 缘起:公司的新来的美工要清理MAC电脑。 由于忘记管理员密码?于是备份文件,重装系统! 于是通过固态硬盘盒子将2TB的M2接口的固态硬盘SSD格式化为APFS,这样MAC电脑就可…

2022下半年软考成绩即将公布,预约查分提醒,查分快人一步

距离2022下半年考试已经过去一个多月了,大家都在焦急的等待软考成绩查询。根据往年情况来看,软考成绩查询时间并不是固定的一个时间点,不过可以大致预测下应该是在12月中/下旬左右开放成绩查询,具体情况以官方公告为准。 历年软考…

玩以太坊链上项目的必备技能(类型-引用类型-Solidity之旅三)

在前文我们讲述了值类型,也就说再修改值类型的时候,每次都有一个独立的副本,如:string 类型的状态变量,其值是无法修改,而是拷贝出一份该状态的变量,将新值存起来。对于处理稍微复杂地值类型时&…

2022最新性能测试面试题(带答案)

一、性能测试开展过程: 答:第一步:找产品沟通哪些接口需要压测,需要达到什么样的预期值(TPS和响应时间) 第二步:编写测试计划,人员、时间周期、工具 第三步:环境搭建 第四步:造数…

计算机操作系统

并行和并发的区别与联系? 【并发】 多个任务交替执行 计算机在运行过程中,有很多指令会涉及 I/O 操作,而 I/O 操作又是相当耗时的,速度远远低于 CPU,这导致 CPU 经常处于空闲状态,只能等待 I/O 操作完成后…

springboot项目如何启用arthas

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到&#xff…

HTML网页设计:爱护动物题材——保护动物大象(6页) HTML网页设计结课作业 web课程设计网页规划与设计 网页设计成品DW静态网页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

scConverter 文档转换 DLL / SDK

scConverter 转换 DLL / SDK scConverter 是一个DLL,可以将PDF、DWF、Gerber、CGM、TIFF、CALS、PLT、PNG和JPEG文件转换为大量输出格式。可用的输出格式列表包括Adob​​e PDF、PDF/A、DXF、DWF、CALS、TIFF、PLT和PNG。您将在下面找到所有可用输入和输出格式的完整…

R语言用向量自回归(VAR)进行经济数据脉冲响应研究分析

自从Sims(1980)发表开创性的论文以来,向量自回归模型已经成为宏观经济研究中的关键工具。最近我们被客户要求撰写关于向量自回归(VAR)的研究报告,包括一些图形和统计输出。这篇文章介绍了VAR分析的基本概念…

Java高级——后端编译与优化

后端编译与优化解释器和编译器编译器即时编译器分层编译热点代码热点探测计数器编译过程查看及分析即时编译结果提前编译器jaotc的提前编译后端编译优化总览优化演示方法内联(最重要的优化技术之一)逃逸分析(最前沿的优化技术之一&#xff09…

15. 过拟合和欠拟合

1. 过拟合和欠拟合 当数据比较简单时,使用模型容量低的模型更好,否则使用高的会出现过拟合。如果是复杂的数据用到简单模型上会出现欠拟合,用到复杂模型上是正常的。 2. 模型容量 模型容量:拟合各种函数的能力 低容量的模型难以…

Springboot+Easyexcel:导出excel表格

常规导出 常规导出excel有两种,个人比较推荐第一种: 1、新建一个导出数据的实体类,用ExcelProperty()注解标明excel中列的中文名称;如果实体的类某些列不想导出,可以使用ExcelIgnore进行忽略就可以了。 2、使用easyexc…

彻底理解Python中浅拷贝和深拷贝的区别

目录 前言 1. 浅拷贝和深拷贝的概念 2. is和的区别 3. 赋值操作 4. copy模块里面的copy()方法 5. copy模块里面的deepcopy()方法 6.字典自带的copy方法 7.切片表达式拷贝 前言 Python 的所有变量其实都是指向内存中的对象的一个指针,这确实和之前学过的强类…