NetBackup™ for MongoDB 管理指南
使用 mongodb.conf 文件为 MongoDB 配置备份选项
注意:
如果使用 MongoDB 配置工具,则不需要执行这些手动步骤。
NetBackup 使用默认选项备份 MongoDB 数据。要指定在备份操作过程中使用的自定义选项,对于 UNIX 系统,必须在 /usr/openv/var/global/ 目录中创建 mongodb.conf 文件,对于 Windows 主服务器,必须在 <Install_Dir>\NetBackup\var\global\ 中创建该文件。
小心:
文件名 mongodb.conf 区分大小写。
并不强制在 mongodb.conf 文件中指定所有选项。对于没有自定义值的选项,NetBackup 会使用默认值。
确保 mongodb.conf 文件使用 JSON 格式,并使用 bpcd_allowed_path 选项将 bp.conf 中的文件路径添加到允许列表。有关更多信息,请参见在 NetBackup 主服务器允许列表中包括配置文件路径。
可在 mongodb.conf 文件中指定以下备份选项及其值:
小心:
文件中的选项区分大小写。
|
选项 |
详细信息 |
|---|---|
|
application_servers |
主配置服务器的完全限定域名 (FQDN)、主机名或短名称以及端口号,以及采用以下格式的 mongod 和 mongos 端口: clientFQDN_OR_hostname_OR_shortname:portnumber 确保 application_server 与 MongoDB 环境中使用的、且已使用 db.hostInfo() 命令进行验证过的主机名值相匹配。 例如,db.hostInfo() 显示的主机名值: "hostname" : "<hostname_value>:<port>" 警告: 不要输入充当 MongoDB 仲裁节点的节点。 |
|
alternate_config_server |
辅助配置服务器或备用配置服务器的完全限定域名 (FQDN)、主机名或短名称以及端口号。只能为一个群集添加一个备用配置服务器。 对于值,请使用以下格式: clientFQDN_OR_hostname_OR_shortname:portnumber 确保 alternate_config_server 与 MongoDB 环境中使用的、且已使用 db.hostInfo() 命令进行验证过的主机名值相匹配。 例如,db.hostInfo() 显示的主机名值: "hostname" : "<hostname_value>:<port>" 如果与主配置服务器的连接失败,则使用第一个活动的备用配置服务器。 对于分片 MongoDB 群集,必须在备用配置服务器上运行 mongod 和 mongos 进程。 必须为每个 application_servers 条目分别输入 alternate_config_server 值。 |
|
cleanup_time_in_min |
指定时间(分钟),在此时间后将清理失效快照或由于已取消作业而创建的 oplogstore。 该值必须是整数。 |
|
free_space_percentage_snapshot |
指定卷组上可用于创建快照的可用空间的百分比。仅在执行完全备份时使用此选项。 默认值(如果未指定)为 20%。该值必须介于 0 和 100 之间。请勿使用百分比符号 (%)。 例如,运行 vgdisplay 命令以验证 "Free PE / Size" 字段的值。free_space_percentage_snapshot 值是数据路径所在卷组的 Free PE / Size 百分比。 根据备份操作期间 MongoDB 实例的数据更改率以及卷组上的可用空间来调整 free_space_percentage_snapshot 值。 例如,当:
然后,将 free_space_percentage_snapshot 的最小值指定为 25%。 可用空间快照百分比值太低可能会导致快照(以及后续备份)失败。 可用空间快照百分比值太高可能会减少卷组上的可用空间量。 有关更多信息和标准做法,请参考 Linux 手册页以了解 lvcreate 命令。 |
|
data_channel_tls |
使用此参数可禁用或启用 MongoDB 群集和备份主机之间的数据通道加密。 例如,使用 "data_channel_tls": false 禁用数据通道加密。 默认情况下,NetBackup 备份主机与精简客户端 (mdbserver) 之间的所有通信都是通过 TLS 信道进行的。您可以禁用此 TLS,将数据从精简客户端 (mdbserver) 移动到备份主机,以提高性能。 注意: 禁用此选项时,控制数据和敏感数据(如凭据)仍通过 TLS 信道传输。 |
|
logdir |
在 MongoDB 节点上生成精简客户端 ( 默认位置为 |
|
loglevel |
指定日志记录级别。 默认值为 3。 有关日志记录级别值,请参考以下选项:
|
|
max_log_mbsize |
指定 NetBackup 精简客户端日志文件的最大文件大小(以 MB 为单位)。 默认大小是 10 MB。每天创建新的日志文件,或者现有日志文件超出最大大小。创建日志文件不会影响正在进行的作业,并且在 mdbserver 执行的下一个作业期间会进行日志回转。 30 天后将清理日志。 |
|
max_streams |
注意: 此参数仅适用于分片 MongoDB 群集。 定义每个备份主机的并行数据流数。最小值为 32。 如果未定义 max_streams,则默认值为每个备份主机 32 个并行数据流。 在 mongodb.conf 文件中添加以下条目: max_streams:
{
"global_default":<set_value>,
"<backup_host>":<set_value>
}
其中:
注意: 此选项设置每个备份主机的并行数据流数上限。备份或恢复作业可能并不会使用所有可用数据流。 |
|
mdb_progress_loglevel |
用于打印有关还原到活动监视器的文件的进度日志记录信息。 默认值为 0(关闭)。 要启用,请设置 "mdb_progress_loglevel": 1。 注意: 启用此选项可能会增加恢复时间。 |
|
mdbserver_location |
指定在执行 MongoDB 备份和还原操作所需的 MongoDB 节点上复制精简客户端 ( 将文件复制到包含需要保护的数据的服务器,并在备份操作完成后删除这些文件。 复制文件的默认位置为 注意: 不要指定装入路径或高级别 Linux 目录,因为这可能会导致目录权限发生冲突。例如,避免将路径指定为 /root、/etc、/usr、/bin、/home 等。 |
|
mdbserver_port |
备份主机使用该端口与 MongoDB 节点上运行的 NetBackup 精简客户端 (mdbserver) 相连接。 默认值为 此值是一个字符串。 |
|
mdbserver_port_range |
当多个 mongod 实例在一个 MongoDB 节点上运行时,使用此参数。 通过此选项,可在备份和还原操作的范围内使用下一个可用端口(如果现有端口正在使用中)。 通过此选项,可以通过部署多个 NetBackup 精简客户端 (mdbserver) 来同时在不同的端口上运行多个备份作业。 输入值 "mdbserver_port_range":range_value,其中 range_value 是用于定义可使用的端口号范围的整数。例如,如果将 range_value 添加为 10,并且将 mdbserver_port 定义为 12000,则使用的端口范围是 12000 至 12009。 默认值为 10。 根据 MongoDB 主机上同时备份的 mongod 实例数更改此值。 |
|
mdbserver_timeout_min |
定义在终止 NetBackup 精简客户端 (mdbserver) 进程之前等待的时间(分钟)。 默认值是 300(分钟)。 如果备份时段需要更多时间,请将该值设置为大于 300 分钟。 理想情况下,在插件终止或备份完成后终止 mdbserver。 |
|
mongos_port |
mongos 进程用于通信的端口。 这是分片 MongoDB 群集的必需参数。 必须为每个 application_servers 或 alternate_config_server 条目指定此值 此值是一个字符串。 |
|
oplog_location |
对于差异增量式备份,请指定自定义目录来存储 MongoDB 该位置存储在备份映像中。 默认位置为 确保在此位置有足够的可用空间来存储增量式备份的 oplog 数据。 |
|
snapshot_mount_path |
在 MongoDB 节点上指定路径,以便在完全备份期间装入 LVM 快照。 默认路径为 |
注意:
确保在 MongoDB 凭据文件中配置的 HostUser 对 mongodb.conf 文件中提及的所有路径都具有读取和写入权限。
如果未添加所有选项,则会在日志中添加有关缺少的选项的条目。默认值用于未提及的选项,备份操作将继续。
{
"application_servers": {
"FQDN_primary_configuration_server_1:port": {
"alternate_config_server": [
{
"hostname:port": "FQDN_alternate_configuration_server_1:26051",
"mongos_port": "26051"
}
],
"mongos_port": "26052"
},
"FQDN_primary_configuration_server_2:port": {
"alternate_config_server": [
{
"hostname:port": "FQDN_alternate_configuration_server_2:26053",
"mongos_port": "26053"
}
],
"mongos_port": "26054"
}
},
"mdbserver_location": "/path/to/store/mdbserver/",
"logdir": "/path/to/store/logdir/",
"mdbserver_port": "21020",
"loglevel": 5,
"max_log_mbsize": 4,
"oplog_location": "/path/to/store/oplog/",
"free_space_percentage_snapshot": "25",
"mdb_progress_loglevel": 1,
"snapshot_mount_path": "/path/to/mount/snapshot/",
"max_streams":
{
"global_default":2,
"FQDN_backup_host_1":1
}
}