《Linux运维实战:使用Percona Backup for MongoDB逻辑备份与恢复Mongodb数据》 |
您所在的位置:网站首页 › ubuntu安装mongodb40 › 《Linux运维实战:使用Percona Backup for MongoDB逻辑备份与恢复Mongodb数据》 |
一、备份与恢复方案
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作为存储引擎。 3、当前环境部署的mongodb服务版本是4.2.23,所以只支持逻辑备份,如果使用物理备份,请升级到相应版本。 说明:pbm的物理备份是基于backupCursors feature of PSMDB实现的,这也即意味着要想使用物理备份,你必须使用Percona Server for Mongodb。 二、安装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:[email protected]:27017/?authSource=admin&replicaSet=mongodb_cluster" #2、添加环境变量 [root@localhost ~]# vim /etc/profile export PBM_MONGODB_URI="mongodb://pbmuser:[email protected]:27017/?authSource=admin&replicaSet=mongodb_cluster" [root@localhost ~]# source /etc/profile [root@localhost ~]# echo $PBM_MONGODB_URI mongodb://pbmuser:[email protected]: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 如下图所示: 说明: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/backup2、创建备份目录 [root@localhost ~]# mkdir -p /data/backup [root@localhost ~]# chown mongod.mongod /data/backup -R3、插入配置文件 [root@localhost pkgs]# pbm config --file=/etc/pbm_config.yaml 如下图所示: 3.1、开始备份 [root@localhost ~]# pbm backup3.2、查看备份情况 [root@localhost ~]# pbm list 如下图所示: 3.3、查看备份日志 [root@localhost ~]# pbm --event=backup 如下图所示: 说明:其它操作请参考帮助命令。 3.1、查看备份情况 [root@localhost ~]# pbm list 如下图所示: 3.3、查看恢复日志 [root@localhost ~]# pbm logs --event=restore 如下图所示: 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |