疑難排解以視窗 VSS 為基礎的 EBS 快照 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

疑難排解以視窗 VSS 為基礎的 EBS 快照

在嘗試任何其他疑難排解步驟之前,建議您先確認下列詳細資料。

  • 確保您符合所有 必要條件

  • 確認您使用您作業系統適用的 AwsVssComponents 套件最新 支援 Windows OS 版本。您觀察到的問題可能已在較新版本中得到解決。

檢查記錄檔

如果您在建立啟用 VSS 的 EBS 快照時遇到問題或收到錯誤訊息,您可以在 Systems Manager 主控台中檢視命令輸出。

對於建立 VSS 快照的 Systems Manager 文件,您可以在執行時間將CollectDiagnosticLogs參數設定為 True ""。當CollectDiagnosticLogs參數設定為 "True「時,VSS 會收集其他記錄檔以協助偵錯。如需詳細資訊,請參閱 收集其他診斷記錄

如果您收集診斷記錄檔,Systems Manager 文件會將它們儲存在您的執行個體中,位於下列位置:C:\ProgramData\Amazon\AwsVss\Logs\timestamp.zipCollectDiagnosticLogs參數的預設值為 "False"。

注意

如需其他偵錯說明,您可以將.zip檔案傳送至 AWS Support。

無論您是否收集診斷記錄,都可以使用下列其他記錄檔:

  • %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 SendCommandAPI 動作 (在主控台中執行命令) 失敗,請確認您已正確設定下列端點:com.amazonaws。 區域 .ec2。

如果沒有定義 Amazon EC2 端點,列舉連接的 EBS 磁碟區的呼叫會失敗,進而導致 Systems Manager 命令失敗。如需有關使用 Systems Manager 設定 VPC 端點的詳細資訊,請參閱 https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html 使用者指南中的AWS Systems Manager 建立 Virtual Private Cloud 端點

收集其他診斷記錄

若要在使用 Systems Manager send 命令執行 VSS 快照集文件時收集其他診斷記錄,請在執行階段將CollectDiagnosticLogs輸入參數設定為 True ""。建議您在疑難排解時將此參數設定為 True ""。

若要查看指令行範例,請選取下列其中一個標籤。

AWS CLI

下列範例會在中執行 AWSEC2-CreateVssSnapshot Systems Manager 文件 AWS CLI:

aws ssm send-command \ --document-name "AWSEC2-CreateVssSnapshot" \ --instance-ids "i-1234567890abcdef0" \ --parameters '{"description":["Example - create diagnostic logs at runtime."],"tags":["Key=tag_name,Value=tag_value"],"CollectDiagnosticLogs":["True"]}'
PowerShell

下列範例會在中執行 AWSEC2-CreateVssSnapshot Systems Manager 文件 PowerShell:

Send-SSMCommand -DocumentName AWSEC2-CreateVssSnapshot -InstanceId "i-1234567890abcdef0" -Parameter @{'description'='Example - create diagnostic logs at runtime.';'tags'='Key=tag_name,Value=tag_value';'CollectDiagnosticLogs'='True'}

在已設定 Proxy 的執行個體上使用 VSS

如果在使用代理連線 EC2 端點的執行個體上建立啟用 VSS 的 EBS 快照時發生問題,請確認以下事項:

  • 代理伺服器經過設定,以便透過以 SYSTEM 身分執行來存取執 AWS Tools for Windows PowerShell 行個體區域和 IMDS 中的 EC2 服務端點。

  • 已安裝 AwsVssComponents 2.0.1 版或更新版本。從 AwsVssComponents 2.0.1 版開始,EC2 VSS 提供者支援使用系統所設定的 WinHTTP 代理。如需設定 WinHTTP 代理的詳細資訊,請前往 Microsoft 網站參閱 Windows 超文字傳輸通訊協定 (WINHTTP) 的 Netsh 命令

錯誤:Thaw 管道連線逾時、Thaw 發生錯誤、VSS Freeze 等候逾時或其他逾時錯誤

EC2 Windows VSS 供應程式可能會因為執行個體上的活動或服務導致具備 VSS 功能的 EBS 快照無法及時進行而逾時。Windows VSS 架構會提供無法設定的 10 秒時段,暫停與檔案系統的通訊。在這段期間,AWSEC2-CreateVssSnapshot 會對磁碟區執行快照。

下列問題可能造成 EC2 Windows VSS 供應程式在快照期間遇到時間限制:

  • 磁碟區的過多 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 速率控制來減少使用 Systems Manager 執行命令指令碼之類 AWS Backup 服務的並行性。

  • 在 Shell 中執行命令 vssadmin list writers,並查看是否有回報系統上任何寫入器的上次錯誤欄位中任何錯誤。如有任何寫入器回報逾時錯誤,請考慮在執行個體負載較少時重試快照。

  • 當您使用較小的執行個體類型 (例如 t2 | t3 | t3a.nano 或 t2 | t3 | t3a.micro),可能會因記憶體和 CPU 限制而發生逾時。下列動作可能有助於減少逾時問題。

    • 在建立快照之前,請嘗試關閉記憶體或 CPU 密集型應用程式。

    • 嘗試在執行個體活動較低期間建立快照。

錯誤:無法叫用方法。僅在此語言模式下的核心類型上支援方法調用

PowerShell 語言模式未設定為時,您將會遇到此錯誤FullLanguageAWSEC2-CreateVssSnapshotAWSEC2-ManageVssIo SSM 文件需 PowerShell 要設定為FullLanguage模式。

若要驗證語言模式,請在PowerShell 主控台的執行個體上執行下列命令:

$ExecutionContext.SessionState.LanguageMode

如需語言模式的詳細資訊,請參閱 Microsoft 文件中的 about_Language_Modes