Problembehandlung bei Windows-VSS-basierten EBS-Snapshots - Amazon Elastic Compute Cloud

Problembehandlung bei Windows-VSS-basierten EBS-Snapshots

Bevor Sie andere Schritte zur Fehlerbehebung ausprobieren, empfehlen wir Ihnen, die folgenden Details zu überprüfen.

Protokolldateien prüfen

Wenn beim Erstellen von VSS-basierten EBS-Snapshots Probleme auftreten oder Fehlermeldungen angezeigt werden, können Sie die Befehlsausgabe in der Systems-Manager-Konsole anzeigen.

Für Systems-Manager-Dokumente, die VSS-Snapshots erstellen, können Sie den CollectDiagnosticLogs-Parameter zur Laufzeit auf „True“ setzen. Wenn der CollectDiagnosticLogs-Parameter auf „True“ gesetzt ist, sammelt VSS zusätzliche Protokolle, um das Debuggen zu erleichtern. Weitere Informationen finden Sie unter Zusätzliche Diagnoseprotokolle sammeln.

Wenn Sie Diagnoseprotokolle sammeln, speichert das Systems-Manager-Dokument sie auf Ihrer Instance am folgenden Ort: C:\ProgramData\Amazon\AwsVss\Logs\timestamp.zip. Der Standardwert für den Parameter CollectDiagnosticLogs ist „False“.

Anmerkung

Wenn Sie weitere Hilfe beim Debuggen benötigen, können Sie die .zip-Datei an Support senden.

Die folgenden zusätzlichen Protokolle sind verfügbar, unabhängig davon, ob Sie Diagnoseprotokolle sammeln oder nicht:

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

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

Sie können auch die Windows-Anwendung Event Viewer öffnen und Windows Logs (Windows-Protokolle), Application (Anwendung) auswählen, um zusätzliche Protokolle anzuzeigen. Um Ereignisse speziell vom EC2 Windows VSS Provider und dem Volume Shadow Copy Service anzuzeigen, filtern Sie nach Source (Quelle) nach den Begriffen Ec2VssSoftwareProvider und VSS.

Wenn Sie Systems Manager mit VPC-Endpunkten verwenden und die API-Aktion send-command von Systems Manager (Run Command in der Konsole) fehlgeschlagen ist, überprüfen Sie, ob Sie den folgenden Endpunkt richtig konfiguriert haben: com.amazonaws.region.ec2.

Ohne den definierten Amazon-EC2-Endpunkt schlägt der Aufruf zur Auflistung angefügter EBS-Volumes fehl. Dies führt dazu, dass der Systems-Manager-Befehl fehlschlägt. Weitere Informationen zum Einrichten von VPC-Endpunkten mit Systems Manager finden Sie unter Erstellen eines Virtual Private Cloud-Endpunkts im Benutzerhandbuch für AWS Systems Manager.

Zusätzliche Diagnoseprotokolle sammeln

Um zusätzliche Diagnoseprotokolle zu sammeln, wenn Sie das VSS-Snapshot-Dokument mit dem Sendebefehl von Systems Manager ausführen, setzen Sie den CollectDiagnosticLogs-Eingabeparameter zur Laufzeit auf „True“. Wir empfehlen Ihnen, diesen Parameter bei der Problembehandlung auf „True“ festzulegen.

Wählen Sie eine der folgenden Registerkarten, um ein Befehlszeilenbeispiel anzuzeigen.

AWS CLI

Im folgenden Beispiel wird das AWSEC2-CreateVssSnapshot-Systems-Manager-Dokument in der AWS CLI ausgeführt:

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

Im folgenden Beispiel wird das AWSEC2-CreateVssSnapshot-Systems-Manager-Dokument in PowerShell ausgeführt:

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 auf Instances mit konfiguriertem Proxy verwenden

Wenn beim Erstellen von VSS-fähigen EBS-Snapshots in Instances, die einen Proxy zum Erreichen von EC2-Endpunkten verwenden, Probleme auftreten, stellen Sie folgende Einstellungen an Ihrer Instance sicher:

  • Überprüfen Sie, ob der Proxy so konfiguriert ist, dass die EC2-Service-Endpunkte in der Region der Instance und IMDS erreichbar sind, indem AWS Tools for Windows PowerShell als SYSTEM ausgeführt werden.

  • Um die Verwendung des vom System konfigurierten WinHTTP-Proxys zu unterstützen, stellen Sie sicher, dass Sie die neueste AwsVssComponents-Version auf Ihrer Instance installiert haben. Weitere Informationen zum Konfigurieren des WinHTTP-Proxys finden Sie unter Netsh-Befehle für Windows Hypertext Transfer Protocol (WINHTTP) auf der Microsoft-Website.

Fehler: Zeitüberschreitung bei der Thaw-Pipe-Verbindung, Fehler beim Thaw, Zeitüberschreitung beim Warten auf VSS Freeze oder andere Zeitüberschreitungsfehler

Der EC2-Windows-VSS-Provider kann aufgrund von Aktivitäten oder Services auf der Instance, die verhindern, dass VSS-fähige Snapshots rechtzeitig ausgeführt werden, die Zeit überschreiten. Das Windows VSS Framework bietet ein nicht konfigurierbares 10-Sekunden-Fenster, in dem die Kommunikation mit dem Dateisystem unterbrochen wird. Während dieser Zeit erstellt AWSEC2-CreateVssSnapshot Snapshots Ihrer Volumes.

Die folgenden Probleme können dazu führen, dass der EC2 Windows VSS Provider während eines Snapshots auf Zeitlimits stößt:

  • Übermäßiger I/O für ein Volume

  • Langsame Reaktion der EC2-API auf der Instance

  • Fragmentierte Volumes

  • Inkompatibilität mit einigen Antivirensoftwares

  • Probleme mit einem VSS Application Writer

  • Wenn die Modul-Logging für eine große Anzahl von PowerShell-Modulen aktiviert ist, kann dies dazu führen, dass PowerShell-Skripts langsam ausgeführt werden

Die meisten Zeitüberschreitungsprobleme, die bei der Ausführung des AWSEC2-CreateVssSnapshot-Befehlsdokuments auftreten, hängen damit zusammen, dass die Workload auf der Instance zum Zeitpunkt der Sicherung zu hoch ist. Die folgenden Aktionen können Ihnen dabei helfen, einen erfolgreichen Snapshot zu erstellen:

  • Wiederholen Sie den Befehl AWSEC2-CreateVssSnapshot, um zu sehen, ob der Snapshot-Versuch erfolgreich ist. Wenn der Wiederholungsversuch in einigen Fällen erfolgreich ist, kann das Reduzieren der Instance-Last Snapshots erfolgreicher machen.

  • Warten Sie eine Weile, bis der Workload der Instance abnimmt, und wiederholen Sie den Befehl AWSEC2-CreateVssSnapshot. Alternativ können Sie Snapshots versuchen, wenn bekannt ist, dass die Instance unter geringem Stress steht.

  • Versuchen Sie VSS-Snapshots, wenn die Antivirensoftware auf dem System ausgeschaltet ist. Wenn das Problem dadurch behoben wird, lesen Sie die Anweisungen der Antivirensoftware und konfigurieren Sie sie so, dass VSS-Snapshots zulässig sind.

  • Wenn Ihr Konto in derselben Region, in der Sie einen Snapshot ausführen, eine große Anzahl von Amazon-EC2-API-Aufrufen enthält, kann die API-Drosselung Snapshot-Vorgänge verzögern. Verwenden Sie das neueste AwsVssComponents-Paket, um die Auswirkungen der Drosselung zu reduzieren. Dieses Paket verwendet die EC2-API-Aktion CreateSnapshots, um die Anzahl mutierender Aktionen wie das Erstellen und Taggen von Snapshots pro Volume zu reduzieren.

  • Wenn Sie mehrere AWSEC2-CreateVssSnapshot-Befehlsskripte gleichzeitig ausführen, können Sie die folgenden Schritte unternehmen, um Gleichzeitigkeitsprobleme zu verringern.

    • Erwägen Sie die Planung von Snapshots in Zeiten geringerer API-Aktivität.

    • Wenn Sie Run Command in der Systems-Manager-Konsole (oder SendCommand in der API) verwenden, um das Befehlsskript auszuführen, können Sie die Systems-Manager-Ratensteuerung verwenden, um die Gleichzeitigkeit zu reduzieren.

      Sie können auch Systems-Manager-Ratensteuerungen verwenden, um die Gleichzeitigkeit von Services wie AWS Backup zu reduzieren, die Systems Manager zur Ausführung des Befehlsskripts verwenden.

  • Führen Sie den Befehl vssadmin list writers in einer Shell aus und prüfen Sie, ob er Fehler im Feld Last error (Letzter Fehler) für alle Autoren auf dem System meldet. Wenn Autoren einen time out (Timeout)-Fehler melden, sollten Sie Snapshots erneut versuchen, Snapshots erneut zu versuchen, wenn die Instance weniger belastet ist.

  • Wenn Sie kleinere Instance-Typen wie t2 | t3 | t3a.nano oder t2 | t3 | t3a.micro verwenden, kann es aufgrund von Speicher- und CPU-Einschränkungen zu Timeouts kommen. Die folgenden Aktionen können dazu beitragen, Timeout-Probleme zu reduzieren.

    • Versuchen Sie, speicher- oder CPU-intensive Anwendungen zu schließen, bevor Sie Snapshots erstellen.

    • Versuchen Sie, Snapshots in Zeiten mit geringerer Instance-Aktivität zu erstellen.

Fehler: Methode kann nicht aufgerufen werden. Der Methodenaufruf wird in diesem Sprachmodus nur für Kerntypen unterstützt.

Dieser Fehler tritt auf, wenn der PowerShell-Sprachmodus nicht auf FullLanguage eingestellt ist. Das SSM-Dokumente AWSEC2-CreateVssSnapshot erfordert, dass PowerShell im FullLanguage-Modus konfiguriert ist.

Um den Sprachmodus zu überprüfen, führen Sie den folgenden Befehl auf der Instance in einer PowerShell-Konsole aus:

$ExecutionContext.SessionState.LanguageMode

Weitere Informationen über Sprachmodi finden Sie unter about_Language_Modes in der Microsoft-Dokumentation.