Upgrade auf eine neue übergeordnete Version durchführen

IBM Cloud® Databases for Elasticsearch bietet zwei verschiedene Upgrade-Pfade:

  • In-Place-Upgrade auf eine neue Hauptversion (unterstützt für Elasticsearch Enterprise Plan und Elasticsearch Platinum Plan).
  • Wiederherstellung vom Backup (unterstützt für Elasticsearch Enterprise Plan und Elasticsearch Platinum Plan).

Vor Ort durchgeführte Hauptversions-Upgrades

Mit dem In-Place-Hauptversions-Upgrade können Sie Ihre Bereitstellung auf die nächste neue hauptversion aktualisieren und müssen nicht mehr eine Sicherung wiederherstellen in eine neue Bereitstellung umwandeln. Bei diesem Ansatz werden die gleichen Verbindungszeichenfolgen beibehalten, ohne dass die Bereitstellung neu konfiguriert werden muss. Wenn die neue Hauptversion jedoch Anpassungen der Anwendung erfordert, müssen diese berücksichtigt werden.

Während des Zeitfensters für das In-Place-Hauptversions-Upgrade (einschließlich eines Backups) wird die Bereitstellung in den READ-ONLY-Modus versetzt, der nur Lesevorgänge, aber keine Schreibvorgänge in der Bereitstellung zulässt, um ein sicheres Upgrade zu gewährleisten. Eine kurze Zeitspanne, in der Ihre Datenbank nicht verfügbar ist, wird als normaler Teil eines In-Place-Upgrades für diesen verwalteten Dienst erwartet. Sobald die Aktualisierung der Hauptversion der Bereitstellung abgeschlossen ist, wird der READ-ONLY-Modus aufgehoben.

Es gibt zwei Möglichkeiten, ein Upgrade einer Hauptversion vor Ort durchzuführen:

  • Vor-Ort-Hauptversions-Upgrade mit Backup: Bei diesem Weg wird vor dem eigentlichen Upgrade eine Sicherungskopie erstellt, die eine zusätzliche Sicherheitsebene bietet (die einzige Option für den Elasticsearch Platinum Plan).

  • Upgrade der Hauptversion vor Ort ohne Backup: Bei dieser Option wird das Upgrade durchgeführt, ohne vorher ein Backup zu erstellen. Sollte das In-Place-Upgrade nicht erfolgreich sein, müssen Sie Ihre Bereitstellung aus der letzten Sicherung in einer neuen Bereitstellung wiederherstellen.

    Ein direktes Upgrade ohne Backup wird nicht empfohlen. Wenn die Aktualisierung zu irgendeinem Zeitpunkt fehlschlägt, kann es zu Datenverlusten kommen, da keine unmittelbare Sicherungskopie zum Wiederherstellen vorhanden ist.

Vorbereitende Schritte

Beachten Sie die folgenden Aspekte, bevor Sie mit dem Upgrade beginnen.

  • Vor dem Upgrade muss sich Ihre Einrichtung in einem einwandfreien Zustand befinden.
  • Ihre Bereitstellung muss über mindestens 2 GB freien Speicherplatz verfügen.
  • Sie können nur auf die nächste Hauptversion aktualisieren, anstatt die Version Ihrer Wahl anzugeben.
  • Jede Hauptversion enthält einige Funktionen, die möglicherweise nicht abwärtskompatibel mit früheren Versionen sind. Informieren Sie sich in den Versionshinweisen des Datenbankanbieters über alle Änderungen, die Ihre Anwendungen betreffen könnten.
  • Ein Downgrade einer Bereitstellung auf eine frühere Version wird nicht unterstützt.
  • Ein einmal begonnenes Upgrade der Hauptversion kann nicht mehr abgebrochen werden.
  • Für Elasticsearch Platinum Edition muss vor dem Upgrade mindestens ein Backup vorhanden sein, um sicherzustellen, dass nach dem Upgrade ein Backup erstellt werden kann.

Upgrade über die Benutzerschnittstelle

  1. Erstellen Sie eine neue Databases for Elasticsearch, um den Upgrade-Prozess zu testen.
    Erstellen Sie die Bereitstellung unter wiederherstellung eines Backups aus Ihrer bestehenden Bereitstellung mit derselben Version.

  2. Verweisen Sie Ihre Staging-Anwendung auf die Testbereitstellung.
    Aktualisieren Sie Ihre Staging-Anwendung so, dass sie auf die Testbereitstellung verweist. Bestätigen Sie, dass Ihre Testanwendung erfolgreich eine Verbindung zur Staging-Bereitstellung herstellen kann und dass die Anwendung wie erwartet funktioniert. Durchführung aller erforderlichen Leistungs- und Betriebstests der Staging-Umgebung.

  3. Aktualisieren Sie die Hauptversion Ihrer Testbereitstellung, indem Sie auf der Seite Übersicht auf die Schaltfläche Hauptversion aktual isieren klicken.
    Dadurch wird Ihre Datenbank in den READ-ONLY-Modus versetzt, während der Upgrade-Prozess abgeschlossen wird. Notieren Sie sich, wie lange das Upgrade dauert, damit Sie die Einstellung für den Ablauf des Upgrades verwenden können, um Upgrades innerhalb Ihres Wartungsfensters einzuschränken.

  4. Stellen Sie sicher, dass Ihre Staging-Anwendung mit der neuen Datenbankversion funktioniert.
    Wenn Ihre Anwendung funktioniert, bestätigt dieser Schritt, dass es sicher ist, Ihre Produktionsdatenbank zu aktualisieren.

  5. Aktualisieren Sie Ihre Produktionsdatenbank auf die neue Version.
    Sobald Sie bestätigt haben, dass Ihre Anwendung mit der neuen Version der Datenbank korrekt funktioniert, können Sie zur Verwaltungskonsole zurückkehren und mit dem Upgrade Ihrer Produktionsbereitstellung beginnen. Klicken Sie im Abschnitt Einsatzdetails der Seite Übersicht auf die Schaltfläche Hauptversion aktualisieren und folgen Sie den Anweisungen.

    Sobald der In-Place-Upgrade-Prozess beginnt, kann er nicht mehr gestoppt oder rückgängig gemacht werden. Im unwahrscheinlichen Fall eines Fehlers könnte Ihre Datenbankeinrichtung also nicht mehr wiederherstellbar sein. Erstellen Sie daher eine Sicherungskopie, die Sie dann für die Wiederherstellung einer neuen Bereitstellung verwenden können. Wenn Sie "Hauptversions-Upgrade mit Sicherung" wählen, kann die erstellte Sicherung zur Wiederherstellung bei einer neuen Bereitstellung verwendet werden.

Unter expiration for starting upgrade können Sie eine "Timeout"-Periode konfigurieren, innerhalb der der Upgrade-Auftrag beginnen muss, bevor er automatisch abgebrochen wird. Testen Sie außerdem das Upgrade im Staging-Modus, um sicherzustellen, dass das Upgrade innerhalb des gewünschten Zeitfensters abgeschlossen wird. Wenn Sie z. B. das Upgrade innerhalb von 1 Stunde abschließen wollen und wissen, dass es 30 Minuten dauert, dann muss Ihr Upgrade-Auftrag innerhalb von 30 Minuten nach Bestätigung des Upgrades beginnen. Stellen Sie daher die Ablaufzeit auf 30 Minuten ein, damit das Fenster nicht überläuft, wenn es nicht innerhalb dieser Zeit gestartet wird.

Upgrade über die Anwendungsprogrammierschnittstelle

Verwenden Sie den folgenden Befehl, um ein Upgrade vorzunehmen:

curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/version -H 'Authorization: Bearer <>' -H 'Content-Type: application/json' -d '{"version": "8.0"}'

Unter expiration for starting upgrade können Sie eine "Timeout"-Periode konfigurieren, innerhalb der der Upgrade-Auftrag beginnen muss, bevor er automatisch abgebrochen wird. Testen Sie außerdem das Upgrade im Staging-Modus, um sicherzustellen, dass das Upgrade innerhalb des gewünschten Zeitfensters abgeschlossen wird. Wenn Sie z. B. das Upgrade innerhalb von 1 Stunde abschließen wollen und wissen, dass es 30 Minuten dauert, dann muss Ihr Upgrade-Auftrag innerhalb von 30 Minuten nach Bestätigung des Upgrades beginnen. Legen Sie daher den Ablauf auf einen Zeitstempel von 30 Minuten ab jetzt fest, damit das Fenster nicht überläuft, wenn es nicht innerhalb dieser Zeitspanne beginnt. Der Ablauf muss zwischen 5 Minuten (Standard) und 24 Stunden ab jetzt liegen. Weitere Informationen finden Sie in der Cloud Databases API.

Upgrade über die Befehlszeilenschnittstelle

Verfügbar in CDB-Plugin-Version >= 0.20.0

So zeigen Sie die Liste der zulässigen Aktualisierungs- und Wiederherstellungsübergänge für die Bereitstellung an:

ibmcloud cdb deployment-capability-show <NAME|CRN> versions

Um den Befehl mit den erforderlichen Parametern zu aktualisieren:

ibmcloud cdb deployment-version-upgrade <NAME|CRN> <TARGET_VERSION>

Um alle Details der Befehlsparameter anzuzeigen:

ibmcloud cdb deployment-version-upgrade --help

Unter expiration for starting upgrade können Sie eine "Timeout"-Periode konfigurieren, innerhalb der der Upgrade-Auftrag beginnen muss, bevor er automatisch abgebrochen wird. Testen Sie außerdem das Upgrade im Staging-Modus, um sicherzustellen, dass das Upgrade innerhalb des gewünschten Zeitfensters abgeschlossen wird. Wenn Sie z. B. das Upgrade innerhalb von 1 Stunde abschließen wollen und wissen, dass es 30 Minuten dauert, dann muss Ihr Upgrade-Auftrag innerhalb von 30 Minuten nach Bestätigung des Upgrades beginnen. Stellen Sie daher die Ablaufzeit auf 30 Minuten ein, damit das Fenster nicht überläuft, wenn es nicht innerhalb dieser Zeit gestartet wird. Der Ablauf muss zwischen 5 Minuten (Standard) und 24 Stunden ab jetzt liegen. Es gibt zwei Möglichkeiten, den Ablauf mit CLI --expire-in oder --expire-at einzustellen. Weitere Informationen finden Sie in der Hilfe zum Befehl.

Upgrades durch Terraform

Verfügbar in Terraform-Anbieter-Version >= 1.79.2

Um ein Upgrade durchzuführen, fügen Sie einfach den Wert version in Ihrer Konfiguration hinzu oder ändern ihn. Es gibt auch ein optionales bool-Flag, version_upgrade_skip_backup, das Sie setzen können, um die Sicherung zu überspringen.

Es wird nicht empfohlen, ein Backup auszulassen. Das Überspringen eines Backups vor einem Versions-Upgrade ist gefährlich und kann zu Datenverlust führen. Wenn das Upgrade zu irgendeinem Zeitpunkt fehlschlägt, gibt es keine unmittelbare Sicherungskopie, die wiederhergestellt werden könnte.

Die Datenbank wird während des Upgrades in den READ-ONLY-Modus versetzt. Es wird dringend empfohlen, vor der Aufrüstung einen Test durchzuführen.

Die Aktualisierung kann mehr Zeit in Anspruch nehmen als der Standard-Timeout. Mit dem Attribut timeouts kann ein längerer Timeout-Wert festgelegt werden.

Terraform hat Timeouts anstelle von Verfallszeitstempeln. Erhöhen Sie daher die Zeitüberschreitung, da der Aktualisierungswert der Zeitüberschreitung als Ablaufdatum verwendet wird. Wenn Sie z. B. eine Zeitüberschreitung von 20 Minuten festlegen, wird der Ablauf auf 20 Minuten festgelegt, und wenn das Upgrade nicht innerhalb dieses Zeitrahmens beginnt, läuft es ab und wird nicht gestartet. Beachten Sie, dass die maximale Ablaufzeit 24 Stunden beträgt. Selbst wenn Sie also eine Zeitüberschreitung von 36 Stunden einstellen, läuft das Upgrade ab, wenn es nicht innerhalb der ersten 24 Stunden gestartet wurde.

Wenn ein Upgrade im Gange ist, beachten Sie, dass einige Aufgaben in der Warteschlange stehen und erst nach Abschluss des Versions-Upgrades fortgesetzt werden können.

Fehlerbehebung

Gesundheitschecks

Wenn die Ressourcen einer Dienstinstanz knapp sind, schlägt die Aufgabe fehl, da unter diesen Umständen ein sicheres Upgrade nicht gewährleistet werden kann. Der Ressourcenverbrauch kann mit Hilfe der Monitoring-Integration bewertet werden. Wenn nicht alle Datenbankkomponenten für ein Upgrade verfügbar sind, schlägt die Upgrade-Aufgabe fehl.

Bevor Sie ein Elasticsearch Upgrade starten, müssen Sie unbedingt sicherstellen, dass der Cluster über ausreichende Ressourcen verfügt und sich in einem guten Zustand befindet. Stellen Sie sicher, dass der Gesundheitsstatus des Clusters GRÜN ist. Vergewissern Sie sich, dass die Festplattenauslastung unter 85 % liegt, um Upgrade-Fehler aufgrund von unzureichendem Speicherplatz zu vermeiden. Führen Sie eine zweite Vorprüfung durch, um Verwerfungen im Cluster zu erkennen. Werden veraltete Versionen gefunden, wird der Aktualisierungsprozess abgebrochen und muss erst wieder aufgenommen werden, wenn alle Probleme behoben sind.

Dieses Problem kann aufgrund von Wartungsarbeiten oder Datenbanknutzung auftreten. Aufgaben, die aufgrund von fehlgeschlagenen Gesundheitsprüfungen fehlgeschlagen sind, können später erneut versucht werden. Wenn die Aufgabe weiterhin fehlschlägt, eröffnen Sie ein Support-Ticket bei IBM Cloud.

Von der Sicherung wiederherstellen

Bevor eine Hauptversion einer Datenbank das Ende ihrer Lebensdauer (EOL) erreicht, führen Sie ein Upgrade auf die nächste verfügbare Hauptversion durch, indem Sie eine Sicherung in eine neue Datenbankinstanz wiederherstellen.

Bereiten Sie sich darauf vor, mit der neuesten Version zu arbeiten, und migrieren Sie dann vor dem EOL-Datum auf diese. Weitere Informationen finden Sie unter Versionierungsrichtlinie.

Ein Rollback von Versionen wird nicht unterstützt.

Führen Sie ein Upgrade auf die neueste Version von „ Elasticsearch “ durch, die unter Databases for Elasticsearch verfügbar ist. Die neueste Version finden Sie auf der Katalogseite, über den Befehl Cloud Databases CLI plug-in ibmcloud cdb deployables-showoder über den Cloud Databases API /deployables endpunkt.

Das Upgrade erfolgt durch das Wiederherstellen einer Sicherungskopie Ihrer Daten in einer neuen Bereitstellung. Die Wiederherstellung von einer Sicherungskopie hat verschiedene Vorteile:

  • Die ursprüngliche Datenbank bleibt aktiv und die Produktionsarbeiten können ohne Unterbrechung fortgesetzt werden.
  • Sie können die neue Datenbank aus der Produktion heraus testen und auf eine etwaige Inkompatibilität von Anwendungen reagieren.
  • Der gesamte Prozess kann an jedem beliebigen Punkt erneut ausgeführt werden.
  • Durch eine aktuelle Wiederherstellung wird die Wahrscheinlichkeit verringert, dass nicht benötigte Artefakte der älteren Datenbankversion in die neue Datenbank übernommen werden.

Upgradepfade

Upgrade-Pfade für Hauptversionen
Aktuelle Version Upgradepfad der Hauptversion
Elasticsearch 8.10 Elasticsearch 8.19
Elasticsearch 8.12 Elasticsearch 8.19
Elasticsearch 8.15 Elasticsearch 8.19
Elasticsearch 8.19 Elasticsearch 9.1

Upgrade über die Benutzerschnittstelle

Für die neuen Hosting-Modelle (isolierter Rechner und gemeinsam genutzter Rechner) ist ein Upgrade auf eine neue Hauptversion über die CLI und API möglich.

Sie können ein Upgrade auf eine neue Version durchführen, indem Sie auf der Seite " Backups und Wiederherstellung " Ihrer Bereitstellung auf der Konsole IBM Cloud ein Backup wiederherstellen. Klicken Sie in einer Sicherung auf „Sicherung wiederherstellen“, um eine Seite in einem neuen Tab zu öffnen, auf der Sie einige Optionen für die neue Bereitstellung ändern können. Eine dieser Optionen ist die Datenbankversion, die automatisch mit den verfügbaren Versionen gefüllt wird, auf die Sie ein Upgrade durchführen können. Wählen Sie eine Version aus und klicken Sie auf „Sicherung wiederherstellen“, um den Bereitstellungs- und Wiederherstellungsprozess zu starten.

Upgrade über die Befehlszeilenschnittstelle

Wenn Sie das Upgrade und die Wiederherstellung der Sicherung über die IBM Cloud-Befehlszeilenschnittstelle durchführen, verwenden Sie den Einrichtungsbefehl aus dem Ressourcencontroller.

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_ID> <SERVICE_PLAN_ID> <REGION>

Die Parameter „ instance_name “, „ service_id “, „ service_plan_id “ und „ region “ sind alle erforderlich. Geben Sie auch -p mit den Parametern für Version und Sicherungs-ID in einem JSON-Objekt an. Die neue Bereitstellung hat automatisch eine Platte und einen Speicher derselben Größe wie die Quellenbereitstellung zum Zeitpunkt der Sicherung.

ibmcloud resource service-instance-create example-upgrade databases-for-elasticsearch enterprise us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-elasticsearch:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "version":"8.0"
}'

Upgrade über die Anwendungsprogrammierschnittstelle

Ähnlich wie bei der Bereitstellung über die API müssen Sie die erforderlichen Schritte zur Nutzung der Ressourcen-Controller-API durchführen, bevor Sie diese für ein Upgrade aus einer Sicherung verwenden können. Anschließend senden Sie der API eine POST-Anforderung. Die Parameter name, target, resource_group und resource_plan_id sind erforderlich. Geben Sie außerdem die Versionsnummer und die Backup-ID an. Die neue Bereitstellung verfügt über die gleiche Speicher- und Plattenzuordnung wie die Quellenbereitstellung zum Zeitpunkt der Sicherung.

curl -X POST   https://resource-controller.cloud.ibm.com/v2/resource_instances   -H 'Authorization: Bearer <>'   -H 'Content-Type: application/json'     -d '{
    "name": "my-instance",
    "target": "us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-elasticsearch-enterprise",
    "backup_id": "crn:v1:bluemix:public:databases-for-elasticsearch:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":"8.0"
  }'

Upgrades durch Terraform

Verwenden Sie Terraform, um ein Backup von einer älteren Version auf eine neue Version wiederherzustellen.

  1. Stellen Sie Ihre backup_id ein. Weitere Informationen finden Sie unter backup_id.
  2. Setzen Sie Ihre version in das Attribut Version. Weitere Informationen finden Sie unter version.

Der Code sieht wie folgt aus:

resource "ibm_database" "<your-instance>" {
  name                                 = "<your_database_name>"
  service                              = "databases-for-elasticsearch"
  plan                                 = "enterprise"
  location                             = "<region>"
  version                              = "<version>"
  backup_id                            = "<backup_id>"
}

Weitere Informationen finden Sie in der Cloud Databases Terraform Registry. Alternativ können Sie auch Terraform IBM Module(TIM) verwenden, um eine neue Datenbankinstanz aus einer Sicherungsinstanz zu erstellen. Weitere Informationen finden Sie unter Beispiel für die Wiederherstellung aus einem Backup.