排查问题 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

排查问题

在尝试任何其他故障排除步骤之前,我们建议您验证以下详细信息。

常规:检查日志文件

如果您在创建启用 VSS 的 EBS 快照时遇到问题或收到错误消息,则可以在 Systems Manager 控制台中查看命令输出。您还可以查看以下日志:

  • %ProgramData%\Amazon\SSM\InstanceData\InstanceID\document\orchestration\SSMCommandID\awsrunPowerShellScript\runPowerShellScript\stdout

  • %ProgramData%\Amazon\SSM\InstanceData\InstanceID\document\orchestration\SSMCommandID\awsrunPowerShellScript\runPowerShellScript\stderr

您还可以打开事件查看器 Windows 应用程序,然后选择 Windows 日志应用程序以查看其他日志。要专门查看来自 EC2 Windows VSS 提供程序和卷影复制服务的事件,请根据条款 Ec2VssSoftwareProviderVSS进行筛选。

如果正在使用 Systems Manager 和 VPC 端点,而且 Systems Manager Run Command 失败,请确认正确配置了如下端点:com.amazonaws.region.ec2。如果未定义 EC2 终端节点,枚举附加的 EBS 卷的调用将失败,这会导致 Systems Manager 命令失败。有关使用 Systems Manager 设置 VPC 终端节点的更多信息,请参阅 Amazon Systems Manager 用户指南中的创建 Virtual Private Cloud 终端节点

常规:在配置了代理的实例上使用 VSS

如果在使用代理访问 EC2 端点的实例上创建启用 VSS 的 EBS 快照时遇到问题,请确保以下几点:

  • 已配置代理,以便以 SYSTEM 身份运行的 Amazon Tools for Windows PowerShell 可以访问实例区域和 IMDS 中的 EC2 服务端点。

  • 已安装 2.0.1 或更高版本的 AwsVssComponents。从 AwsVssComponents 2.0.1 版本开始,EC2 VSS 提供商支持使用系统配置的 WinHTTP 代理。有关配置 WinHTTP 代理的更多信息,请参阅 Microsoft 网站上的 Windows 超文本传输协议(WINHTTP)的 Netsh 命令

错误:解冻管道连接超时、解冻时出错、等待 VSS 冻结超时或其他超时错误

EC2 Windows VSS 提供程序可能会由于实例上的活动或服务阻止启用了 VSS 的快照及时继续而超时。Windows VSS 框架提供了一个不可配置的 10 秒钟窗口,在此期间暂停与文件系统的通信。在此期间,对卷执行 AWSEC2-CreateVssSnapshot 快照。

以下问题可能会导致 EC2 Windows VSS Provider 在快照期间受到时间限制:

  • 对卷的 I/O 过多

  • 实例上 EC2 API 的响应速度缓慢

  • 片段化的卷

  • 与某些杀毒软件不兼容

  • VSS 应用程序编写者的问题

  • 当为大量 PowerShell 模块启用模块日志记录时,这样可能会导致 PowerShell 脚本运行缓慢

运行 AWSEC2-CreateVssSnapshot 命令文档时出现的大多数超时问题,与备份时实例上的工作负载过高有关。以下操作可以帮助您成功拍摄快照:

  • 重试 AWSEC2-CreateVssSnapshot 命令以查看快照尝试是否成功。如果在某些情况下重试成功,减少实例负载可能会使快照成功几率更高。

  • 等待片刻,让实例上的工作负载减少,然后重试该 AWSEC2-CreateVssSnapshot 命令。或者,当已知实例处于低压力时,您也可以尝试拍摄快照。

  • 在系统上的杀毒软件关闭时尝试拍摄 VSS 快照。如果这样解决了问题,请参阅杀毒软件说明并将其配置为允许 VSS 快照。

  • 如果在运行快照的同一区域内的账户中有大量 Amazon EC2 API 调用,则 API 节流可能会延迟快照操作。要降低节流的影响,请使用最新的 AwsVssComponents 软件包(版本 2.1.0 及更高版本,且具有先决权限)。该软件包利用 EC2 CreateSnapshots API 操作来减少变更操作的数量,例如按卷创建快照和标记。

  • 如果同时运行多个 AWSEC2-CreateVssSnapshot 命令脚本,则可以采取以下步骤来减少并发问题。

    • 考虑在 API 活动较低的时段安排快照。

    • 如果在 Systems Manager 控制台中(或 API SendCommand 中)使用 Run Command 来运行命令脚本,则可以使用 Systems Manager 速率控制来减少并发。

      还可以使用 Systems Manager 速率控制,来减少诸如 Amazon Backup 等服务(使用 Systems Manager 运行命令脚本)的并发。

  • 在 Shell 中运行命令 vssadmin list writers,看它是否在系统上任何写入程序的最后一个错误字段中报告任何错误。如果有写入程序报告超时错误,请考虑在实例负载较小时重新拍摄快照。

  • 当使用较小的实例类型(例如,t2 | t3 | t3a.nano 或 t2 | t3 | t3a.micro)时,可能会由于内存和 CPU 限制而出现超时。以下操作可能有助于减少超时问题。

    • 在拍摄快照之前,请尝试关闭内存或 CPU 密集型应用程序。

    • 尝试在实例活动较低的时段拍摄快照。

错误:无法调用方法。在此语言模式下,仅核心类型支持方法调用。

PowerShell 语言模式未设置为 FullLanguage 时,会发生此错误。AWSEC2-CreateVssSnapshotAWSEC2-ManageVssIo SSM 文档要求将 PowerShell 配置为 FullLanguage 模式。

要验证语言模式,请在 PowerShell 控制台中的实例上运行以下命令:

$ExecutionContext.SessionState.LanguageMode

有关语言模式的更多信息,请参阅 Microsoft 文档中的 about_Language_Modes