Initialisieren des HGS-Clusters mithilfe des Schlüsselmodus in einer neuen dedizierten Gesamtstruktur (Standard)
Clients können jeden HGS-Knoten (Host Guardian Service, Host-Überwachungsdienst) ganz einfach kontaktieren, indem sie den verteilten Netzwerknamen (Distributed Network Name, DNN) des Failoverclusters verwenden. Sie müssen einen DNN auswählen. Dieser Name wird im HGS-DNS-Dienst registriert. Ein Beispiel: Wenn Sie über 3 HGS-Knoten mit den Hostnamen HGS01, HGS02 und HGS03 verfügen, können Sie „hgs“ oder „HgsCluster“ als DNN auswählen.
Suchen Sie Ihre HGS-Zertifikate. Sie benötigen ein Signaturzertifikat und ein Verschlüsselungszertifikat, um den Host-Überwachungsdienst-Cluster zu initialisieren. Am einfachsten lassen sich Zertifikate für den Host-Überwachungsdienst bereitstellen, indem für jedes Zertifikat eine kennwortgeschützte PFX-Datei erstellt wird, die sowohl die öffentlichen als auch privaten Schlüssel enthält. Wenn Sie HSM-gesicherte Schlüssel oder andere nicht exportierbare Zertifikate verwenden, stellen Sie sicher, dass das Zertifikat im Zertifikatspeicher des lokalen Computers installiert ist, bevor Sie fortfahren. Weitere Informationen zu den zu verwendenden Zertifikaten finden Sie unter Abrufen von Zertifikaten für den Host-Überwachungsdienst.
Führen Sie Initialize-HgsServer auf dem ersten HGS-Knoten in einem PowerShell-Fenster mit erhöhten Rechten aus. Die Syntax dieses Cmdlets unterstützt viele verschiedene Eingaben. Dies sind die beiden häufigsten Aufrufe:
Wenn Sie PFX-Dateien für Ihre Signatur- und Verschlüsselungszertifikate verwenden, führen Sie die folgenden Befehle aus:
$signingCertPass = Read-Host -AsSecureString -Prompt "Signing certificate password" $encryptionCertPass = Read-Host -AsSecureString -Prompt "Encryption certificate password" Initialize-HgsServer -HgsServiceName 'MyHgsDNN' -SigningCertificatePath '.\signCert.pfx' -SigningCertificatePassword $signingCertPass -EncryptionCertificatePath '.\encCert.pfx' -EncryptionCertificatePassword $encryptionCertPass -TrustHostkey
Wenn Sie nicht exportierbare Zertifikate verwenden, die im lokalen Zertifikatspeicher installiert sind, führen Sie den folgenden Befehl aus. Wenn Sie die Fingerabdrücke Ihrer Zertifikate nicht kennen, können Sie verfügbare Zertifikate auflisten, indem Sie
Get-ChildItem Cert:\LocalMachine\My
ausführen.Initialize-HgsServer -HgsServiceName 'MyHgsDNN' -SigningCertificateThumbprint '1A2B3C4D5E6F...' -EncryptionCertificateThumbprint '0F9E8D7C6B5A...' --TrustHostKey
Wenn Sie für den Host-Überwachungsdienst Zertifikate mit Fingerabdrücken bereitgestellt haben, werden Sie aufgefordert, dem Dienst Lesezugriff auf den privaten Schlüssel dieser Zertifikate zu gewähren. Führen Sie auf einem Server mit installierter Desktopdarstellung die folgenden Schritte aus:
- Öffnen Sie den lokalen Computerzertifikat-Manager (certlm.msc).
- Suchen Sie die Zertifikate, klicken Sie mit der rechten Maustaste, und wählen Sie „Alle Aufgaben“ > „Private Schlüssel verwalten“ aus.
- Klicken Sie auf Hinzufügen.
- Klicken Sie im Objektauswahlfenster auf Objekttypen, und aktivieren Sie Dienstkonten.
- Geben Sie den Namen des im Warnungstext von
Initialize-HgsServer
genannten Dienstkontos ein. - Stellen Sie sicher, dass das gMSA Lesezugriff auf den privaten Schlüssel hat.
In Server Core müssen Sie ein PowerShell-Modul herunterladen, das Sie beim Einrichten der Berechtigungen für private Schlüssel unterstützt.
Führen Sie
Install-Module GuardedFabricTools
auf dem HGS-Server aus, wenn dieser über eine Internetverbindung verfügt. Andernfalls führen SieSave-Module GuardedFabricTools
auf einem anderen Computer aus und kopieren das Modul auf den HGS-Server.Führen Sie aus
Import-Module GuardedFabricTools
. Dadurch werden zusätzliche Eigenschaften zu Zertifikatobjekten in PowerShell hinzugefügt.Suchen Sie den Zertifikatfingerabdruck in PowerShell mit folgendem Befehl:
Get-ChildItem Cert:\LocalMachine\My
Aktualisieren Sie die Zugriffssteuerungsliste, indem Sie im folgenden Code den Fingerabdruck durch Ihren Zertifikatfingerabdruck und das gMSA durch das im Warnungstext von
Initialize-HgsServer
aufgeführte Konto ersetzen.$certificate = Get-Item "Cert:\LocalMachine\1A2B3C..." $certificate.Acl = $certificate.Acl | Add-AccessRule "HgsSvc_1A2B3C" Read Allow
Wenn Sie HSM-gesicherte Zertifikate oder bei einem Drittanbieter für den Schlüsselspeicher gespeicherte Zertifikate verwenden, gelten diese Schritte möglicherweise nicht für Sie. Informieren Sie sich in der Dokumentation Ihres Schlüsselspeicheranbieters, um zu erfahren, wie Sie Berechtigungen für Ihren privaten Schlüssel verwalten. In einigen Fällen gibt es keine Autorisierung, oder die Autorisierung wird für den gesamten Computer bereitgestellt, wenn das Zertifikat installiert ist.
Das ist alles! In einer Produktionsumgebung sollten Sie weiterhin Ihrem Cluster zusätzliche HGS-Knoten hinzufügen.