常见问题解答:复制和副本集
在此页面上
本文档回答了有关MongoDB中复制的常见问题。 另请参阅手册中的复制部分,其中概述了复制,包括以下详细信息:
MongoDB 支持什么类型的复制?
MongoDB 支持副本集,副本集最多可以有 50 个节点。
是否可以通过 Internet 和 WAN 连接复制?
可以。
MongoDB 可以通过“嘈杂”的连接复制吗?
是的,但无法避免会出现连接失败和明显的延迟。
该集合的成员将尝试重新连接到该集合的其他成员以响应网络抖动。 这不需要管理员干预。 然而,如果副本集中节点之间的网络连接非常慢,则节点成员可能无法跟上复制速度。
如果复制已经提供数据冗余,为什么还要使用日志?
日志有助于加快崩溃恢复速度。
日志对于防范电源故障特别有用,特别是在副本集位于单个数据中心或电源电路时。
在副本集运行并启用日志时,您可以安全地重新启动 mongod
实例,而无需进行额外的干预。
注意
对于写入操作,日志需要一定的资源开销。不过,日志对读取性能没有任何影响。
默认情况下,在所有 64 位版本的 MongoDB 2.0 和更高版本上启用日志。
仲裁节点与副本集的其余节点交换哪些信息?
仲裁节点永远不会接收集合的内容,但会与副本集的其余部分交换以下数据:
用于使用副本集对仲裁节点进行身份验证的凭证。这些交换未经加密。
副本集配置数据和投票数据。该信息未加密。仅凭证交换被加密。
如果 MongoDB 部署使用 TLS/SSL,则仲裁节点与副本集的其他节点之间的所有通信是安全的。
有关更多信息,请参阅为 TLS/SSL 配置 mongod
和 mongos
文档。与所有 MongoDB 组件一样,请在安全网络上运行仲裁节点。
副本集节点使用不同数量的磁盘空间是否正常?
可以。
不同的 oplog 大小、不同级别的存储碎片以及 MongoDB 的数据文件预分配等因素可能会导致节点之间的存储利用率存在一些差异。 当您在不同时间添加成员时,存储使用差异将最为明显。
是否可以重命名副本集?
是,可以重命名未分片的副本集。该过程需要停机。
要学习;了解如何重命名副本集,请参阅重命名自管理副本集。
在重命名副本集之前,请执行完整的 MongoDB 部署备份。