Cluster-Upgrade
Verwenden Sie die Verwaltungsshell (SSH), um ein GitHub Enterprise Server-Cluster auf die neueste Version zu aktualisieren.
Inhalt dieses Artikels
Upgrade mit einem Hotpatch
Sie können ein Upgrade von GitHub Enterprise Server auf die neueste Patch-Version durchführen. Verwenden Sie dazu einen Hotpatch, für den kein Wartungsfenster und in der Regel kein Neustart erforderlich ist. Mittels Hotpatching können Sie ein Upgrade auf eine neuere Patch-Version durchführen, jedoch keine Feature-Veröffentlichung. So können Sie beispielsweise ein Upgrade von 2.10.1
auf 2.10.5
durchführen, da sie sich in derselben Featureserie befinden, jedoch nicht von 2.10.9
auf 2.11.0
, da sie sich in unterschiedlichen Featureserien befinden.
Das Hotpatch-Installationsskript installiert den Hotpatch auf jedem Knoten im Cluster und startet die Dienste zum Vermeiden von Ausfallzeiten in ihrer entsprechenden Abfolge neu.
- Sichern Sie Ihre Daten mit GitHub Enterprise Server-Backup-Dienstprogramme.
-
Führen Sie an der Verwaltungsshell auf einem beliebigen Knoten den Befehl
ghe-cluster-hotpatch
aus, um den neuesten Hotpatch zu installieren. Sie können eine URL für einen Hotpatch bereitstellen oder den Hotpatch manuell herunterladen und einen lokalen Dateinamen angeben.$ ghe-cluster-hotpatch https://HOTPATCH-URL/FILENAME.hpkg
Upgrade mit einem Upgrade-Paket
Verwenden Sie ein Upgrade-Paket, um ein Upgrade eines GitHub Enterprise Server-Clusters auf die neueste Feature-Veröffentlichung vorzunehmen. Beispielsweise können Sie ein Upgrade von 2.11
auf 2.13
vornehmen.
Upgrade vorbereiten
- Review Cluster network configuration for the version you are upgrading to, and update your configuration as needed.
- Sichern Sie Ihre Daten mit GitHub Enterprise Server-Backup-Dienstprogramme.
- Planen Sie ein Wartungsfenster für Endbenutzer Ihres GitHub Enterprise Server-Clusters, da er während des Upgrades für die normale Nutzung nicht verfügbar ist. Der Wartungsmodus blockiert den Benutzerzugriff und verhindert Datenänderungen, während das Cluster-Upgrade ausgeführt wird.
- Kopieren Sie auf der GitHub Enterprise Server-Downloadseite die URL für die upzugradende .pkg-Datei in die Zwischenablage.
-
Führen Sie an der Verwaltungsshell eines beliebigen Knotens den Befehl
ghe-cluster-each
in Kombination mitcurl
aus, um das Versionspaket in einem einzelnen Schritt auf jeden Knoten herunterzuladen. Verwenden Sie die im vorherigen Schritt von Ihnen kopierte URL als ein Argument.$ ghe-cluster-each -- "cd /home/admin && curl -L -O https://PACKAGE-URL.pkg" > ghe-app-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 24.2M 0 0:00:20 0:00:20 --:--:-- 27.4M > ghe-data-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 21.3M 0 0:00:23 0:00:23 --:--:-- 25.8M > ghe-data-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.6M > ghe-app-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.8M 0 0:00:25 0:00:25 --:--:-- 17.6M > ghe-data-node-3: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-3: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.5M
- Identifizieren Sie den primären MySQL-Knoten, der in
cluster.conf
alsmysql-master = <hostname>
definiert ist. Dieser Knoten wird zuletzt upgegradet.
Clusterknoten upgraden
- Aktivieren Sie den Wartungsmodus entsprechend Ihrem geplanten Fenster. Verbinden Sie sich dazu mit der Verwaltungsshell auf einem beliebigen Clusterknoten, und führen Sie
ghe-cluster-maintenance -s
aus. -
Stellen Sie mit Ausnahme des primären MySQL-Knotens eine Verbindung zur Verwaltungsshell der jeweiligen GitHub Enterprise Server-Knoten her. Führen Sie den Befehl
ghe-upgrade
aus, und geben Sie den Namen der Paketdatei an, die Sie in Schritt 4 Upgrade vorbereiten heruntergeladen haben:$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - Der Upgrade-Prozess startet den Knoten nach dem Abschluss neu. Verifizieren Sie, dass Sie jeden Knoten nach dem Neustart
pingen
können. -
Stellen Sie auf dem primären MySQL-Knoten eine Verbindung zur Verwaltungsshell her. Führen Sie den Befehl
ghe-upgrade
aus, und geben Sie den Namen der Paketdatei an, die Sie in Schritt 4 Upgrade vorbereiten heruntergeladen haben:$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - Der Upgrade-Prozess startet den primären MySQL-Knoten nach dem Abschluss neu. Verifizieren Sie, dass Sie jeden Knoten nach dem Neustart
pingen
können. - Führen Sie an der Verwaltungsshell eines beliebigen Knotens den Befehl
ghe-cluster-maintenance -u
aus, um den Wartungsmodus zu beenden.