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