Skip to main content

Aufschieben des Datenbank-Seeding

Sie können den Prozess des Hinzufügens eines neuen MySQL-Replikatknotens zu Ihrem Cluster beschleunigen, indem Sie das Datenbank-Seeding aufschieben.

Wer kann dieses Feature verwenden?

GitHub bestimmt die Berechtigung zum Clustering und muss die Konfiguration für die Lizenz deiner Instanz aktivieren. Das Clustering erfordert eine sorgfältige Planung und zusätzlichen Verwaltungsaufwand. Weitere Informationen findest du unter Informationen zu Clustering.

Informationen zum Aufschieben des Datenbank-Seeding eines MySQL-Replikationsknotens

Note

Die Möglichkeit, das Datenbank-Seeding zu verschieben, wurde in der Patch-Version 3.11.7 und ist als beta verfügbar.

Das Hinzufügen eines neuen MySQL-Replikationsknotens zu Ihrem Cluster, wenn Ihr primärer Knoten mehr als sieben Tage Daten enthält, löst normalerweise ein Datenbank-Seeding aus, das je nach Datenmenge mehrere Stunden dauern kann. Sie können das Datenbank-Seeding aufschieben, so dass der Konfigurationsanwendungslauf früher abgeschlossen werden kann, was dazu führt, dass Sie Ihre Anwendung früher für den Datenverkehr öffnen können.

Sie sollten das Datenbank-Seeding nur aufschieben, wenn Sie bereits mindestens ein MySQL-Replikat konfiguriert haben und Sie ein weiteres MySQL-Replikat hinzufügen. Andernfalls gibt es keine MySQL-Redundanz, bis das Seeding abgeschlossen ist.

Wenn Sie das Seeding der Datenbank aufschieben, wird das neue MySQL-Replikat nicht für die Replikation konfiguriert und verfügt nicht über eine Kopie der Daten auf Ihrem primären MySQL-Knoten, bis das Seeding später manuell abgeschlossen wird.

Konfigurieren des Aufschubs des MySQL-Seeding beim Hinzufügen eines neuen MySQL-Knotens

  1. Bereitstellen und Installieren von GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersetzungsknoten.

  2. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfiguriere keine anderen Einstellungen.

  3. Erstellen Sie den cluster.conf-Eintrag für den neuen MySQL-Knoten und fügen Sie das Feld skip-data-setup = true ein. Im folgenden Beispiel wird ein neuer Knoten mit dem Hostnamen ghe-data-node-3 und der mysql-server-Rolle hinzugefügt.

     ...
     [cluster "ghe-data-node-3"]
       hostname = ghe-data-node-3
       ipv4 = 192.168.0.9
       # ipv6 = fd12:3456:789a:1::7
       mysql-server = true
       skip-data-setup = true
     ...
     
  4. Um den neuen Knoten im Cluster zu initialisieren, führen Sie von der administrativen Shell des Knotens mit dem geänderten cluster.conf ghe-cluster-config-init aus.

  5. Um die Konfigurationsdatei zu validieren und jeden Knoten entsprechend der geänderten cluster.conf-Datei zu kopieren und zu konfigurieren, führen Sie ghe-cluster-config-apply aus.

Manuelles Seeding der Daten

Sobald Sie ghe-cluster-config-apply ausgeführt haben, läuft der MySQL-Dienst auf Ihrem neuen Knoten, wird aber weder als Replikat konfiguriert noch mit Daten vom primären MySQL-Knoten ersehen. Um Daten aus dem primären MySQL-Knoten zu erstellen, müssen Sie die Replikation manuell konfigurieren.

  1. Um von dem neuen Knoten aus die manuelle Replikation der Daten des primären MySQL-Knotens zu starten, führen Sie den folgenden Befehl aus, wobei Sie PRIMARY_IP durch die IP-Adresse des Knotens ersetzen, auf dem der primäre MySQL-Knoten läuft.

    /usr/local/share/enterprise/ghe-mysql-repl-start PRIMARY_IP
    

Die für das Datenbank-Seeding erforderliche Zeit hängt von der Größe der Daten ab. Für große Datasets empfehlen wir, den obigen Befehl in einer screen-Sitzung auszuführen, um sicherzustellen, dass SSH-Verbindungen bestehen bleiben.