初始设置¶
在你为MongoDB安装雷竞技下载官网Percona Backup的每个服务器上mongod不是仲裁节点的节点,设置步骤如下:
安装和设置步骤如下图所示:

在MongoDB中配置身份验证¶
雷竞技下载官网Percona Backup for MongoDB使用MongoDB的认证授权子系统。这意味着要为MongoDB验证Percona Backup,您需雷竞技下载官网要:
创建pbm用户¶
创建允许对任何资源执行任何操作的角色。
db.getSiblingDB(“admin”).createRole({“角色”:“pbmAnyAction”,“特权”:[{“资源”:{“anyResource”:真正的},“行动”:[“必有”]}),“角色”:[]});创建用户并将创建的角色分配给该用户。
db.getSiblingDB(“admin”).createUser({用户:“pbmuser”,“pwd”:“secretpwd”,“角色”:[{“数据库”:“admin”,“角色”:“读写”,“收集”:""},{“数据库”:“admin”,“角色”:“备份”},{“数据库”:“admin”,“角色”:“clusterraybet雷竞技竞猜在线官网Monitor”},{“数据库”:“admin”,“角色”:“恢复”},{“数据库”:“admin”,“角色”:“pbmAnyAction”}]});
您可以指定用户名而且密码属性的值和其他选项createUser只要授予上面所示的角色,就可以根据需要进行命令。
创建pbm每个副本集上的用户。在一个分片集群中,这意味着在每个分片副本集和配置服务器副本集上。
提示
使用实例查询集群中所有分片副本集的主机+端口列表。
db.getSiblingDB(”配置”).碎片.找到({},{”宿主”:真正的,”_id”:假})
的复制集名称前面这些“主机”字符串将必须放置为“/?”replicaSet=xxxx "参数在连接URI的参数部分(见下面)。
为设置MongoDB连接URIpbm-agent¶
一个pbm-agent进程连接到其本地主机mongod具有独立连接类型的节点。
设置MongoDB URI连接字符串意味着配置一个服务初始化脚本(pbm-agent.serviceSystemd单元文件)pbm-agent.
的pbm-agent.serviceSystemd单元文件包括环境文件。的MongoDB URI连接字符串PBM_MONGODB_URI的环境文件中的变量pbm-agent.
如何找到环境文件
环境文件的路径在pbm-agent.serviceSystemd单元文件。
在Ubuntu和Debian中,pbm-agent。服务系统单元文件is at the path/lib/systemd/system/pbm-agent.service.
在Red Hat和CentOS中,此文件的路径为/usr/lib/systemd/system/pbm-agent.service.
pbm-agent示例。服务系统单元文件
[单位]说明=pbm-agent后=time-sync。目标网络。target [Service] EnvironmentFile=-/etc/default/pbm-agent Type=simple User=pbm Group=pbm PermissionsStartOnly=true ExecStart=/usr/bin/pbm-agent [Install] WantedBy=multi-user.target
编辑环境文件/etc/default/pbm-agent的MongoDB连接URI字符串pbm用户到本地mongod节点。
例如,如果mongod节点监听27018端口,MongoDB连接的URI字符串将如下:
PBM_MONGODB_URI = " mongodb: / / pbmuser: secretpwd@localhost: 27018 / ?authSource = admin”
编辑环境文件/etc/sysconfig/pbm-agent的MongoDB连接URI字符串pbm用户到本地mongod节点。
例如,如果mongod节点监听27018端口,MongoDB连接的URI字符串将如下:
PBM_MONGODB_URI = " mongodb: / / pbmuser: secretpwd@localhost: 27018 / ?authSource = admin”
为每一个配置服务初始化脚本pbm-agent.
特殊字符密码¶
如果密码包含特殊字符,如#,@,/等等,必须使用百分比编码机制当它们传递给Percona备份MongoD雷竞技下载官网B。例如,密码秘密# pwd应该像下面这样传进去吗PBM_MONGODB_URI:
PBM_MONGODB_URI = " mongodb: / / pbmuser:秘密% 23 pwd@localhost: 27018 / ?authSource = admin”
为设置MongoDB连接URIpbm CLI¶
为设置MongoDB URI连接字符串pbmshell中的CLI。这允许你打电话pbm不包含——mongodb-uri国旗。
使用如下命令:
出口PBM_MONGODB_URI = " mongodb: / / pbmuser: secretpwd@localhost: 27018 / ?authSource = admin&replSetName = xxxx”
有关要指定的连接字符串的详细信息,请参阅PBM连接串部分。
MongoDB的Percona Backup支持外部身份验证雷竞技下载官网¶
除了SCRAM, Percona Backu雷竞技下载官网p for MongoDB还支持其他身份验证方法你在MongoDB或Percona服务器中使用的。雷竞技下载官网
对于外部身份验证,您可以创建pbm并将MongoDB连接的URI字符串设置为同时包含身份验证方法和身份验证源。
例如,对于Kerberos身份验证,创建pbm用户美元的外部格式的数据库< username@KERBEROS_REALM >(如。pbm@雷竞技下载官网PERCONATEST.COM).
为MongoDB连接URI指定以下字符串:
PBM_MONGODB_URI = " mongodb: / / <用户名> % 40 < KERBEROS_REALM > @ <主机名>:27018 / ?24 external&replsetname authMechanism = GSSAPI&authSource = % = xxxx”
请注意,您必须首先获得门票pbm具有kinit命令,才能启动pbm-agent:
sudo- u{用户}kinitpbm
注意{USER}是要运行的用户吗pbm-agent的过程。
为通过本机LDAP进行身份验证和授权在MongoDB中,仅为LDAP组创建角色,因为用户存储和管理在LDAP服务器上。但是,您仍然定义美元的外部数据库作为身份验证源:
PBM_MONGODB_URI = " mongodb: / / <用户名>:<密码> @ <主机名>:27018 / ?24 external&replsetname authMechanism = PLAIN&authSource = % = xxxx”
配置远端备份存储¶
提供远程备份存储配置的最简单方法是在YAML配置文件中指定它,并将该文件上传到Percona backup for MongoDB使用雷竞技下载官网pbmCLI。
存储配置本身超出了本文档的范围。我们假设您已经配置了一个受支持的远程备份存储。
创建一个配置文件(例如:
pbm_config.yaml).指定其中的存储信息。
下面是Amazon AWS的配置示例:
存储:类型:s3s3:地区:us-west-2桶:pbm-test-bucket前缀:数据/ pbm /备份凭证:access-key-id:< your-access-key-id-here >secret-access-key:< your-secret-key-here >serverSideEncryption:sseAlgorithm:aws:公里kmsKeyID:< your-kms-key-here >这是Microsoft Azure Blob存储的示例配置:
存储:类型:azureazure:账户:<您的帐户>容器:<您的容器>前缀:pbm凭证:关键:< your-access-key >下面是文件系统存储的配置示例:
存储:类型:文件系统文件系统:路径:/数据/ local_backups参见配置文件示例.
插入配置文件
pbm配置——文件pbm_config.yaml
对于分片集群,在连接到配置服务器副本集时执行此命令。否则,正常连接到非分片副本集。
要了解关于Percona Backup 雷竞技下载官网for MongoDB配置的更多信息,请参见集群(或非分片副本集)中的Percona Backup for MongoDB配置。
启动pbm-agent过程¶
开始pbm-agent的每个服务器上mongod节点安装。最好使用打包的服务脚本来运行pbm-agent.
sudosystemctl开始pbm-agent sudosystemctl状态pbm-agent
例如,假设您将configsvr节点(监听端口27019)与第一个碎片放在相同的服务器上mongod节点(监听端口)27018,复制集名称sh1rs).在这个服务器中应该有两个pbm-agent进程,连接到分片的进程(例如;“mongodb: / /用户名:password@localhost: 27018 /”)和一个configsvr节点(例如:“mongodb: / /用户名:password@localhost: 27019 /”).
下面是开始的示例,以供参考pbm-agent手动。输出被重定向到一个文件,该过程被置于后台。
重要的
启动pbm-agent随着mongod用户。的pbm-agent需要对MongoDB数据目录进行写访问才能进行物理恢复。
苏mongodnohuppbm-agent——mongodb-uri“mongodb: / /用户名:password@localhost: 27018 /”>/数据/ mdb_node_xyz / pbm-agent。$ (主机名- s).27018.log2>&1&
取代用户名而且密码和你们的同学一起pbm用户。/数据/ mdb_node_xyz /路径是pbm-agent日志文件将被写入。目录的写权限mongod用户。
或者,你也可以跑步pbm-agent如果您想从日志消息观察和/或调试启动,则暂时在shell终端上。
如何参观pbm-agent日志¶
包装好的systemd服务时,日志输出到stdout被systemd的默认重定向捕获到systemd-journald.您可以使用下面的命令查看它。看到男人journalctl对于有用的选项,例如——行,——遵循等。
~journalctl -u pbm-agent。service——日志开始于周二2019-10-22 09:31:34 JST。——1月22日15:59:14 akira-x1 systemd[1]: Started pbm-agent。Jan 22 15:59:14 akira-x1 pbm-agent[3579]: pbm agent正在监听命令... ...
如果你开始pbm-agent手动查看将stdout和stderr重定向到的文件。
当一个消息" pbm代理正在监听命令"打印到pbm-agent日志文件,pbm-agent确认已连接到mongod节点成功。
创建:2023年3月23日