《Linux运维实战:使用Percona Backup for MongoDB备份与恢复Mongodb数据》

news2024/11/20 19:43:27

一、备份与恢复方案

Percona Backup for 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 ~]# pbm --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/76834.html

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

相关文章

linux支持ipv6

1. kernel config [*] Networking support ---> Networking options ---> <*> The IPv6 protocol ---> 2. test 2.1 /proc/net/if_inet6 查看/proc/net/if_inet6文件是否存在以确定你的系统是否支持IPv6。 如果没有&#xff0c;可尝试如下命令加载IPv6模…

磺化氰化物7酪胺Sulfo-Cy7 TSA,Sulfo-Cyanine7 TSA,Sulfo-Cyanine7 Tyramide

Sulfo-Cyanine7 Tyramide&#xff0c;Sulfo-Cy7 TSA&#xff0c;Sulfo-Cyanine7 TSA&#xff0c;磺酸基-花青素Cy7 酪酰胺产品结构&#xff1a; 产品规格&#xff1a; 1.Packaging specification&#xff1a;5mg, 10mg, 25mg, flexible packaging, including 100mg packaging a…

11.AOP之注解配置

1.使用IDEA创建工程 2.引入项目使用的依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.2.RELEASE</version></dependency><depend…

一、计算机网络体系结构(一)计算机网络概述

目录 1.1计算机网络的概念、组成与功能 1.2计算机网络的分类 1.2.1按分布范围分类 1.2.2按传输技术分类 1.2.3按拓扑结构分类 1.2.4按使用者分类 1.2.5按交换技术分类 1.2.6按传输介质分类 1.3计算机网络的主要性能指标 1.1计算机网络的概念、组成与功能 计算机网络的…

PHP单商户视频号对接流程

一、序关联至对应视频号&#xff0c;并在视频号带货直播中使用。 首先&#xff0c;商家需要在微信后台申请自定义版交易组件权限&#xff0c;申请成功后&#xff0c;可以将小程 二、申请开通商户号 等商户号审核之后在操作一下步骤接口调用&#xff08;pro为例&#xff09; 实…

k8s ~ 数据存储、安全认证、DashBoard。

k8s ~ 数据存储。 文章目录k8s ~ 数据存储。8.1 基本存储。8.1.1 EmptyDir。8.1.2 HostPath。8.1.3 NFS。8.2 高级存储。8.2.1 PV。8.2.2 PVC。8.2.3 生命周期。8.3 配置存储。8.3.1 ConfigMap。8.3.2 Secret。9. 安全认证。9.1 访问控制概述。9.2 认证管理9.3 授权管理。9.4 准…

Flink窗口(Flink Window)

上一篇flink watermark讲到Flink 中事件时间和水位线的概念&#xff0c;那它们有什么具体应用呢&#xff1f;当然是做基于时间的处理计算了。其中最常见的场景&#xff0c;就是窗口聚合计算。 之前我们已经了解了 Flink 中基本的聚合操作。在流处理中&#xff0c;我们往…

Neo4j的Java API操作

Neo4j的Java API操作 文章目录Neo4j的Java API操作0. 写在前面1、前置芝士2. 准备工作2.1 为项目引入Neo4j依赖2.2 启动和停止3、Java操作Neo4j4、参考资料0. 写在前面 Linux版本&#xff1a;Ubuntu Kylin 16.04Neo4j版本&#xff1a;Neo4j-3.2.7 CommunityProject Build Tool…

微服务链路追踪SkyWalking(9.2.0)

微服务链路追踪SkyWalking(9.2.0) 链路追踪介绍 对于一个大型的几十个、几百个微服务构成的微服务架构系统&#xff0c;通常会遇到下面一些问题&#xff0c;比如&#xff1a; 如何串联整个调用链路&#xff0c;快速定位问题&#xff1f;如何缕清各个微服务之间的依赖关系&am…

m基于FPGA的GPS收发系统开发,包括码同步,载波同步,早迟门跟踪环,其中L1采用QPSK,L2采用BPSK

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 最早的GPS包含L1和L2两个频段&#xff0c;其中L1上调制CA码&#xff0c;P码以及导航电文&#xff0c;L2上调制P码和导航电文。在实际接收到的GPS信号中&#xff0c;我们除了能够接受到CA码和P码外…

语雀模板测试

Markdown 和快捷键全覆盖 &#x1f4a1; Tips&#xff1a;语雀支持全功能 markdown 语法&#xff0c;可以点击文档编辑页右下角小键盘查看全部支持的语法和快捷键。 支持导入导出 markdown 文件。支持自动识别粘贴的 markdown 格式内容转换为富文本。 行内代码 &#x1f4a1; …

Apache HTTPD 多后缀解析漏洞

Apache HTTPD 支持一个文件拥有多个后缀&#xff0c;并为不同后缀执行不同的指令。比如&#xff0c;如下配置文件&#xff1a; AddType text/html .html AddLanguage zh-CN .cn 其给.html后缀增加了media-type&#xff0c;值为text/html&#xff1b;给.cn后缀增加了语言&…

DBCO四嗪试剂特点整理:Me-Tetrazine-DBCO,甲基-四嗪-二苯并环辛炔

【中文名称】甲基-四嗪-二苯并环辛炔 【英文名称】 Me-Tetrazine-DBCO 【CAS号】N/A 【分子式】C29H24N6O2 【分子量】488.55 【基团】DBCO基团 【纯度】95% 【规格标准】1g&#xff0c;5g&#xff0c;10g&#xff0c;包装灵活&#xff0c;可进行相应的封装。 【是否接受定制…

Linux进程的数据结构

在Linux里面&#xff0c;无论是进程还是线程&#xff0c;到了内核里面统一叫任务&#xff08;task&#xff09;&#xff0c;有一个统一的结构task_struct进行管理。 在程序执行过程中&#xff0c;一旦调用到系统调用&#xff0c;就需要进入内核继续执行&#xff0c;那么讲用户…

5.DI之注解配置

1.编写Spring框架核心配置文件applicationContext.xml 在项目目录“/src/main/resources”下新建applicationContext.xml文件&#xff0c;具体代码如下。 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework…

HashMap1.8也会发生死循环—记录

目录 代码 jstack 分析 什么是哈希表 在讨论哈希表之前&#xff0c;我们先大概了解下其他数据结构在新增&#xff0c;查找等基础操作执行性能 数组&#xff1a;采用一段连续的存储单元来存储数据。对于指定下标的查找&#xff0c;时间复杂度为O(1)&#xff1b;通过给定值进…

web课程设计网页规划与设计:HTML+CSS美妆设计题材——雅诗兰黛(5页)

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

制作移动端整页滚动动画

制作移动端整页滚动动画 需要用到 rem7.5.js(rem适配) pageSlider.js(控制动画的js文件) 基于zepto&#xff0c;引入zepto.js文件 animate.css(动画样式) base.css(公共样式) 下面看一下页面结构 <div class"section sec1"style"background-image:url(./ima…

Java设计模式 - 管道模式

管道模式是责任链模式的常用变种之一&#xff0c;但是管道模式和责任链模式有一个关键的区别&#xff0c;在看一些博客的时候并没有体现出来出来&#xff0c;很多人都把责任链模式当做管道模式来说。 定义 管道模式使用有序的Stage(或者Handler)来顺序的处理一个输入值&#…

以智能视觉驱动智慧出行,看中科创达如何持续深耕汽车市场

当前&#xff0c;360全景环视&#xff08;AVM&#xff09;正在往丰富的ADAS功能、透明底盘功能、不同等级的自动泊车功能等领域拓展&#xff0c;全景环视市场的多元化增长路径已经全面开启。 高工智能汽车研究院监测数据显示&#xff0c;2022年1-9月中国市场&#xff08;不含进…