备份MongoDB Kubernetes每个数据库环境应该需要一个健壮的备份策略作为它的一个基本要求,运行一个成功的、健壮的数据库。无论数据库的大小,应用程序的功能,或者一个公司技术先进,如何备份现在要求每一个人。

解决方案工程师,我们讲数据库用户从所有类型的企业,从创业到今天最复杂的数据库环境中被使用。有趣的是,当谈到备份,我们听到一些有关的话,比如“我们过去从未使用过备份,所以我们不需要他们在这个新的环境”、“云服务”永远不会失败(提示-他们做了),和“这个集群太大而不能倒闭。“这是从来没有一个问题,直到事情发生在你的环境和你无法恢复数据,把整个公司面临风险。

采用数据库Kubernetes(美丽)和其他原生云平台无疑是在上升。有很多工具和方法对k8部署MongoDB。假设你已经启动并运行MongoDB k8,如何实现一个备份策略?这可能是一种有益的容易出错的,手工工作。您需要配置美丽从头开始工作,配置mongodump及其所有参数,设置一个PersistentVolume,附带的声明。另外,你需要照顾你的PersistentVolume耐久性。流媒体远程存储或备份一些呢,处理一个复杂的备份,分片集群?

有免费的工具,帮助您简化整个MongoDB k8部署过程,包括备份。备份不需要的关键特性,实现既不花你一分钱。雷竞技下载官网MongoDB Percona提供以下免费企业级解决方案:

让我们来探讨如何采取和恢复备份使用弹性Kubernetes PSMDB运营商部署在AWS服务(AWS的)。

体系结构

当部署在美丽之外,PBM需要pbm-agent进程运行在每个节点(旁边mongod实例)在集群/副本集。PBM使用它自己的“控制集合”在管理数据库来存储配置和继电器命令从用户(使用“PBM CLI) pbm-agent流程。PBM的备份是“逻辑”风格,mongodump一样。这意味着数据复制使用数据库驱动程序连接而不是复制底层数据文件在磁盘上。

当你使用PSMDB运营商部署集群PSMDB pbm-agent自动部署在每个吊舱的双轮马车旁边的容器mongod容器。PSMDB运营商将命令写入PBM直接控制集合(在某种程度上,取代什么以外的k8部署PBM CLI)控制整个备份过程。PSMDB运营商支持两种类型的备份:按需和定期备份,都被控制完全由PSMDB算子。

PSMDB运营商采取的备份可以存储在S3兼容存储,AWS S3,谷歌云存储,或在本地部署进行MinIO存储。备份包含一个元数据文件,从您的数据库转储的集合,一个oplog转储备份的时间间隔。

配置

我们有一个运行PSMDB副本设置部署PSMDB运营商AWS的k8集群。请注意,我们使用PSMDB运营商v1.4.0(目前最新的版本写的文章)。部署它,我们跟着这些指令并使用所有缺省设置。

检查您的PSMDB集群是否正确:

访问的秘密:部署/ backup-s3.yaml

让我们开始通过添加AWS访问和秘密访问键。操作员将使用这些键访问S3 bucket(云供应商都有不同的方法分配这些键)。的钥匙放入k8秘密必须base64编码。你可以通过运行编码你的钥匙回声- - - - - -nYOUR_KEY|base64在bash CLI:

创建一个秘密在k8集群中使用下面的命令:

S3 bucket:部署/ cr.yaml

接下来,我们需要编辑存储部分部署/ cr。yamlfile so we can send our backups to an S3 bucket.

应用的变化:

我们现在准备采取备份!

按需备份

按需备份可以在任何时候。Pbm-control工具分布与操作员代码。基于请求的细节,它将使用预先配置的存储来存储备份。

让我们先从编辑部署/备份/备份。yamlto ensure we are all set. psmdbCluster should match our cluster name andstorageName存储在前面的步骤中定义。

备份运行以下命令:

如果一切都已正确设置,备份应该上传到S3 bucket。检查它的状态运行:

如果你看看你的S3 AWS控制台,您应该看到备份文件:

自动备份

第二种类型的备份是备份计划。备份:任务的部署/ cr。yamlfile can be edited to schedule fully automatically executed backups. We can configure backups using the UNIX cron string format. Let’s say we want to take backups every day at midnight. Let’s edit the deploy/cr.yaml file:

应用的变化:

恢复备份

恢复备份,我们需要找到备份的名字。我们可以获得一个列表的所有备份使用以下命令:

备份恢复配置部署/备份/ restore.yaml。让我们确保有适当的备份指定的名称:

恢复备份,我们执行以下命令:

检查备份使用现状:

雷竞技下载官网Percona Kubernetes运营商对MongoDB使用MongoDB Percona备份是Kubernetes-idiomatic运行方式,备份和恢复MongoDB副本集。如果你想了解更多关于这些工具,看看我们文档。


了解更多关于甲骨文的历史,MongoDB的成长,真正有资格作为开放源码软件。如果你是一个DBA或执行希望采用与MongoDB或更新,这是一个必读!

下载“MongoDB新甲骨文呢?”

2评论
最古老的
最新的 大多数投票
内联反馈
查看所有评论
Kannan

我需要PSMDB Mongo community edition运营商收回?我怎么能推回到azure存储?

mmnosek

Kannan你好,谢谢你的评论!

雷竞技下载官网Percona备份可以独立使用MongoDB的PSMDB算子。也可以使用MongoDB Community Edition。自从v1.5.0可以直接使用Azure Blob存储的远程备份存储。更多细节在这里:https://docs.雷竞技下载官网percona.com/percona-backup-mongodb/storage-configuration.html azure