Überwachen von Änderungen in Azure Stack Hub mithilfe des privilegierten Endpunkts
Sie können den privilegierten Endpunkt nutzen, um den Fortschritt einer Updateausführung für Azure Stack Hub zu überwachen. Darüber hinaus können Sie den privilegierten Endpunkt verwenden, um einen nicht erfolgreichen Updatevorgang ab dem letzten erfolgreichen Schritt fortzusetzen, wenn das Azure Stack Hub-Portal nicht mehr verfügbar ist. Das Azure Stack Hub-Portal ist die empfohlene Methode zum Verwalten von Updates in Azure Stack Hub.
Die folgenden neuen PowerShell-Cmdlets für die Updateverwaltung sind im Update 1710 für in Azure Stack Hub integrierte Systeme enthalten.
Cmdlet | BESCHREIBUNG |
---|---|
Get-AzureStackUpdateStatus |
Gibt den Status des derzeit ausgeführten, abgeschlossenen oder fehlerhaften Updates zurück Stellt den allgemeinen Status des Updatevorgangs sowie ein XML-Dokument bereit, das den aktuellen Schritt und den zugehörigen Status beschreibt. |
Resume-AzureStackUpdate |
Nimmt ein fehlerhaftes Update an der Stelle wieder auf, an der der Fehler aufgetreten ist. In bestimmten Szenarien müssen Sie möglicherweise Schritte Risikominderung durchführen, bevor Sie das Update fortsetzen. |
Überprüfen der Verfügbarkeit von Cmdlets
Da die Cmdlets im Updatepaket 1710 für Azure Stack Hub neu sind, muss der Updatevorgang für 1710 einen bestimmten Punkt erreichen, bevor die Überwachungsfunktionen zur Verfügung steht. In der Regel sind die Cmdlets verfügbar, wenn der Status im Administratorportal angibt, dass sich das Update 1710 beim Schritt Speicherhosts neu starten befindet. Insbesondere kommt das Cmdletupdate vor in Schritt: Ausführen von Schritt 2.6: Aktualisieren der Positivliste „PrivilegedEndpoint“ .
Sie können auch programmgesteuert ermitteln, ob die Cmdlets verfügbar sind, indem Sie die Befehlsliste über den privilegierten Endpunkt abfragen. Führen Sie dazu die folgenden Befehle über den Hardwarelebenszyklushost oder über eine Arbeitsstation mit privilegiertem Zugriff aus. Stellen Sie außerdem sicher, dass es sich bei dem privilegierten Endpunkt um einen vertrauenswürdigen Host handelt. Weitere Informationen finden Sie in Schritt 1 von Zugreifen auf den privilegierten Endpunkt.
Erstellen Sie eine PowerShell-Sitzung auf einer der ERCS-VMs in Ihrer Azure Stack Hub-Umgebung (Präfix-ERCS01, Präfix-ERCS02 oder Präfix-ERCS03). Ersetzen Sie Präfix durch die genaue VM-Präfixzeichenfolge für Ihre Umgebung.
$cred = Get-Credential $pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Wenn Sie zum Eingeben von Anmeldeinformationen aufgefordert werden, verwenden Sie das Konto <Azure Stack Hub-Domäne>\cloudadmin oder ein Konto, das Mitglied der Gruppe „CloudAdmins“ ist. Geben Sie für das CloudAdmin-Konto dasselbe Kennwort ein, das während der Installation für das Domänenadministratorkonto AzureStackAdmin bereitgestellt wurde.
Rufen Sie die vollständige Liste der Befehle ab, die im privilegierten Endpunkt verfügbar sind.
$commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command }
Ermitteln Sie, ob der privilegierte Endpunkt aktualisiert wurde.
$updateManagementModuleName = "Microsoft.Azurestack.UpdateManagement" if (($commands | ? Source -eq $updateManagementModuleName)) { Write-Host "Privileged endpoint was updated to support update monitoring tools." } else { Write-Host "Privileged endpoint has not been updated yet. Please try again later." }
Listen Sie die spezifischen Befehle des Moduls Microsoft.AzureStack.UpdateManagement auf.
$commands | ? Source -eq $updateManagementModuleName
Beispiel:
$commands | ? Source -eq $updateManagementModuleName CommandType Name Version Source PSComputerName ----------- ---- ------- ------ -------------- Function Get-AzureStackUpdateStatus 0.0 Microsoft.Azurestack.UpdateManagement Contoso-ercs01 Function Resume-AzureStackUpdate 0.0 Microsoft.Azurestack.UpdateManagement Contoso-ercs01
Verwenden der Cmdlets zur Updateverwaltung
Hinweis
Führen Sie die folgenden Befehle über den Hardwarelebenszyklushost oder über eine Arbeitsstation für privilegierten Zugriff aus. Stellen Sie außerdem sicher, dass es sich bei dem privilegierten Endpunkt um einen vertrauenswürdigen Host handelt. Weitere Informationen finden Sie in Schritt 1 von Zugreifen auf den privilegierten Endpunkt.
Herstellen einer Verbindung mit dem privilegierten Endpunkt und Zuweisen einer Sitzungsvariable
Führen Sie die folgenden Befehle aus, um eine PowerShell-Sitzung auf einer der ERCS-VMs in Ihrer Azure Stack Hub-Umgebung (Präfix-ERCS01, Präfix-ERCS02 oder Präfix-ERCS03) zu erstellen und eine Sitzungsvariable zuzuweisen.
$cred = Get-Credential
$pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Wenn Sie zum Eingeben von Anmeldeinformationen aufgefordert werden, verwenden Sie das Konto <Azure Stack Hub-Domäne>\cloudadmin oder ein Konto, das Mitglied der Gruppe „CloudAdmins“ ist. Geben Sie für das CloudAdmin-Konto dasselbe Kennwort ein, das während der Installation für das Domänenadministratorkonto AzureStackAdmin bereitgestellt wurde.
Abrufen des allgemeinen Status des aktuellen Updatevorgangs
Um den allgemeinen Status des aktuellen Updatevorgangs zu erhalten, führen Sie die folgenden Befehle aus:
$statusString = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus -StatusOnly }
$statusString.Value
Mögliche Werte sind:
- Wird ausgeführt
- Abgeschlossen
- Fehler
- Canceled
Sie können diese Befehle mehrfach ausführen, um den aktuellen Status abzurufen. Sie müssen eine Verbindung nicht erneut herstellen, um die Überprüfung zu wiederholen.
Abrufen des vollständigen Ausführungsstatus des Updates mit Details
Sie können die vollständige Zusammenfassung des Updatevorgangs als XML-Zeichenfolge abrufen. Sie können die Zeichenfolge zur Überprüfung in eine Datei schreiben oder als XML-Dokument anlegen, die Sie dann mit PowerShell analysieren. Der folgende Befehl analysiert den XML-Code, um eine hierarchische Liste der aktuell ausgeführten Schritte abzurufen:
[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }
$updateStatus.SelectNodes("//Step[@Status='InProgress']")
Im folgenden Beispiel besteht im obersten Schritt (Cloudupdate) ein untergeordneter Plan, die Speicherhosts zu aktualisieren und neu zu starten. Im Beispiel wird gezeigt, dass der Plan zum Aktualisieren der Speicherhosts den Blob Storage-Dienst auf einem der Hosts aktualisiert.
[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }
$updateStatus.SelectNodes("//Step[@Status='InProgress']")
FullStepIndex : 2
Index : 2
Name : Cloud Update
Description : Perform cloud update.
StartTimeUtc : 2017-10-13T12:50:39.9020351Z
Status : InProgress
Task : Task
FullStepIndex : 2.9
Index : 9
Name : Restart Storage Hosts
Description : Restart Storage Hosts.
EceErrorAction : Stop
StartTimeUtc : 2017-10-13T15:44:06.7431447Z
Status : InProgress
Task : Task
FullStepIndex : 2.9.2
Index : 2
Name : PreUpdate ACS Blob Service
Description : Check function level, update deployment artifacts, configure Blob service settings
StartTimeUtc : 2017-10-13T15:44:26.0708525Z
Status : InProgress
Task : Task
Fortsetzen eines fehlerhaften Updatevorgangs
Wenn beim Update ein Fehler auftritt, können Sie den Updatevorgang an der Stelle, an der er abgebrochen wurde, wieder aufnehmen.
Invoke-Command -Session $pepSession -ScriptBlock { Resume-AzureStackUpdate }
Problembehandlung
Der privilegierte Endpunkt ist auf allen ERCS-VMs in der Azure Stack Hub-Umgebung verfügbar. Da die Verbindung nicht an einem Endpunkt mit Hochverfügbarkeit hergestellt wird, können gelegentlich Unterbrechungen, Warnungen oder Fehlermeldungen auftreten. Diese Meldungen weisen möglicherweise darauf hin, dass die Sitzung getrennt wurde oder ein Fehler bei der Kommunikation mit dem ECE-Dienst aufgetreten ist. Dies ist das erwartete Verhalten. Sie können den Vorgang nach einigen Minuten wiederholen oder eine neue Sitzung mit privilegiertem Endpunkt auf einer anderen ERCS-VM erstellen.
Weitere Informationen zur Problembehandlung von Updates finden Sie unter Azure Stack-Problembehandlung.