Windows VSS 型 EBS 快照疑難排解 - Amazon Elastic Compute Cloud

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

Windows VSS 型 EBS 快照疑難排解

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

檢查日誌檔案

如果您在建立以 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 提供者和磁碟區影子複製服務中特有的事件,請在 和 Ec2VssSoftwareProvider 上依來源篩選VSS

如果您將 Systems Manager 與 VPC 端點搭配使用,且 Systems Manager SendCommand API動作 (在主控台中執行命令) 失敗,請確認您已正確設定下列端點:com.amazonaws。region.ec2.

如果未定義 Amazon EC2 端點,呼叫列舉連接的 EBS 磁碟區會失敗,這會導致 Systems Manager 命令失敗。如需使用 Systems Manager 設定 VPC 端點的詳細資訊,請參閱 AWS Systems Manager 使用者指南中的建立虛擬私有雲端端點

收集其他診斷日誌

若要在使用 Systems Manager 傳送命令執行 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 文件 in 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'}

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

如果您在使用代理來到達 VSS 端點的執行個體上建立以 Word 為基礎的 EC2 EBS快照時遇到問題,請在執行個體上驗證下列設定:

  • 確認代理已設定,以便以 EC2 AWS Tools for Windows PowerShell 執行,以存取執行個體區域和 IMDS 中的 SYSTEM 服務端點。

  • 若要支援使用系統設定的 WinHTTP 代理,請確定您已在執行個體上安裝AwsVssComponents最新版本。如需設定 WinHTTP 代理的詳細資訊,請參閱 Microsoft 網站上的適用於 Windows 超文字傳輸通訊協定 (WINHTTP) 的 Netsh 命令

錯誤:解凍管道連線逾時、解凍錯誤、等待 VSS Freeze 逾時或其他逾時錯誤

EC2 Windows VSS 提供者可能會因執行個體上的活動或服務而逾時,導致 VSS 型快照無法及時繼續執行。Windows VSS Framework 提供無法設定的 10 秒時段,在此期間會暫停與檔案系統的通訊。在這段期間,AWSEC2-CreateVssSnapshot 會對磁碟區執行快照。

下列問題可能會導致 EC2 Windows VSS 提供者在快照期間執行到時間限制:

  • 磁碟區的過多 I/O

  • API 執行個體上 EC2 的回應緩慢

  • 分段的磁碟區

  • 與某些防毒軟體不相容

  • VSS 應用程式寫入器的問題

  • 為大量 PowerShell 模組啟用模組日誌記錄時,可能會導致 PowerShell 指令碼緩慢執行

執行 AWSEC2-CreateVssSnapshot 命令文件時遇到的大部分逾時問題是與備份時執行個體的工作負載過高相關。下列動作可協助您成功建立快照:

  • 重試 AWSEC2-CreateVssSnapshot 命令來查看快照是否成功。若在某些情況下重試成功,減少執行個體負載可能使快照更加成功。

  • 等候一段時間,待執行個體上的工作負載減少,再重試 AWSEC2-CreateVssSnapshot 命令。或者,您可以在執行個體處於低壓力時嘗試快照。

  • 關閉系統上的防毒軟體時,嘗試 VSS 快照。如果這樣可以解決問題,請參閱防毒軟體指示,並將其設定為允許 VSS 快照。

  • 如果您的帳戶在您執行快照的相同區域中有大量的 Amazon EC2 API呼叫,API 限流可能會延遲快照操作。若要減少限流影響,請使用最新的AwsVssComponents套件。此套件利用 EC2 CreateSnapshots API動作來減少每個磁碟區快照建立和標記等靜音動作的數量。

  • 如果您同時執行多個 AWSEC2-CreateVssSnapshot 命令指令碼,您可以採取下列步驟來減少並行問題。

    • 考慮在 API 活動較低的期間排程快照。

    • 如果您在 Systems Manager 主控台 Run Command (或 API) SendCommand中使用 來執行命令指令碼,您可以使用 Systems Manager 速率控制來減少並行。

      您也可以使用 Systems Manager 速率控制來減少 AWS Backup 此類服務的並行,使用 Systems Manager 來執行命令指令碼。

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

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

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

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

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

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

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

$ExecutionContext.SessionState.LanguageMode

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