为什么我的 CloudenDure 复制过程卡在 100%,且控制台中显示“Finalizing Initial Sync”(最终确定初始同步)消息?

上次更新日期:2020 年 12 月 7 日

我正在使用 CloudEndure Migration 或 CloudEndure Disaster Recovery。复制过程停留在 100%,且 CloudenDure 控制台中显示“Finalizing initial sync”(最终确定初始同步)的消息。如何解决此问题?

简短描述

如果复制过程在最后的初始同步阶段停留在 100%,您可能会在 CloudenDure 控制台中看到两条消息:

  • “Finalizing Initial Sync - Flushing Backlog”(最终确定初始同步 - 刷新积压)
  • “Finalizing Initial Sync - Creating First Launchable Snapshot”(最终确定初始同步 - 创建第一个其启动的快照)出现此错误可能是由于以下原因:

解决方法

最终确定初始同步 - 刷新积压

等待积压完成刷新后,同步才能初始化。

如果源计算机的写入操作非常密集,积压可能会随着时间的推移而增加。计算机可能仍在 CloudenDure 控制台上仍处于 Finalizing Initial Sync(最终确定初始同步)状态。如果发生此情况,请执行以下操作:

1.    测试复制速度测试复制速度后,计算所需的带宽,然后将带宽分配给源计算机。

2.    验证您是否禁用了 Replication Settings(复制设置)下的 Network bandwidth throttling(网络带宽限制)选项。如果您的配置需要启用此选项,请确保至少将值设置为所需的最低带宽。有关更多信息,请参阅 [可选] 启用网络带宽限制

3.    使用 Amazon CloudWatch 指标检查复制服务器的网络/磁盘利用率。如果资源限制了服务器,请使用专用复制服务器,或选择使用快速 SSD 数据磁盘而不是 HDD 磁盘。

要验证特定源计算机使用的复制服务器,请在源计算机上运行 netstat 命令,如以下示例所示。记下本计算机通过端口 1500 连接到的远程 IP。

$ netstat -anp | grep ":1500"

或者,查看源计算机上的 agent.log.0 文件以确定正在使用的确切复制服务器:

$ sudo cat /var/lib/cloudendure/agent.log.0 | grep :1500 | tail -n 1

最终确定初始同步 - 创建第一个可启动的快照

要排查此错误消息,请执行以下各项:

  • 验证 CloudenDure 用户的 AWS Identity and Access Management (IAM) 策略是否具有运行所需的 Amazon Elastic Compute Cloud (Amazon EC2) API 的所有权限。
  • 确认复制服务器与区域内的 Amazon EC2 终端节点进行通信。
  • 识别任何网络连接阻止程序。
  • Replication Settings(复制设置)中检查最近的更改。
  • 确保您使用的是正确的代理设置。
  • 确认 CloudenDure 代理工作正常。
  • 检查服务配额问题。

验证 CloudenDure 用户的 IAM 策略是否具有运行 Amazon EC2 API 所需的所有权限

有关示例策略,请参阅 IAM 示例策略。或者,查看 AWS CloudTrail 事件历史记录以确认配置的 CloudDure IAM 用户的任何 API 失败情况。

确认复制服务器与区域内的 Amazon EC2 终端节点进行通信

1.    在与暂存区域相同的子网中启动新的 Linux 计算机。

2.    登录到新计算机,然后运行以下命令来测试连接性。在以下示例命令中,请将 us-east-1 替换为您的区域。

$ dig ec2.us-east-1.amazonaws.com
$ telnet ec2.us-east-1.amazonaws.com 443
$ wget https://ec2.us-east-1.amazonaws.com

如果上述任何命令失败,则存在网络连接问题。继续进入以下部分。

识别任何网络连接阻止程序

验证 VPC、子网、安全组、网络访问控制列表 (ACL) 和路由表设置是否与 Replication Settings(复制设置)一致。若不一致,可能会阻止从复制服务器到 Amazon EC2 终端节点的通信。

如果复制服务器在公有子网中启动,请执行以下操作:

1.    验证安全组、网络 ACL 和路由表是否允许与 TCP 端口 443 上的 Amazon EC2 终端节点进行通信。

2.    确保 enableDnsHostnamesenableDnsSupport 属性已在 VPC 级别被设置为 true

$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport

如果复制服务器在私有子网中启动,请执行以下操作:

1.    验证安全组、网络 ACL 和路由表是否允许与 TCP 端口 443 上的 Amazon EC2 终端节点进行通信。

2.    如果您在路由表中配置了 NAT 网关或 NAT 实例,请验证至 TCP 端口 443 上的 Amazon EC2 终端节点的出站流量是否正确流动。

3.    如果您将出站流量配置为通过中转网关或虚拟私有网关,请验证路由表是否允许出站流量到达 TCP 端口 443 上的区域 Amazon EC2 终端节点。

4.    验证内部还是外部防火墙是否阻止通信。

5.    如果 VPC 具有接口 VPC 终端节点,请确保 TCP 端口 443 上的 Amazon EC2 终端节点之间通过私有网络进行通信。为此,请执行以下操作:

验证与 VPC 终端节点关联的安全组是否允许来自 TCP 端口 443 上的复制实例的传入流量。

确保 enableDnsHostnamesenableDnsSupport 属性已在 VPC 级别被设置为 true。此外,请验证 VPC 接口终端节点上的 PrivateDnsEnabled 值是否设置为 true

$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport
$ aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-088d25a4bbf4a7abc

在 Replication Settings(复制设置)中检查最近的更改

您可以从 CloudenDure 事件日志跟踪对 Replication Settings(复制设置)的更改。例如,检查 Staging Area Tags(暂存区域标签)字段中是否插入了有效的标签。有关允许的字符列表,请参阅标签限制

确保您使用的是正确的代理设置

1.    如果您的复制服务器使用代理服务器,请确保代理上的设置允许与 TCP 端口 443 上的区域 Amazon EC2 终端节点进行通信。

2.    确保允许的 SSL 拦截和身份验证列表包括 console.cloudendure.com、有关更多信息,请参阅定义 AWS 的复制设置中的定义代理部分。

确认 CloudEndure 代理正常工作

确认 CloudenDure 代理在源计算机上正常工作。您可以检查 CloudenDure 代理日志是否存在可能的错误,以帮助查明任何问题。

检查 Amazon EC2 服务配额问题

服务配额问题 API 限制和速率限制问题可能会阻止 CloudenDure 创建第一个可启动的恢复快照。检查 CloudTrail 事件历史记录以确定是否存在服务配额或限制问题。

有关更多信息,请参阅 Amazon EC2 服务配额。</p


这篇文章对您有帮助吗?


您是否需要账单或技术支持?