常见问题解答:复制和副本集
本页内容
本文档解答了关于MongoDB复制的一些常见问题。还可以参考复制部分,其中提供了复制的概述,包括关于
什么是MongoDB支持的复制类型?
MongoDB支持副本集,最多可以有50个节点。
复制是否可以通过互联网和WAN连接工作?
是的。
MongoDB能否通过“嘈杂”的连接进行复制?
是的,但会伴随连接故障和明显的延迟。
副本集的成员将尝试在网络中断后重新连接到副本集的其他成员。这不需要管理员干预。然而,如果副本集节点之间的网络连接非常缓慢,节点成员可能无法跟上复制的步伐。
为什么在复制已经提供数据冗余的情况下还要使用日志记录?
日志记录有助于加快崩溃恢复。
日志记录对于防止电源故障尤其有用,特别是当你的副本集位于单个数据中心或电源回路中时。
当副本集运行日志记录时,可以在没有额外干预的情况下安全地重新启动mongod
实例。
注意
日志记录需要为写操作占用一些资源开销。然而,日志记录对读取性能没有影响。
从MongoDB v2.0及更高版本的64位构建开始,日志记录默认启用。
仲裁者与副本集的其他成员之间交换哪些信息?
仲裁者永远不会接收集合的内容,但会与副本集的其他成员交换以下数据
用于在副本集上对仲裁者进行身份验证的凭据。这些交换是加密的。
副本集配置数据和投票数据。此信息未加密。只有凭据交换是加密的。
如果您的MongoDB部署使用TLS/SSL,那么仲裁者与其他副本集成员之间的所有通信都是安全的。
有关更多信息,请参阅配置 mongod
和 mongos
以TLS/SSL的文档。与所有MongoDB组件一样,在安全网络上运行仲裁者。
副本集成员使用不同数量的磁盘空间是否正常?
是的。
包括不同的oplog大小、不同的存储碎片化程度以及MongoDB的数据文件预分配等因素可能导致节点之间存储利用率有所差异。当您在不同时间添加成员时,存储使用差异将最为明显。
能否重命名副本集?
是的,未分片的副本集可以被重命名。此过程需要停机时间。
要了解如何重命名您的副本集,请参阅重命名自托管副本集。
在重命名副本集之前,请执行MongoDB部署的全备份。