Schritt für Schritt: Konfigurieren eines 2-Knoten-Clusters mit mehreren Standorten unter Windows Server 2008 R2 – Teil 3

In Teil 1 dieser Serie habe ich Ihnen gezeigt, wie Sie Ihren Cluster mit mehreren Standorten vorbereiten, einschließlich der Einrichtung des Mehrheitsquorums für Knoten und Dateifreigaben. In Teil 2 haben wir ein Videobeispiel zur Integration von SteelEye DataKeeper, einer der verfügbaren Cluster-Replikationslösungen, mit Failover-Clustering zur Konfiguration eines Hyper-V-Failoverclusters mit mehreren Standorten gesehen. In Teil 3 wird untersucht, wie Microsoft SQL Server 2008 in einem Cluster mit mehreren Standorten mit Windows Server 2008 Failover Clustering und SteelEye DataKeeper Cluster Edition konfiguriert werden kann.

Warum sollten Sie zunächst einen SQL Server-Cluster mit mehreren Standorten bereitstellen? SQL Server verfügt über eine Vielzahl von Hochverfügbarkeitsoptionen, einschließlich Protokollversand, Replikation (transaktional, Zusammenführen, Snapshot), Datenbankspiegelung und Failovercluster. Es gibt einen großartigen Artikel, der über die Hochverfügbarkeitsoptionen in SQL Server 2008 spricht, daher werde ich das Rad hier nicht neu erfinden. Wenn Sie mehr über alle Optionen erfahren möchten, lesen Sie diesen Artikel von Ross Mistry, Hochverfügbarkeitsoptionen in SQL Server 2008.

Wenn Sie den Artikel lesen, gibt Ross ‚Zusammenfassung die folgende Aussage ab…

“ Failoverclustering ist eindeutig die beste Wahl, um Systemausfallzeiten zu reduzieren und eine höhere Anwendungsverfügbarkeit für die gesamte Instanz von SQL Server innerhalb eines Standorts bereitzustellen.“

Was wäre, wenn Sie alle Vorteile haben könnten, die Ross umreißt, und auch vor Festplattenausfällen schützen und die Notwendigkeit eines SAN beseitigen könnten? Nun, die gute Nachricht ist, dass Sie genau das tun können, indem Sie einen Microsoft SQL Server 2008-Cluster mit mehreren Standorten unter Windows Server 2008 implementieren. SQL Server 2008 Multi-Site-Cluster kann ein bisschen eine falsche Bezeichnung sein. Es muss nicht unbedingt an geografisch verteilten Standorten bereitgestellt werden. Die Server können sich im selben Rack, im selben Raum, im selben Gebäude oder über Kontinente hinweg befinden. Wichtig ist, dass Sie Ihren Speicher als Single Point of Failure eliminieren und wenn Sie Ihre Clusterknoten an verschiedenen physischen Standorten lokalisieren, verfügen Sie auch über eine integrierte Ausfallsicherheit.

Eine der häufigsten Fragen und Unklarheiten zu SQL Server 2008- und Windows Server 2008-Failoverclustern ist die Unterstützung für Fehler in Subnetzen. Ja, Windows Server 2008-Failoverclustering unterstützt für die meisten Anwendungen Fehler zwischen Subnetzen, SQL Server 2008 gehört jedoch nicht zu diesen Anwendungen. Soweit ich weiß, unterstützt SQL Server 2008 R2 auch keine Verbindungen zwischen Subnetzen, wenn es veröffentlicht wird. Nach meinem Verständnis arbeitet das SQL-Team an der Unterstützung für subnetzübergreifendes Failover, wird jedoch irgendwann nach der Veröffentlichung von SQL Server 2008 R2 unterstützt. Daher müssen Sie vorerst Ihr Subnetz überspannen, wenn Sie Ihre Knoten geografisch trennen möchten.

Nachdem Sie nun festgelegt haben, einen SQL Server-Cluster mit mehreren Knoten bereitzustellen, müssen Sie die folgenden Schritte ausführen.

KONFIGURIEREN DES BASISCLUSTERS

Führen Sie die Schritte in Teil 1 dieser Serie aus, um einen Basiscluster mit 2 Knoten mit einem Knoten- und Dateifreigabemehrheitsquorum zu konfigurieren.

REPLIKATION KONFIGURIEREN

Für die Bereitstellung eines Clusters mit mehreren Standorten müssen Sie während dieses Teils der Konfiguration sehr eng mit Ihrem Replikationsanbieter zusammenarbeiten. Jeder Anbieter hat sehr spezifische Anweisungen zum Einrichten der Replikation und zum Erstellen der Speicherressourcen, die in Ihrem Cluster verwendet werden sollen. Für die Zwecke dieser Demonstration werde ich SteelEye DataKeeper Cluster Edition verwenden, um das E-Laufwerk vom Server mit dem Namen PRIMARY auf den Server mit dem Namen SECONDARY zu replizieren. Das E-Laufwerk auf dem PRIMÄREN und SEKUNDÄREN Laufwerk sind nur lokal angeschlossene Volumes und nicht Teil eines SAN. Solange das E-Laufwerk als lokal angeschlossene Festplatte angezeigt wird, kann DataKeeper es von einem Server auf einen anderen replizieren. Sie können SAS, iSCSI, SAN, VHD oder jeden anderen Speichertyp kombinieren, da DataKeeper speicherunabhängig ist.

Nachdem Sie Ihren Basiscluster wie in Teil 1 meiner Serie beschrieben konfiguriert haben, führen Sie das DataKeeper-Setup aus.exe, um SteelEye DataKeeper Cluster Edition auf beiden Knoten des Clusters zu installieren. Am Ende der Installation werden Sie aufgefordert, Ihren Lizenzschlüssel einzugeben. Geben Sie Ihre Lizenz ein und starten Sie Ihre Server neu, wenn Sie dazu aufgefordert werden. Sie sind nun bereit, Ihren Spiegel zu erstellen. Starten Sie die DataKeeper GUI und folgen Sie den Anweisungen unten, um Ihren Spiegel zu erstellen.

Klicken Sie auf „Mit Server verbinden“.

Abbildung 1 – Verbindung zu Ihren Quell- und Zielservern herstellen
Abbildung 1 – Verbindung zu Ihren Quell- und Zielservern herstellen

Geben Sie den Namen des ersten Servers ein. Klicken Sie auf Verbinden.

Geben Sie den Namen des zweiten Servers ein und klicken Sie auf Verbinden

Klicken Sie nun auf Job erstellen. Dadurch wird der Assistent zum Erstellen von Jobs gestartet.

Abbildung 2 – Erstellen Sie Ihren Job
Abbildung 2 – Erstellen Sie Ihren Job

Geben Sie Ihrem Job einen Namen und eine Beschreibung. Diese können alles sein, was Sie mögen.

Abbildung 3 - Geben Sie Ihrem Job einen Namen und eine Beschreibung
Abbildung 3 – Geben Sie Ihrem Job einen Namen und eine Beschreibung

Wählen Sie Folgendes aus:

  • Quellserver – von dem die Daten repliziert werden
  • Netzwerkadapter – das Netzwerk, über das der Replikationsverkehr übertragen wird
  • Volume – das Volume, das Sie replizieren möchten

Klicken Sie auf Weiter, um fortzufahren.

Abbildung 4 - Wählen Sie den Quellserver und das Netzwerk für die Replikation aus
Abbildung 4 – Wählen Sie den Quellserver und das Netzwerk für die Replikation aus

Wählen Sie Folgendes aus:

  • Zielserver – auf den die Daten repliziert werden
  • Netzwerkadapter – das Netzwerk, in dem der Replikationsverkehr übertragen wird
  • Volumen – das Volumen, das Sie replizieren möchten

Klicken Sie auf Weiter, um fortzufahren.

Abbildung 5 - Wählen Sie Ihren Zielserver
Abbildung 5 – Wählen Sie Ihren Zielserver

Wählen Sie Folgendes aus:

  • Komprimierungsstufe – Wenn Sie ein Netzwerk mit 100 Mbit/s oder schneller für die Replikation haben, lassen Sie es auf keine eingestellt. Wenn Sie über ein WAN mit weniger als 100 Mbit / s verfügen, können Sie die Komprimierung aktivieren. Einstellungen irgendwo in der Mitte neigen dazu, Ihnen die beste Komprimierungsleistung im Vergleich zum CPU-Overhead zu bieten, der mit der Aktivierung der Komprimierung verbunden ist.
  • Asynchron vs. Synchron -asynchrone Replikation ist in den meisten Umgebungen im Allgemeinen akzeptabel und in WAN-Umgebungen mit hoher Latenz definitiv erforderlich. Wenn Sie also Fragen haben, lesen Sie meinen Artikel über Asynchrone vs. synchrone Replikation.
  • Maximale Bandbreite – Sie können sich dies als QOS eines „armen Mannes“ vorstellen. Wenn Sie sicherstellen möchten, dass die Replikation niemals einen bestimmten Schwellenwert Ihrer WAN-Kapazität überschreitet, können Sie die Bandbreite begrenzen, die sie verbrauchen kann. Wenn Sie keinen guten Grund haben, es zu setzen, ist es besser, es auf 0 zu setzen.

Klicken Sie auf Fertig, um Ihren Spiegel zu erstellen.

Abbildung 6 – Wählen Sie Ihre Spiegeleinstellungen
Abbildung 6 – Wählen Sie Ihre Spiegeleinstellungen

Wenn Sie sich nun Ihre DataKeeper-Benutzeroberfläche ansehen, sieht sie wie folgt aus.

Abbildung 7 – Ihr Spiegel wird jetzt erstellt
Abbildung 7 – Ihr Spiegel wird jetzt erstellt

Nachdem Sie Ihren Spiegel erstellt haben, müssen Sie Ihren Spiegel im Microsoft-Cluster „Verfügbarer Speicher“ verfügbar machen. Es gibt einige Möglichkeiten, dies zu tun, aber der einfachste Weg ist die Verwendung der Windows PowerShell-CLI. Im Folgenden finden Sie ein Beispiel, das zeigt, wie Sie den vorhandenen Spiegel, den wir gerade auf dem E-Laufwerk erstellt haben, zum Cluster „Verfügbarer Speicher“ hinzufügen, auf den PRIMÄREN Knoten verschieben und einbinden-service

Import-Module FailoverClusters

Add-ClusterResource -Name „DataKeeper Volume E“ -resourceType „DataKeeper Volume“ -Group „Available Storage“

Get- ClusterResource „DataKeeper Volume E“ | Set-ClusterParameter VolumeLetter E

Move-ClusterGroup „Verfügbarer Speicher“ -Node primary

Start-ClusterResource „DataKeeper Volume E“

Für mehr informationen zu PowerShell und den verfügbaren Befehlen für die Verwendung mit Failover-Clustering finden Sie in diesem großartigen Blogbeitrag von Symon Perriman vom Microsoft Failover-Clustering-Team.

http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx

Sie wiederholen nun die obigen Schritte, um zusätzliche Spiegel hinzuzufügen, die Sie in Ihrem Cluster verwenden werden. In unserem Fall erstellen wir einen Spiegel des F-Laufwerks und verwenden ihn zum Clustern des MSDTC. Nachdem Sie Ihre zusätzlichen Spiegel hinzugefügt und dem verfügbaren Speicher hinzugefügt haben, sollte Ihre DataKeeper-GUI ungefähr so aussehen.

Abbildung 8 – Nach dem Hinzufügen des zweiten Jobs für die MSDTC–Ressource
Abbildung 8 – Nach dem Hinzufügen des zweiten Jobs für die MSDTC-Ressource

Und Ihre Failovercluster-Manager-GUI sollte folgendermaßen aussehen.

Abbildung 9 - Nach dem Hinzufügen der zweiten DataKeeper-Ressource
Abbildung 9 – Nach dem Hinzufügen der zweiten DataKeeper-Ressource

WICHTIGER HINWEIS – Es ist ein Hotfix erforderlich, um DTC mit 3rd-Party-Datenträgerressourcen zu unterstützen. Lesen Sie den folgenden KB-Artikel und wenden Sie den Hotfix auf alle Clusterknoten an. http://support.microsoft.com/kb/978476

SQL 2008 ist stark von MSDTC abhängig, daher wird dringend empfohlen, die MSDTC-Ressource vor dem Clustern der SQL-Ressource zu clustern. Die folgenden Artikel dienen als Referenz für die Konfiguration und Verwaltung Ihrer MSDTC-Ressource.

http://technet.microsoft.com/en-us/library/cc770748( WS.10).aspx

http://technet.microsoft.com/en-us/library/cc771540( WS.10).aspx

Sie öffnen zunächst die Failovercluster-Manager-GUI und wählen dann „Dienst oder Anwendung konfigurieren“.

Abbildung 10 – Erstellen einer MSDTC–Ressource
Abbildung 10 – Erstellen einer MSDTC–Ressource

Sie wählen dann „Distributed Transaction Coordinator“ und klicken auf Weiter

Abbildung 11 - Wählen Sie Ihren Dienst oder Ihre Anwendung
Abbildung 11 – Wählen oder Application

Geben Sie der MSDTC-Ressource einen Namen und eine eindeutige IP-Adresse. Diese sollten für MSDTC eindeutig sein und nicht mit denen übereinstimmen, die Sie später beim Erstellen Ihrer SQL-Ressource verwenden werden.

Abbildung 12 – Wählen Sie einen Namen und eine IP-Adresse
Abbildung 12 – Wählen Sie einen Namen und eine IP-Adresse

Wählen Sie das Volume, auf dem die Daten für die MSDTC-Ressource gespeichert werden sollen. In unserem Fall wählen wir das replizierte F-Laufwerk.

Abbildung 13 – Wählen Sie ein dediziertes Volume für die MSDTC–Ressource
Abbildung 13 – Wählen Sie ein dediziertes Volume für die MSDTC-Ressource

Bestätigen Sie Ihre Informationen und klicken Sie auf Weiter, um fortzufahren.

Abbildung 14 – Klicken Sie auf Weiter, um die DTC-Ressource zu konfigurieren
Abbildung 14 – Klicken Sie auf Weiter, um die DTC-Ressource zu konfigurieren

Herzlichen Glückwunsch, Sie haben die DTC-Ressource erfolgreich konfiguriert. Klicken Sie auf Fertig stellen.

Abbildung 15 – Eine erfolgreich konfigurierte DTC–Ressource
Abbildung 15 – Eine erfolgreich konfigurierte DTC-Ressource

Wir sind gerade bereit, mit der Installation des ersten Knotens des SQL Server-Clusters zu beginnen.

SLIP STREAM SQL SP1 AUF IHREM SQL 2008-INSTALLATIONSMEDIUM

Was ich entdeckt habe, ist, dass SQL Server 2008 nicht auf Windows Server 2008 R2 installiert wird, ohne SQL Server 2008 SP1 zuerst auf Ihrem SQL 2008-Installationsmedium zu übertragen. Hier ist ein großer Artikel, der beschreibt, wie SQL Server 2008 RTM und Service Pack 1 Slipstream. Nachdem ich diesen Artikel gelesen und erfolgreich Slipstream SP1 auf SQL 2008 RTM, fand ich den folgenden Microsoft KB-Artikel, der das gleiche Verfahren beschreibt. Möglicherweise wird ein Fehler angezeigt, der wie folgt aussieht, wenn Sie versuchen, SQL zu installieren, ohne zuerst Slipstreaming SP1 auf das Medium zu übertragen.

Es gab einen Fehler beim Setzen der privaten Eigenschaft ‚RequireKerberos‘ auf value ‚1‘

Ich habe die Anweisungen im ersten Artikel befolgt und meine SQL 2008 mit SP1-Installation auf das Laufwerk C: \ beider Knoten in meinem Cluster kopiert. In den folgenden Anweisungen führe ich die Installation von der lokalen Festplatte jedes Clusterknotens aus.

INSTALLIEREN DES ERSTEN CLUSTERKNOTENS

Nachdem Sie Ihr SQL Server 2008 SP1-Installationsmedium einsatzbereit haben, können Sie Ihren ersten SQL-Knoten installieren. Es gibt ein großes „Gotcha“, wenn es um die Installation von SQL auf einem Cluster mit mehreren Knoten geht. Damit Sie SQL auf einem Cluster mit mehreren Knoten installieren können, müssen Sie zuerst den Windows Server 2008-Failovercluster-Validierungsprozess bestehen. Leider ist ein Cluster mit mehreren Standorten vom Bestehen des speicherbezogenen Tests ausgenommen, sodass Sie die Validierung in Bezug auf SQL niemals „bestehen“ können. Es hat ein wenig Nachforschungen meinerseits erfordert, aber ich habe festgestellt, dass es einen Befehlszeilenparameter gibt, mit dem Sie den Validierungstest für die SQL 2008-Installation überspringen können. Hier ist die Befehlszeile.

Setup /SkipRules=Cluster_VerifyForErrors /Action=InstallFailoverCluster

Um das SQL-Setup zu starten, öffnen Sie ein Befehlsfenster, navigieren Sie zu Ihrem SQL 2008 mit SP1-Installationsverzeichnis und geben Sie den Befehl wie unten gezeigt ein.

Wenn alles wie geplant verläuft, sollten Sie den Bildschirm unten sehen. Klicken Sie auf OK, um fortzufahren.

Geben Sie Ihren Produktschlüssel ein und klicken Sie auf Weiter

Abbildung 17 - Geben Sie Ihren Produktschlüssel ein
Abbildung 17 – Geben Sie Ihren Produktschlüssel ein

Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter

Klicken Sie auf Installieren, um die Setup-Support-Dateien zu installieren

Am Ende des Setups für die Support-Dateien erhalten Sie eine Warnung. Klicken Sie auf Details anzeigen und Sie sehen die Nachricht unten. Sie können auf Weiter klicken und diese Meldung ignorieren, da sie in einem Cluster mit mehreren Standorten oder nicht gemeinsam genutztem Speicher erwartet wird.

Abbildung 18 - Die Warnung wird in einem Cluster mit mehreren Standorten oder nicht gemeinsam genutztem Speicher erwartet
Abbildung 18 – Die Warnung wird in einem Cluster mit mehreren Standorten oder nicht gemeinsam genutztem Speicher erwartet

Wählen Sie die Features aus, die Sie installieren möchten, und klicken Sie auf Weiter. Belassen Sie das Verzeichnis „Shared Feature“ auf dem Laufwerk C, da die SQL-Binärdateien nicht auf dem replizierten Volume installiert werden sollten.

Abbildung 19 – Wählen Sie Ihre Features
Abbildung 19 – Wählen Sie Ihre Features

Auf dem nächsten Bildschirm wählen Sie einen Netzwerknamen für Ihren SQL Server. Dies ist der Name, mit dem sich alle Clients verbinden. Angenommen, dies ist die Standardinstanz, lassen Sie die Instanz-ID und das Instanzstammverzeichnis auf die Standardwerte festgelegt. Verschieben Sie das Instanzstammverzeichnis nicht auf das replizierte Volume.

Abbildung 20 – Wählen Sie Ihren SQL-Netzwerknamen
Abbildung 20 – Wählen Sie Ihren SQL-Netzwerknamen

Es wird empfohlen, dass Sie separate Domänenkonten für SQLServer und SQLAgent haben. Sie können sich jetzt die Zeit nehmen, diese Konten zu erstellen, falls Sie dies noch nicht getan haben. Diese Konten erfordern keine besonderen Berechtigungen, da dieser Installationsvorgang ihnen die erforderlichen Berechtigungen erteilt.

Bestätigen Sie, dass Sie über genügend Speicherplatz verfügen, und klicken Sie auf Weiter, um fortzufahren.

Wählen Sie die Standardeinstellungen aus, damit eine neue Clusterressourcengruppe mit dem Namen „SQL Server (MSSQLSERVER)“ erstellt werden kann.

Abbildung 21 – Erlauben Sie dem Assistenten, eine neue Cluster-Ressourcengruppe für Sie zu erstellen
Abbildung 21 – Erlauben Sie dem Assistenten, eine neue Cluster-Ressourcengruppe für Sie zu erstellen

Wählen Sie ein repliziertes Volume aus, das noch verfügbar ist, in unserem Fall das Laufwerk E:\. Klicken Sie auf Weiter, um fortzufahren.

Abbildung 22 – Wählen Sie Ihr repliziertes Volume
Abbildung 22 – Wählen Sie Ihr repliziertes Volume

Jetzt wählen Sie die IP-Adresse aus, die der SQL Cluster-Ressource zugeordnet werden soll. Sie können es so einstellen, dass DHCP verwendet wird, wenn Sie dies wünschen.

Abbildung 23 - Wählen Sie Ihre SQL-Cluster-IP-Adresse
Abbildung 23 – Wählen Sie Ihre SQL-Cluster-IP-Adresse

Wählen Sie Ihre Sicherheitseinstellungen und klicken Sie auf Weiter

Fügen Sie SQL Server-Administratoren hinzu, wählen Sie Ihren Authentifizierungsmodus aus, und klicken Sie dann auf Weiter

Wählen Sie Ihre Fehler- und Nutzungsberichtsoptionen aus und klicken Sie auf Weiter

Sie werden erneut einige Warnungen im Zusammenhang mit dem Validierungsprozess sehen. Sie können diese Nachrichten ignorieren, da sie in einem SQL Server-Cluster mit mehreren Standorten zu erwarten sind.

Klicken Sie auf Installieren, um den Installationsvorgang zu starten

Wenn alles wie erwartet installiert wird, sollten Sie die folgenden Bildschirme sehen. Klicken Sie auf Weiter und dann auf Schließen, um die Installation abzuschließen.

Herzlichen Glückwunsch, Sie haben den ersten Knoten Ihres SQL Server-Clusters mit mehreren Standorten erfolgreich installiert. Jetzt installieren wir den zweiten Knoten des Clusters.

INSTALLIEREN DES ZWEITEN CLUSTERKNOTENS

Die Installation des zweiten Clusterknotens ähnelt der Installation des ersten Knotens. Wir müssen SQL Setup erneut über die Befehlszeile ausführen, damit wir den Validierungsprozess überspringen können. Öffnen Sie also vom 2. Knoten aus Ihre Eingabeaufforderung und führen Sie den folgenden Befehl aus.

  1. Installieren Sie SQL 2008 SP1 (merged setup) auf dem 2. Knoten mit dem folgenden Befehl:

    Setup /SkipRules=Cluster_VerifyForErrors /Action=addNode /INSTANCENAME=“MSSQLSERVER“

* Hinweis: Dies setzt voraus, dass Sie die Standardinstanz auf dem 1. Knoten installiert haben

Dadurch wird der Installationsassistent wie unten gezeigt gestartet. Klicken Sie auf OK, um fortzufahren.

Geben Sie Ihren Product Key ein und klicken Sie auf Weiter.

Akzeptieren Sie die Lizenzbedingungen und klicken Sie auf Weiter

Klicken Sie auf Installieren, um die Setup-Unterstützungsdateien zu installieren.

Sie können die Warnung, dass einige Cluster-Validierungstests übersprungen wurden, erneut ignorieren. Dies ist in einem Cluster mit mehreren Standorten und nicht gemeinsam genutzten Speicherclustern zu erwarten.

Stellen Sie sicher, dass Sie den Knoten zur richtigen Instanz hinzufügen, und klicken Sie auf Weiter.

Fügen Sie die Kennwörter zu den Dienstkonten hinzu und klicken Sie auf Weiter

Wählen Sie Ihre Fehler- und Nutzungsberichtsoptionen aus und klicken Sie auf Weiter

Ignorieren Sie erneut die Warnung zu den übersprungenen Vorgängen.

Klicken Sie auf Installieren, um den Installationsvorgang zu starten.

Wenn alles wie erwartet verläuft, sollten Sie den folgenden Bildschirm sehen.

Jetzt, da Sie einen voll funktionsfähigen Cluster mit zwei Knoten haben, sollten Sie die Dinge wahrscheinlich durch manuelle Umstellungen testen. Klicken Sie mit der rechten Maustaste auf die Ressource und wählen Sie „In Knoten SEKUNDÄR verschieben“.

Wenn alles richtig konfiguriert ist, sollte Ihre Failovercluster-GUI wie folgt aussehen.

FAZIT

Ich glaube, dass SQL-Cluster mit repliziertem Speicher sehr sinnvoll sind. Speicher war schon immer ein Single Point of Failure herkömmlicher Cluster. Sie können diesen Single Point of Failure beseitigen, indem Sie einen SQL Server-Cluster mit repliziertem Speicher von SteelEye oder einem anderen Microsoft Multi-Site-Cluster-Replikationspartner bereitstellen. Ich hoffe, Sie fanden diesen Artikel informativ. Wenn Sie Fragen oder Anregungen haben, fügen Sie bitte Ihre Kommentare hinzu!

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.