Throughout the lifecycle of a backup, MongoDB Agent tails the oplog of each replica set and sends new oplog entries to Ops Manager. The Agent sends the oplog entries in compressed bundles of approximately 10 MB in size called oplog slices. These oplog slices are stored in one or more storage systems called oplog stores. Every Ops Manager deployment needs at least one oplog store.
当您启用备份时,Ops Manager 会提示您创建第一个 oplog 存储。这可以是本地 oplog 存储或 S3 兼容的 oplog 存储。创建第一个 oplog 存储后,您可以将其与快照存储分开管理。您可以创建其他 oplog 存储。
本教程介绍创建其他与 S3 兼容的 oplog 存储来存储 oplog 条目。 与任何 MongoDB 实例一样,与 S3 兼容的 oplog 存储可以存在于任何运行 MongoDB 的主机和 Ops Manager 应用程序可以访问的与 S3 兼容的存储桶(无子文件夹)上。
Considerations
需要专用存储桶
Ops Manager 必须是您用于快照的 S3 兼容存储桶上的唯一管理器。您还需要配置与 S3 兼容的存储桶,以避免使用 Ops Manager 不支持的功能。
配置 S3 兼容存储桶时:
请勿在与 Ops Manager 一起使用的 S3 兼容存储桶中创建子文件夹。Ops Manager 仅支持使用整个 S3 兼容存储桶。
请勿创建 S3 兼容存储生命周期规则。如果生命周期规则使 Ops Manager 快照对象的当前版本过期或转换为存档,则会导致快照不完整,您无法使用这些快照来恢复配置。
为标准 oplog 存储使用无版本存储桶
对于标准的 S3 兼容 oplog 存储,请使用无版本控制的存储桶。MongoDB Ops Manager 不会检查您用于标准 S3 兼容 oplog 存储的存储桶是否启用了版本控制或对象锁。如果您将版本控制或启用对象锁的存储桶用于标准 S3 兼容的 oplog 存储,MongoDB Ops Manager 将忽略该存储桶的 S3 版本 ID,并可能无法 groom 该存储的数据。
仅当您将带版本控制的、启用对象锁的桶用作 oplog 存储时,才需要它来存储不可变的 oplog 备份。有关不可变 oplog 存储的要求、配置和行为,请参阅 带有对象锁的不可变 S3 备份。
无法移动与 S3 兼容的 Oplog 存储
创建与 S3 兼容的 oplog 存储后,您无法移动它。相反,您可以创建一个新的 S3 兼容 oplog 存储,并将其放在同一 AWS 区域内单独的 S3 兼容存储桶中。S3 兼容的存储快照桶必须与 oplog S3 兼容的存储桶不同。
支持存储 API
MongoDB支持与任何供应商的Amazon Web Services S3 API 兼容的端点。 MongoDB Ops Manager当您保存 S3 兼容的oplog 存储设置时, 会尝试验证这些端点。如果验证通过, MongoDB Ops Manager将保存配置。 如果验证失败, MongoDB Ops Manager将显示错误并且不会保存配置。
要求强读后写入一致性
MongoDB Ops Manager 要求您用于备份的 S3 兼容存储或 S3 兼容存储兼容对象存储提供强大的写入后读取一致性。MongoDB Ops Manager 将对象写入存储后,读取该对象必须返回最近写入的数据。仅提供最终一致性的存储可能会返回过时数据,并导致备份操作失败。
创建或更新 S3 兼容的存储存储配置时,MongoDB Ops Manager 会验证存储的一致性模型。如果存储在写入后未立即返回预期数据,验证将失败,MongoDB Ops Manager 也不会保存配置。
AWS S3兼容存储默认提供强大的写入后读一致性。如果使用其他供应商的 S3兼容存储兼容存储,请查阅该供应商的文档,以确认该存储对新对象和现有对象的覆盖写入都提供强大的写后读一致性。某些存储仅保证新对象的一致性,并对覆盖写入保持最终一致,这可能会导致间歇性验证失败。
先决条件
元数据存储先决条件
部署专用MongoDB实例,提供服务S3 兼容的oplog存储元数据和oplog存储提供服务。 在与MongoDB Ops Manager托管、后端数据库或快照存储相同的主机上提供这些实例。 连接一个或多个具有足够容量的存储卷,以存储这些实例管理的数据库。
Secure the instance that stores your S3-compatible oplog store metadata database using Authentication on Self-Managed Deployments and TLS. S3-compatible oplog store metadata databases support
all authentication mechanisms.
AWS S3 存储先决条件
确保您有一个 IAM 用户 在Amazon Web Services 上。
为 IAM 用户创建您自己的 AWS访问权限密钥。这允许您创建与 S3 兼容的存储桶并在其中存储oplog文件。 MongoDB不会创建或颁发 AWS访问权限密钥。
创建您自己的S3 存储桶来存储与 S3 兼容的oplog存储。
IBM Cloud 对象存储先决条件
使用 IBM 凭证工具创建访问密钥和保密密钥。
创建您自己的与 S3 兼容的存储桶。
Dell EMC Elastic Cloud Storage 先决条件
使用 ECS 用户 ID 创建访问密钥和保密密钥。
创建您自己的与 S3 兼容的存储桶。
其他 S3 兼容存储
可以使用其他与 S3 兼容的存储端点。当您保存配置时,Ops Manager 会尝试验证这些端点。如果验证通过,则 Ops Manager 会保存配置。如果验证失败,则 Ops Manager 会显示错误并且不保存配置。
步骤
身份验证机制决定您是否提供用户名和密码,以及提供的格式。选择以下任一标签页:
添加一个与 S3 兼容的 Oplog 存储
提供 S3 Oplog 存储详细信息。
字段 | 必要性 | 目录 | ||||
|---|---|---|---|---|---|---|
名称 | 必需 | 输入 S3 兼容 oplog 存储的标签。 | ||||
S3 存储桶名称 | 必需 | 输入要在其中托管S3 兼容快照或oplog存储的S3 兼容存储桶的名称。对于 AWS S3 存储桶,输入不带 S3 URI 前缀的存储桶名称。 | ||||
地区覆盖 | 可选的 | 输入 S3 兼容存储桶所在的区域。 仅当 S3 兼容存储的 S3 终结点 不支持区域作用域时,才使用此字段。请勿使用 AWS S3 存储桶为此字段提供值。 | ||||
S3 端点 | 必需 | 输入此 S3 兼容存储桶的 URL 。如果 AWS 需要遵守 Amazon S3 常规终结点,请使用路径式格式: | ||||
S3 最大连接数 | 必需 | 输入一个正整数,表示此 S3 兼容存储桶的最大连接数。 | ||||
路径样式访问 | Optional | 选择使用路径样式 URL 终结点 ( 有关更多详细信息,请参阅 AWS 文档中的路径样式请求。 重要: 使用Amazon S3 服务时,请选择此选项。 | ||||
服务器端加密 | Optional | 选择启用服务器端加密。清除可禁用服务器端加密。 | ||||
S3 授权模式 | 必需 | 选择用于授权访问 S3 Bucket Name 指定的 S3 兼容存储桶的方法。
| ||||
带有自定义 CA 捆绑包的密钥 | 可选的 | 单击 Choose file(选择文件),添加自定义证书颁发机构链。该链可以根据 S3 兼容存储桶上的自签名证书进行验证。 | ||||
AWS Access Key | 可选的 | 输入您的AWS访问密钥 ID。 当您将 S3 Authorization Mode 设置为 Keys 时,Ops Manager 将显示此字段。 | ||||
AWS Secret Key | 可选的 | 输入您的Amazon Web Services秘密访问密钥。 当您将 S3 Authorization Mode 设置为 Keys 时,Ops Manager 将显示此字段。 | ||||
Datastore Type | 必需 | 选择 Standalone、Replica Set 或 Sharded Cluster。该 MongoDB 数据库存储的块存储的元数据。 | ||||
MongoDB 主机列表 | 可选的 | Enter a comma-separated list of 例如: 当您将 Datastore Type 设置为 Replica Set 或 Sharded Cluster 时,Ops Manager 将显示此字段。 重要提示: MongoDB Ops Manager使用此元数据存储作为同步存储。 确保为此存储区预配足够的存储空间。 | ||||
MongoDB 主机名 | 可选的 | 输入 S3 兼容 oplog 存储元数据数据库的主机名。 当您将 Datastore Type 设置为 Standalone 时,Ops Manager 将显示此字段。 重要提示: MongoDB Ops Manager使用此元数据存储作为同步存储。 确保为此存储区预配足够的存储空间。 | ||||
MongoDB 端口 | 可选的 | 输入 S3 兼容 oplog 存储元数据数据库的端口号。 当您将 Datastore Type 设置为 Standalone 时,Ops Manager 将显示此字段。 | ||||
用户名 | Optional | 输入有权访问该数据库的用户的名称。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring SCRAM authentication, see SCRAM. 键入获授权访问权限此数据库的用户的客户端证书中的 RFC-2253 格式主题。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring x.509 authentication, see x.509. 键入有权访问权限此数据库的用户的UPN 。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置Kerberos身份验证的更多信息,请参阅Kerberos。 输入有权访问权限此数据库的LDAP用户的名称。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置LDAP身份验证的更多信息,请参阅LDAP。 MongoDB Ops Manager 在您为此存储启用 OIDC 时会隐藏此字段。要配置 OIDC,请改用 OIDC Authentication 字段。 | ||||
密码 | Optional | 输入与可以访问该数据库的用户名关联的密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring SCRAM authentication, see SCRAM. 警告:如果您没有使用凭证工具加密此密码,它将以明文形式存储在数据库中。 将其留空。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring x.509 authentication, see x.509. Kerberos从其密钥表文件中检索密码。 不要在此字段中输入密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置Kerberos身份验证的更多信息,请参阅Kerberos。 输入有权访问权限此数据库的LDAP用户的密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置LDAP身份验证的更多信息,请参阅LDAP。 警告:如果您没有使用凭证工具加密此密码,它将以明文形式存储在数据库中。 MongoDB Ops Manager 在您为此存储启用 OIDC 时会隐藏此字段。要配置 OIDC,请改用 OIDC Authentication 字段。 | ||||
OIDC 身份验证 | Optional | 选择 Enable OIDC 以验证身份登录到此存储,使用 OIDC 而不是用户名和密码。当您选择 Enable OIDC 时,管理界面会隐藏对应此存储的 Username 和 Password 字段。然后选择 Method:
当您保存配置时,MongoDB Ops Manager 会使用您提供的 OIDC 设置验证连接。如果您编辑现有存储并使 Client Secret 保持不变,MongoDB Ops Manager 会保留现有秘密。保存此存储的 OIDC 配置更改需要重新启动 MongoDB Ops Manager 和备份守护程序。 | ||||
连接选项 | Optional | 输入MongoDB实例的其他配置文件选项。 该字段仅支持未转义的值。 TLS 选项在此处不起作用。使用 要了解正确语法,请参阅 MongoDB 手册中的连接字符串 URI 格式。 | ||||
deploymentId | Optional | 托管存储桶的部署区域的唯一标识符。 | ||||
加密凭证 | Optional | 选择数据库凭证是否已使用 credentialstool 加密。凭证包括用户名、密码、AWS Access Key ID 和 AWS Secret Key。 | ||||
使用 TLS/SSL | Optional | 选择 S3 兼容 oplog 存储元数据数据库是否仅接受使用 TLS 加密的连接。 除此复选框之外,要使用 TLS 连接此与 S3 兼容的oplog存储,您必须在 S3 oplog存储数据库上启用TLS。 | ||||
已启用新分配 | Optional | 如果您要在创建 S3 兼容的 oplog 存储后启用它,请选择此选项。 默认情况下,此选项处于选中状态,以便为 S3 兼容的 oplog 存储分配备份作业。 如果您清除此复选框,则会创建与 S3 兼容的 oplog 存储,但您无法将备份分配给此与 S3 兼容的 oplog 存储。 Selecting this checkbox doesn't guarantee Ops Manager assigns new backup jobs to this specific S3-compatible oplog store. Ops Manager can assign a new job to any enabled S3-compatible oplog store. To target this store specifically, see Assign an S3-Compatible Oplog Store to a Backup Job. | ||||
对象锁已启用 | 可选的 | 选择此项可为该存储启用不可变 oplog 备份。在选择此字段之前,必须在根本的兼容 S3 的存储桶上启用对象锁。 仅当全局管理员在 Ops Manager Config Custom 设置中或在 仅在创建 S3 兼容的 oplog 存储时,才能选择此设置。保存存储后,您将无法更改它。 | ||||
对象保留期 (天) | 可选的 | 输入 Ops Manager 使用“对象锁”保护每个 oplog slice 对象的天数。此值必须与您直接在 S3 兼容存储桶上配置的保留期相匹配。此字段不会修改 S3 兼容存储桶本身的保留设置,MongoDB Ops Manager 也不会读取或验证存储桶的实际保留期。 仅当您选择 Object Lock Enabled 时,MongoDB Ops Manager 才会显示此字段。 | ||||
对象保留模式 | 可选的 | 选择 MongoDB Ops Manager 应用于此 oplog 存储对象的对象锁保留模式, 仅当您选择 Object Lock Enabled 时,MongoDB Ops Manager 才会显示此字段。 我们建议设置此字段。MongoDB Ops Manager 不会读取或验证您直接在 S3 兼容存储桶上配置的保留模式。您必须手动设置此字段,以匹配您在存储桶上配置的保留模式。如果值不匹配,MongoDB Ops Manager 可能会无法 groom 存储,或者存储桶可能会实施与 MongoDB Ops Manager 预期不同的保留行为。 |
编辑一个现有的 S3 兼容 Oplog 存储
Ops Manager lists oplog stores in a table on the Oplog Storage page. Each row contains the settings for each local and S3-compatible oplog store.
更新任何需要更改的可编辑值。
在MongoDB Connection列中,更新以下字段中需要更改的任何可编辑值:
字段 | 必要性 | 可编辑 | 目录 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S3 存储桶名称 | 必需 | no | 输入要在其中托管 S3 兼容 oplog 存储的 S3 兼容存储桶的名称。 | ||||||||||||||||
地区覆盖 | 可选的 | no | 输入 S3 兼容存储桶所在的区域。 仅当 S3 兼容存储的 S3 终结点 不支持区域作用域时,才使用此字段。请勿使用 AWS S3 存储桶为此字段提供值。 | ||||||||||||||||
S3 端点 | 必需 | no | 输入此 S3 兼容存储桶的 URL。 | ||||||||||||||||
S3 最大连接数 | 必需 | 是 | 输入一个正整数,表示此 S3 兼容存储桶的最大连接数。 | ||||||||||||||||
路径样式访问 | Optional | 是 | 选择使用路径样式 URL 终结点 ( 有关更多详细信息,请参阅 AWS 文档中的路径样式请求。 | ||||||||||||||||
服务器端加密 | Optional | 是 | 单击启用服务器端加密。清除可禁用服务器端加密。 | ||||||||||||||||
S3 授权模式 | 必需 | 是 | 选择用于授权访问 S3 Bucket Name 指定的 S3 兼容存储桶的方法。
| ||||||||||||||||
带有自定义 CA 捆绑包的密钥 | 可选的 | 是 | 单击 Choose file(选择文件),添加自定义证书颁发机构链。该链可以根据 S3 兼容存储桶上的自签名证书进行验证。 | ||||||||||||||||
AWS Access Key | 可选的 | 是 | 输入您的AWS访问密钥 ID。 当您将 S3 Authorization Mode 设置为 Keys 时,Ops Manager 将显示此字段。 | ||||||||||||||||
AWS Secret Key | 可选的 | 是 | 输入您的Amazon Web Services秘密访问密钥。 当您将 S3 Authorization Mode 设置为 Keys 时,Ops Manager 将显示此字段。 Ops Manager 不会显示现有的 AWS Secret Key(MongoDB 验证密码)。 | ||||||||||||||||
<hostname>:<port> | 必需 | 是 | 以 If the S3-compatible oplog store metadata database is a Replica Set or Sharded Cluster, type a comma-separated list of 例如: 如果 S3 兼容的 oplog 存储元数据数据库是独立运行的实例 MongoDB,请键入该实例的 重要提示: S3 oplog托管问题:
| ||||||||||||||||
MongoDB 身份验证用户名 | Optional | 是 | 输入有权访问该数据库的用户的名称。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring SCRAM authentication, see SCRAM. 键入获授权访问权限此数据库的用户的客户端证书中的 RFC-2253 格式主题。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring x.509 authentication, see x.509. 键入有权访问权限此数据库的用户的UPN 。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置Kerberos身份验证的更多信息,请参阅Kerberos。 输入有权访问权限此数据库的LDAP用户的名称。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置LDAP身份验证的更多信息,请参阅LDAP。 MongoDB Ops Manager 在您为此存储启用 OIDC 时会隐藏此字段。要配置 OIDC,请改用 OIDC Authentication 字段。 | ||||||||||||||||
MongoDB 验证密码 | Optional | 是 | 输入与可以访问该数据库的用户名关联的密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring SCRAM authentication, see SCRAM. 警告:如果您没有使用凭证工具加密此密码,它将以明文形式存储在数据库中。 将其留空。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 To learn more about configuring x.509 authentication, see x.509. Kerberos从其密钥表文件中检索密码。 不要在此字段中输入密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置Kerberos身份验证的更多信息,请参阅Kerberos。 输入有权访问权限此数据库的LDAP用户的密码。 如果您的 Ops Manager 应用程序数据库使用身份验证或 TLS,则您必须配置应用程序数据库的连接。要了解详情,请参阅配置应用程序数据库的连接。 要学习;了解有关配置LDAP身份验证的更多信息,请参阅LDAP。 警告:如果您没有使用凭证工具加密此密码,它将以明文形式存储在数据库中。 MongoDB Ops Manager 在您为此存储启用 OIDC 时会隐藏此字段。要配置 OIDC,请改用 OIDC Authentication 字段。 Ops Manager 不会显示现有的 MongoDB Auth Password(MongoDB 验证密码)。 不适用。 不适用。 Ops Manager 不会显示现有的 MongoDB Auth Password(MongoDB 验证密码)。 不适用。 | ||||||||||||||||
OIDC 身份验证 | Optional | 是 | 选择 Enable OIDC 以验证身份登录到此存储,使用 OIDC 而不是用户名和密码。当您选择 Enable OIDC 时,管理界面会隐藏对应此存储的 Username 和 Password 字段。然后选择 Method:
当您保存配置时,MongoDB Ops Manager 会使用您提供的 OIDC 设置验证连接。如果您编辑现有存储并使 Client Secret 保持不变,MongoDB Ops Manager 会保留现有秘密。保存此存储的 OIDC 配置更改需要重新启动 MongoDB Ops Manager 和备份守护程序。 | ||||||||||||||||
加密凭证 | Optional | 是 | 选择数据库凭证是否已使用 credentialstool 加密。凭证包括用户名、密码、AWS Access Key ID 和 AWS Secret Key。 | ||||||||||||||||
使用 TLS | Optional | 是 | 选择 S3 兼容 oplog 存储数据库是否仅接受使用 TLS 加密的连接。 除此复选框之外,要使用 TLS 连接此与 S3 兼容的oplog存储,您必须在 S3 oplog存储数据库上启用TLS。 | ||||||||||||||||
连接选项 | Optional | 是 | Enter any additional configuration file options for the MongoDB instance. This field supports unescaped values only. 要查看正确的语法,请参阅 stringMongoDB手册中的 连接 URI 格式 。 | ||||||||||||||||
分配标签 | Optional | 是 | 输入以逗号分隔的标签列表,将 S3 兼容的 oplog 存储分配给特定项目。 | ||||||||||||||||
写关注 | 必需 | 是 | Select your preferred Write Concern:
|
可选:如有需要,重新启动 Ops Manager 实例。
如果更改任何连接字符串值或写关注,请重新启动所有 Ops Manager 实例,包括运行备份守护程序的实例。
警告
修改现有 S3 兼容 oplog 存储的连接字符串值或写关注需要重新启动所有 Ops Manager 组件,包括仅运行备份守护程序以应用这些更改的组件。 连接参数包括:
<hostname>:<port>
MongoDB Auth Username
MongoDB Auth Password
Encrypted Credentials
Use TLS/SSL
Connection Options
Write Concern
如果更改为另一个与 S3 兼容的 oplog 存储主机,Ops Manager 不会将现有与 S3 兼容的 oplog 存储上的数据复制到另一个与 S3 兼容的 oplog 存储上。
提示
要学习;了解有关MongoDB 连接string URI 的更多信息,请参阅 stringMongoDB手册中的 连接 URI 格式 。
将 S3兼容的 oplog 存储分配给备份作业
当多个集群共享一个 Ops Manager 项目时,每个集群的备份作业可以路由到不同的 S3-兼容 oplog 存储。Ops Manager 会将新的备份作业分配给已选择 Assignment Enabled 的存储。在开始每个备份作业之前,选择哪些存储启用分配,即可将每个作业路由到特定存储。
为每个备份作业创建一个单独的 S3 兼容 oplog 存储。
Follow the Add One S3-Compatible Oplog Store procedure to create one S3-compatible oplog store for each backup job that you want to route to a distinct store.
在目标存储上启用分配,在所有其他存储上禁用分配。
For each S3-compatible oplog store, use the Edit One Existing S3-Compatible Oplog Store procedure:
对于要分配给第一个备份作业的存储,请选择 Assignment Enabled。
对于所有其他存储,请清除 Assignment Enabled。