“文档” 菜单
文档首页
/
MongoDB Cloud Manager
/

将现有 MongoDB 进程添加到 Cloud Manager

在此页面上

  • 注意事项
  • 先决条件
  • 步骤

Cloud Manager 提供了一个向导,用于将现有 MongoDB 部署添加到监控和管理中。 向导会提示您:

  • 如果尚未安装MongoDB Agent ,请安装

  • 确定要添加的分片集群副本集独立运行。您可以选择将部署添加到监控或同时添加到监控自动化。

    如果您要添加打算实时迁移到 Atlas 的部署,则只需添加用于监控的部署(及其档案)。

部署在项目中必须具有唯一名称。

重要

同一项目中的副本集、分片集群和分片名称必须唯一。如果部署没有唯一名称,将导致备份快照损坏。

自动化并不支持所有 MongoDB 选项,这可能会导致导入尝试失败。 要了解更多信息,请参阅MongoDB 设置和自动化支持。

如果启用 TLS ,则为 MongoDB 进程提供服务的主机的 FQDN 必须与该主机上 TLS 证书的 SAN 匹配。

重要

为防止中间人攻击,请尽可能缩小TLS证书的范围。 虽然您可以在多个 SAN 上使用一个 TLS 证书,或在每台主机上使用通配符 TLS 证书,但您不应该这样做。要了解详情,请参阅 RFC2818 的3 部分。1 。

在以下情况下,请设置首选主机名:

  • 需要特定的主机名、 FQDNIPv4地址或IPv6地址才能访问 MongoDB 进程,或者

  • 必须指定用于具有多个别名的主机的主机名。

要了解详情,请参阅项目设置中的 Preferred Hostnames设置。

如果要将作为 Windows 服务运行的现有 MongoDB 进程添加到自动化,则自动化:

  • 停止并禁用现有服务

  • 创建并启动新服务

如果 Cloud Manager 项目为其部署启用了 MongoDB 身份验证设置,则您导入的 MongoDB 部署必须支持该项目的身份验证机制。

我们建议您导入到没有正在运行的进程且未启用身份验证的目标项目。

如果源集群使用身份验证,并且目标 Cloud Manager 项目没有任何现有托管流程,则 Cloud Manager 会在目标项目中启用身份验证,从源集群导入现有密钥文件,并使用它来对执行以下操作的用户进行身份验证:导入进程。

如果源集群和目标 Cloud Manager 项目都使用身份验证,并且该项目有进程,则 Cloud Manager 会在导入过程中尝试使用目标项目中的现有身份验证设置。为了使导入过程成功,源集群和 Cloud Manager 目标项目上的身份验证档案必须相同。

为确保导入成功,在开始导入过程之前,请在源集群上添加 Cloud Manager 目标项目的档案。要了解更多信息,请参阅副本集轮换密钥或分片集群轮换密钥。

如果您的 MongoDB 部署需要身份验证,则当您将部署添加到 Cloud Manager 进行监控时,您必须提供必要的档案。

  • 如果部署使用自动化,但使用了备份和/或监控,则您可以在更新到MongoDB Agent之前的档案位置找到这些档案。

  • 如果部署不使用自动化,但使用备份和/或监控:

    1. 为 MongoDB 部署创建档案。要了解更多信息,请参阅用于监控的 MongoDB 助手所需的访问权限和用于备份的 MongoDB 助手所需的访问权限。

    2. 添加 MongoDB 进程后,将您授予这些函数的档案添加到 Cloud Manager。 要了解更多信息,请参阅“添加用于监控的档案”“添加用于备份的档案”。

  • 如果部署使用自动化, Cloud Manager将使用来自MongoDB Agent的档案。 您可以从旧版备份和监控代理中删除档案。 MongoDB Agent将这些档案用于其自动化、备份和监控功能。

  • 如果部署使用自动化,但在导入之前未使用自动化,请将 mms-automation用户添加到您导入的数据库进程中,并将用户的档案添加到 Cloud Manager。

要了解更多信息,请参阅添加自动化档案。

将 MongoDB 部署添加到自动化中可能会影响 Cloud Manager 项目和 MongoDB 部署的安全设置。

  • 自动化启用了项目安全设置。 如果 MongoDB 部署需要身份验证,但 Cloud Manager 项目未启用身份验证设置,则当您将 MongoDB 部署添加到自动化时,Cloud Manager 会将项目的安全设置更新为新导入的部署的安全设置。

    仅当项目的安全设置当前已禁用时,导入过程才会更新 Cloud Manager 项目的安全设置。 导入过程不会禁用项目的安全设置或更改其已启用的身份验证机制。

  • 自动化导入 MongoDB 用户和角色。 以下声明适用于 MongoDB 部署需要身份验证或 Cloud Manager 项目已启用身份验证设置的情况。

    如果 MongoDB 部署包含用户或用户定义的角色,您可以选择导入这些用户和角色以供 Cloud Manager 进行管理。导入的用户和角色适用于Synced Manager 项目中的所有托管部署。

    • 如果您将项目的Enforce Consistent Set值设置为Yes ,Cloud Manager 会从 MongoDB 部署中删除导入的用户和角色。

    • 如果您将项目的Enforce Consistent Set值设置为No ,Cloud Manager 将停止管理项目中未导入的用户和角色。 这些用户和角色保留在 MongoDB 部署中。 要管理这些用户和角色,您必须直接连接到 MongoDB 部署。

    如果您不希望 Cloud Manager 项目管理特定的用户和角色,请在导入期间使用Authentication & UsersAuthentication & Roles页面删除这些用户和角色,然后再确认和部署更改。要了解更多信息,请参阅管理或取消管理 MongoDB 用户。

    如果导入的 MongoDB 部署在其admin数据库中已经有mms-backup-agentmms-monitoring-agent用户,则导入过程会使用 Cloud Manager 项目中为mms-backup-agentmms-monitoring-agent用户设置的角色覆盖这些用户的角色。

  • 自动化应用于项目中的所有部署。项目的更新安全设置(包括 Cloud Manager 项目管理的所有用户和角色)适用于项目中的所有部署,包括导入的 MongoDB 部署。

    Cloud Manager 使用新设置重新启动项目中的所有部署,包括导入的 MongoDB 部署。 导入后,项目中的所有部署在重新启动时都会使用 Cloud Manager 自动化密钥文件。

    导入的部署必须使用与目标项目中现有进程相同的密钥文件,否则导入进程可能无法继续。 要了解更多信息,请参阅源集群和目标集群上的身份验证档案。

    如果项目中的现有部署需要与导入进程不同的安全配置文件,请创建一个新项目,可以将源 MongoDB 部署导入其中。

以下示例适用于 MongoDB 部署需要身份验证或 Cloud Manager 项目已启用身份验证设置的情况。

如果导入 MongoDB 用户和自定义角色,一旦 Cloud Manager 项目开始管理 MongoDB 部署,无论Enforce Consistent Set值如何,都会发生以下情况:

  • Cloud Manager 项目支持身份验证,管理导入的用户和角色,并将新用户和角色同步到其所有托管部署。

  • MongoDB 部署的访问控制已启用,需要身份验证。 MongoDB 部署包含 Cloud Manager 项目管理的所有用户和角色。 这些用户和角色已将Synced设置为Yes

如果不导入 MongoDB 用户和自定义角色,一旦 Cloud Manager 项目开始管理 MongoDB 部署,就会发生以下情况:

如果Enforce Consistent Set设置为Yes

  • Cloud Manager 项目支持身份验证,并且不会更改其托管用户和角色。

  • MongoDB 部署的访问控制已启用,需要身份验证。

  • Cloud Manager 会从部署中删除未导入的 MongoDB 用户和角色。

  • MongoDB 部署包含 Cloud Manager 项目管理的所有用户和角色。 这些用户和角色已将Synced设置为Yes

如果Enforce Consistent Set设置为No

  • Cloud Manager 项目启用身份验证,并且不会更改其安全设置,包括用户和角色。

  • MongoDB 部署的访问控制已启用,需要身份验证。

  • 未导入的 MongoDB 用户和角色保留在 MongoDB 部署中。

  • MongoDB 部署包含由 Cloud Manager 项目管理的所有用户和角色。 这些用户和角色已将Synced设置为Yes

  • 如果在部署中启用 mongod 作为服务,则可能会导致争用情况,即systemd mongod在重新启动时启动 ,而不是自动化。为了防止出现此问题,请确保在将部署添加到自动化之前禁用mongod 服务:

    1. 验证是否已启用mongod服务:

      sudo systemctl is-enabled mongod.service
    2. 如果该服务已启用,请将其禁用:

      sudo systemctl disable mongod.service
  • 如果 Cloud Manager 项目未启用身份验证设置,但 MongoDB 进程需要身份验证,请为 Cloud Manager 项目添加具有适当角色的 MongoDB 助手用户。导入过程会显示用户所需的角色。添加的用户将成为项目的 MongoDB 助手用户。

  • 如果 Cloud Manager 项目启用了身份验证设置,请将 Cloud Manager 项目的 MongoDB 助手用户添加到 MongoDB 进程。

    • 要查找 MongoDB 助手用户,请执行以下操作:

      1
      1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

      2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

      3. 如果 Deployment(数据库部署)页面尚未出现,请单击侧边栏中的 Deployment(数据库)。

      2

      单击部署的Security标签页。

      3
    • 要查找Cloud Manager项目的MongoDB Agent用户的密码,请使用以下方法之一:

      按照“添加 MongoDB 进程”过程中的步骤在用户界面中启动向导。 当到达显示Do you want to add automation to this deployment?的模态窗口时:

      1. 选择 Add Automation and Configure Authentication

      2. 单击 Show Password(连接)。

      使用自动化配置资源端点:

      curl --user "{username}:{apiKey}" --digest \
      --header "Accept: application/json" \
      --include \
      --request GET "<host>/api/public/v1.0/groups/<Group-ID>/automationConfig"

      在首选文本编辑器中打开mmsConfigBackup文件,找到autoPwd值。

      例子

      如果 Cloud Manager 项目选择了用户名/密码机制作为其身份验证设置,请将项目的 Cloud Manager MongoDB 助手用户mms-automation添加到要导入的 MongoDB 部署中的admin数据库。

      db.getSiblingDB("admin").createUser(
      {
      user: "mms-automation",
      pwd: <password>,
      roles: [
      'clusterAdmin',
      'dbAdminAnyDatabase',
      'readWriteAnyDatabase',
      'userAdminAnyDatabase',
      'restore',
      'backup'
      ]
      }
  • 当您在 Cloud Manager 下添加集群时,Cloud Manager 会自动启用日志轮换,这可能会与mongodmongos志的现有logRotate配置发生冲突。 要防止这种冲突,请执行以下操作:

    • mongodmongos进程禁用logRotate配置。

    • systemLog.logRotatesystemLog.logAppendmongodmongos 进程 配置 中删除 和 选项 ,以使用默认的 Cloud Manager。

  • 导入过程要求源集群和目标集群上的身份验证档案和密钥文件相同。要了解更多信息,请参阅源集群和目标集群上的身份验证档案。

  • 要将现有副本集成功导入 Cloud Manager,实例必须正常。

重要

如果要添加分片集群,则必须通过mongos在每个片上创建此用户。 也就是说,通过mongos将用户创建为集群范围的用户,并在每个分片上创建分片本地用户。

要将现有 MongoDB 进程添加到 Cloud Manager,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Deployment(数据库部署)页面尚未出现,请单击侧边栏中的 Deployment(数据库)。

2
3

将现有 MongoDB 进程添加到 Cloud Manager 后,如果已将部署导入到的项目启用了身份验证,则可能需要为新部署添加身份验证档案。 请参阅身份验证使用案例,了解在哪些情况下必须为新部署添加自动化、监控或备份档案。

如果您要添加打算实时迁移到 Atlas 的部署,则只需添加用于监控的部署(及其档案)。

选择要使用的身份验证机制:

要为将使用自动化但在导入到 Cloud Manager 之前未使用自动化的部署添加档案,请执行以下操作:

1

MongoDB 助手用户对 MongoDB 数据库执行自动化任务。确保此 MongoDB 用户具有适当的权限。

2
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Deployment(数据库部署)页面尚未出现,请单击侧边栏中的 Deployment(数据库)。

3

单击部署的Security标签页。

4

执行以下操作之一:

  • 如果这是您第一次为此项目配置 TLS、身份验证或授权设置,请单击 Get Started(开始使用)。

  • 如果已经为此项目配置 TLS 身份验证或授权设置,请单击 Edit(编辑)。

5
6
7
设置
MongoDB Agent Username
输入 MongoDB 助手用户名。
MongoDB Agent Password
输入 MongoDB 助手用户名的密码。
设置
MongoDB Agent LDAP Username
输入LDAP用户名。
MongoDB Agent LDAP Password
输入 MongoDB 助手的LDAP用户名的密码。
MongoDB Agent LDAP Group DN

输入 MongoDB 助手的LDAP群组的标识名。

注意

仅当您使用 LDAP 授权时才提供 MongoDB 助手的 LDAP 群组 DN 。每个 MongoDB 助手都应拥有并使用自己的 LDAP 群组 DN

所需值取决于您要连接的是 Linux 提供的KDC还是 Windows Active Directory Server。

设置
Monitoring Kerberos Principal
Kerberos 主体。
Monitoring Keytab Path
MongoDB 助手 Keytab 的绝对文件 Ppath。
Monitoring LDAP Group DN

输入 MongoDB 助手的LDAP群组的标识名。

然后,将LDAP组 DN 创建为 MongoDB 中的角色,以授予 MongoDB 助手适当的特权。

注意

如果使用 LDAP 授权,则只需提供 LDAP 群组 标识名。

设置
MongoDB Agent Username
Active Directory 用户名。
MongoDB Agent Password
Active Directory 密码。
Domain
Active Directory 域服务中域的 NetBIOS 名称。必须全部大写。
设置
MongoDB Agent Username
输入从 MongoDB 助手的 PEM 密钥文件派生的 LDAP v3 标识名。
TLS/SSL CA File Path
磁盘上包含PEM格式的受信任证书颁发机构 (CA) 证书的路径。这些证书可验证任何使用TLS / SSL运行的 MongoDB 实例返回的服务器证书。您必须至少输入一个TLS / SSL CA 文件路径。
MongoDB Agent PEM Key file
如果您的 MongoDB 部署需要客户端证书,请在相应操作系统的行上提供服务器上 MongoDB 助手的PEM密钥文件所使用的客户端证书的路径和.pem文件名。您必须为至少一个 MongoDB 助手 PEM 密钥文件输入一个值。
MongoDB Agent PEM Key Password
如果PEM密钥文件已加密,请提供该文件的密码。
MongoDB Agent LDAP Group DN

输入 MongoDB 助手的LDAP群组的标识名。

注意

如果使用 LDAP 授权,则只需提供 MongoDB 助手的 LDAP 群组 DN。

要为不使用自动化但使用监控的部署添加档案,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Deployment(数据库部署)页面尚未出现,请单击侧边栏中的 Deployment(数据库)。

2

单击,然后单击要查看监控设置的部署旁边的Monitoring Settings

3
4
设置
Monitoring Username
输入监控用户名。
Monitoring Password
输入监控用户名的密码。
设置
Monitoring LDAP Username
输入LDAP用户名。
Monitoring LDAP Password
输入监控LDAP用户名的密码。
Monitoring LDAP Group DN

输入监控LDAP群组的标识名。

注意

仅当使用 LDAP 授权时才提供监控的 LDAP 群组 DN 。每个监控都应拥有并使用自己的 LDAP 群组 DN

所需值取决于您要连接的是 Linux 提供的KDC还是 Windows Active Directory Server。

设置
Monitoring Kerberos Principal
Kerberos 主体。
Monitoring Keytab Path
监控密钥表的绝对文件 Ppath。
Monitoring LDAP Group DN

输入监控LDAP群组的标识名。

然后,将LDAP组 DN 创建为 MongoDB 中的角色,以授予监控适当的权限。

注意

如果使用 LDAP 授权,则只需提供 LDAP 群组 标识名。

设置
Monitoring Username
Active Directory 用户名。
Monitoring Password
Active Directory 密码。
Domain
Active Directory 域服务中域的 NetBIOS 名称。必须全部大写。
设置
Monitoring Username
输入从监控的 PEM 密钥文件派生的 LDAP v 标识名。3
Monitoring PEM Key file
在相应操作系统的命令行上提供服务器上监控的PEM密钥文件的路径和文件名。
Monitoring PEM Key Password
如果PEM密钥文件已加密,请提供该文件的密码。
Monitoring LDAP Group DN

输入监控LDAP群组的标识名。

注意

如果使用 LDAP 授权,则只需提供监控的 LDAP 群组 DN。

要为不使用自动化但使用备份的部署添加档案,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Project(项目)菜单中选择所需的项目。

  3. 单击侧边栏中的 Continuous Backup(支持)。

2
3
设置
Backup Username
输入备份用户名。
Backup Password
输入备份用户名的密码。
设置
Backup LDAP Username
输入LDAP用户名。
Backup LDAP Password
输入备份的LDAP用户名的密码。
Backup LDAP Group DN

输入备份LDAP群组的标识名。

注意

仅当使用 LDAP 授权时才提供备份的 LDAP 群组 DN 。每个备份都应拥有并使用自己的 LDAP 群组 DN

所需值取决于您要连接的是 Linux 提供的KDC还是 Windows Active Directory Server。

设置
Monitoring Kerberos Principal
Kerberos 主体。
Monitoring Keytab Path
备份密钥表的绝对文件 Ppath。
Monitoring LDAP Group DN

输入备份LDAP群组的标识名。

然后,在 MongoDB 中将LDAP组 DN 创建为角色,以向备份授予适当的权限。

注意

如果使用 LDAP 授权,则只需提供 LDAP 群组 标识名。

设置
Backup Username
Active Directory 用户名。
Backup Password
Active Directory 密码。
Domain
Active Directory 域服务中域的 NetBIOS 名称。必须全部大写。
设置
Backup Username
输入从备份的 PEM 密钥文件派生的 LDAP v3 标识名。
Backup PEM Key file
在相应操作系统的命令行上提供服务器上备份的PEM密钥文件的路径和文件名。
Backup PEM Key Password
如果PEM密钥文件已加密,请提供该文件的密码。
Backup LDAP Group DN

输入备份LDAP群组的标识名。

注意

如果使用 LDAP 授权,则只需提供备份的 LDAP 群组 DN。

后退

预配一个 MongoDB Agent 迁移主机

来年

部署副本集