将副本集成员迁移到新服务器
Overview
您可以通过 控制台将托管 副本集 MongoDB Ops Manager的一个成员替换为另一个成员。使用此进程可将副本集的成员迁移到新的根本的服务器。 此过程要求您:
预配新服务器。
向副本集添加一个额外成员。
关闭副本集的旧成员。
取消托管旧成员(可选)。
Considerations
初始化同步(Resumable Initial Sync)
添加新的副本集成员时,该成员必须执行初始同步,这需要一些时间才能完成,具体取决于数据集的大小。 有关初始同步的更多信息,请参阅副本集数据同步。
迁移多个成员
您可以一次删除或迁移多个副本集成员,但必须保留大多数投票成员。 如果需要删除更多投票成员,请一次删除一个。
例子
示例 1
您有一个四节点副本集。 所有节点都是有投票权的成员。 您只能删除一个节点,这会保留四个投票节点中三个的多数。 您可以稍后从剩余的三节点副本集中删除另一个节点。这会保留大多数剩余投票节点。
例子
示例 2
您有一个四节点副本集。 三个节点为有投票权成员,一个节点为无投票权成员。 您可以同时删除一名有投票权成员和一名无投票权成员。 这保留了三个投票节点中两个的多数。
要了解有关投票的更多信息,请参阅副本集高可用性和副本集选举。
在迁移期间删除成员可能会影响副本集确认写入的能力,具体取决于您使用的写关注级别。 有关更多信息,请参阅 MongoDB 手册中的写关注。
步骤
对要迁移的副本集的每个成员单独执行此过程。
预配新服务器。
请参阅配置服务器。
将成员添加到副本集。
在Member Configuration部分中,单击Add a Mongod添加新的 mongod
成员。
MongoDB Ops Manager显示mongod
的以下配置设置:
设置 | 说明 |
---|---|
Member | 从菜单中选择以下副本集节点角色之一:
|
Hostname | 从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。 此主机名可以是主机名、 FQDN 、 IPv4地址或IPv6地址。 |
Port | |
Votes | |
Priority | |
Delay | 指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 |
Build Indexes | 指定 |
Tags |
确保选择与新配置的服务器相对应的Hostname 。
配置新的mongod
进程。
在Replica Set Configuration部分中,查看Replica Set Settings标题下的表。 Process Name列列出了每个副本集节点的主机名和端口。 Ops Manager 最初会将进程分组在副本设置名称下。单击设置名称左侧的 图标列出与该副本关联的所有节点。
为与新添加的成员对应的Process Name配置以下设置:
设置 | 说明 |
---|---|
Version | 选择 Ops Manager 仅列出可用于您的部署的 MongoDB 版本。 要禁用此过滤,请参阅 |
Data Directory | 指定 每个 |
Log File |
验证新成员是否已同步。
在Deployment页面上,单击副本集的名称以打开集群视图。 确认每个新成员的状态不再处于Recovering
状态。
从副本集中删除旧成员。
在Deployment视图中,单击Modify 。
导航至 Member Configuration 部分。
单击要删除的成员的省略号按钮。
从菜单中选择Remove from Replica Set 。
重要
删除副本集主节点 (primary node in the replica set)节点成员会触发选举。 在选举完成之前,副本集无法进程写入操作。 有关副本集选举的完整文档,请参阅副本集选举。
单击Save返回到Deployment屏幕。
单击Review Changes ,然后单击Confirm & Deploy 。 Ops Manager将已删除的副本集成员转换为在Deployment视图中可见的独立运行的实例集群。
可选:删除旧成员。
要从 Ops Manager 经理中删除该成员,请单击省略号图标并选择Remove from Ops Manager 。
Ops Manager 不会自动关闭从管理中删除的进程。 如果在上一步中没有关闭进程,则必须通过直接连接到主机来手动关闭。
有关从 Ops Manager 经理中删除进程的完整文档,请参阅停止管理和/或监控一个部署。