在 Application Migration Service 割接或测试启动后,如何解决 EC2 Windows 实例上的实例状态检查失败?

2 分钟阅读
0

我执行了 AWS Application Migration Service 割接或测试启动。现在,我在运行 Microsoft Windows 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上遇到状态检查失败。

简短描述

系统或实例状态检查失败时,EC2 实例将变得无法访问。使用 Application Migration Service 进行割接或测试启动后,由于以下一个或多个问题,实例状态检查可能会失败:

  • 无法启动操作系统 (OS)
  • 网络故障
  • CPU 和内存耗尽
  • 转换过程中的问题
  • 实例类型与操作系统不兼容

**注意:**由于 Windows 进行调整以适应 AWS 虚拟硬件,Windows 计算机的首次启动可能需要长达 45 分钟的时间。

解决方法

验证源计算机是否与您在启动模板中选择的实例类型兼容

1.    连接到您的源计算机。

2.    使用以下方法之一验证您的操作系统版本:

选择控制面板系统设置,然后检查 Windows 版本系统类型以验证是 32 位还是 64 位。

或者

以管理员身份在命令提示符窗口中运行 systeminfo 命令。命令输出会列出操作系统名称系统类型

3.    验证实例类型兼容性。

32 位源计算机

如果源实例是 32 位计算机,则使用以下实例类型之一:

  • t2.nano
  • t2.micro,
  • t2.small
  • t2.medium
  • c3.large
  • t1.micro
  • m1.small
  • m1.medium
  • c1.medium

64 位计算机

如果源计算机是 64 位且运行以下 Windows 版本之一,则迁移到 XEN 实例类型:

  • Windows Server 2003
  • Windows Server 2003 R2
  • Windows Server 2008

要获取 XEN 实例类型的完整列表,请运行以下 AWS 命令行界面 (AWS CLI) 命令:

aws ec2 describe-instance-types --filters Name=hypervisor,Values=xen --query InstanceTypes[].InstanceType

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

如果源计算机是 64 位并且运行 Windows Server 2008 R2 或更高版本,那么您可以使用任何 Windows 兼容的实例类型

故障排除

关闭或删除源计算机上的第三方防病毒软件

第三方防病毒软件或许会干扰转换过程。请关闭或删除防病毒软件,然后再次尝试启动目标。

连接辅助 ENI

第三方防火墙可能会阻止实例的主网络适配器上的连接,从而导致目标实例的状态检查失败。为避免此问题,请将辅助弹性网络接口附加到目标实例,然后连接到该实例。

使用不同的实例类型

XEN 实例使用半虚拟化驱动程序 (PV),而 Nitro 实例使用 AWS 弹性网络适配器 (ENA)AWS NVME 驱动程序。有关每种实例类型使用的驱动程序的列表,请参阅联网和存储功能摘要

使用上一节中的说明,确定源计算机是否与列出的两种 Windows 实例类型兼容。如果源计算机与两者兼容,请尝试使用 XEN 实例和 Nitro 实例启动目标。如果目标实例作为一种实例类型通过状态检查,而不是作为其他实例类型通过状态检查,则调整该实例的大小以查看其是否成功。如果问题与驱动程序有关,请运行 AWS Systems Manager Automation 运行手册 AWSSupport-UpgradeWindowsAWSDrivers 强制安装驱动程序。

也可以像对任何其他 EC2 Windows 实例那样,对目标启动的半状态检查进行故障排除。有关详细信息,请参阅对状态检查失败的实例进行故障排除

查看实例日志

如果您的新实例未能通过状态检查,请查看实例日志来确定原因。这些日志可帮助您排除实例状态检查失败的可能原因。目标实例中可能不存在以下所有日志:

  • C:\Program Files (x86)\AWS Replication Agent\migrate_script.log
  • C:\Program Files (x86)\AWS Replication Agent\migrate_script.log.sent
  • C:\Program Files (x86)\AWS Replication Agent\aws_nvme\awsnvme_dism.log
  • C:\Program Files (x86)\AWS Replication Agent\ena_2012R2_2016\ena_dism.log
  • C:\Program Files (x86)\AWS Replication Agent\PVinstall.log
  • C:\Windows\inf\setupapi.dev.log
  • C:\Windows\inf\setupapi.offline.log
  • C:\Program Files (x86)\AWS Replication Agent\SSMInstall.log

如需访问日志,请完成以下步骤:

1.    停止目标实例

**注意:**停止实例时会丢失一些数据。有关详细信息,请参阅在停止实例时发生的情况

2.    将 Amazon Elastic Block Storage (Amazon EBS) 根卷与已停止的实例分离

3.    将 EBS 根卷附加到可以作为辅助驱动器访问的实例,然后使其可供使用

4.    在前面列表中的位置收集日志。请查看日志,了解实例状态检查失败的可能原因。

**注意:**当使用此方法时,驱动器号映射可能与列出的日志位置不同,因为您使用的是辅助驱动器(而不是 C:\)。

如果上述故障排除步骤无法解决问题,请用 AWS Support 创建一个案例

相关信息

对状态检查失败的实例进行故障排除

Systeminfo(来自 Microsoft 网站)

AWS 官方
AWS 官方已更新 1 年前