Aktualisieren Sie die Cluster
Beitragende
Mit Ansible können Sie ein unterbrechungsfreies Rolling Upgrade auf Ihrem SolidFire ESDS Cluster durchführen. Verwenden der nar_solidfire_sds_upgrade
Rolle von NetApp, Ansible führt Rolling Upgrades für einen Node gleichzeitig durch, während alle Volumes von der Datenverfügbarkeit profitieren.
Stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind, bevor Sie ein Upgrade durchführen:
-
Es gibt keine Cluster-Fehler in der Element UI.
-
Die Bestandsdatei ist mit den aktuellen Informationen zu den RPM-Dateiaufbau und Details zu Cluster-Mitgliedsknoten auf dem neuesten Stand.
-
Die Hosts werden in der Bestandsdatei unter Verwendung von IP-Adressen definiert (und nicht vollständig qualifizierten Domänennamen [FQDNs]).
|
Das Upgrade schlägt fehl, wenn Sie die Hosts mithilfe von FQDNs definieren. |
-
Die Hosts werden in der Bestandsdatei anhand des Formats im folgenden Beispiel definiert:
hosts: 10.117.136.26: 10.117.136.27:
-
Die Anzahl der Knoten in Ihrer Bestandsdatei ist identisch mit der Anzahl der Knoten im Cluster, die Sie aktualisieren. Wenn eine Anzahl nicht stimmt, schlägt das Upgrade-Verfahren mit einem Fehler fehl, der dem folgenden Beispiel ähnelt:
"Cluster 10.194.79.151 consists of more nodes than what has been specified for upgrade!"
-
Die Bestandsdatei hat die folgenden Variablen angegeben: sf_mgmt_virt_ip (MVIP), sf_Cluster_admin_username, sf_Cluster_admin_passwd und solidfire_Element_rpm (Pfad zur neuen RPM-Datei).
Hier eine Übersicht über die Ereignisse während des Upgrades:
-
Die in der Bestandsdatei eingegebenen Informationen werden validiert.
-
Node-Informationen werden erfasst.
-
RPM wird auf allen Knoten installiert, die in der Bestandsdatei enthalten sind.
-
Nachdem die RPM auf jedem Knoten installiert wurde, wird jeder SolidFire-ESDS-Knoten nacheinander aktualisiert. Jeder Node wird automatisch im Wartungsmodus versetzt. Sie müssen den Wartungsmodus nicht manuell aktivieren, wenn Sie das Upgrade-Playbook ausführen.
-
Nachdem der erste Knoten in den Wartungsmodus versetzt wurde, werden die auf diesem SolidFire ESDS-Knoten gehosteten Volumes auf die übrigen ESDS-Knoten des SolidFire-Knotens im Cluster Failover ausgeführt.
-
Der SolidFire-Dienst wird neu gestartet, um die neueste Version der Anwendung abzuholen.
-
Für den Node ist der Wartungsmodus deaktiviert, und das Cluster wartet auf die Wiederherstellung des Node.
-
Sobald der Node wieder online geschaltet wurde, wird das Cluster ausgeglichen.
-
Der gleiche Prozess wird für alle Nodes im Cluster wiederholt.
-
Nach dem Upgrade aller Nodes wird im Cluster die aktuelle Version angezeigt.
|
Wenn während des Upgrades oder des Clusters ein Fehler auftritt, wird das Upgrade nicht angehalten. Sie wird in dem Umfang fortgeführt, in dem sie eine Liste aller Knoten ausdruckt, die erfolgreich und nicht erfolgreich aktualisiert wurden. Nachdem Sie Fehler behoben haben, können Sie das Playbook erneut ausführen oder die Datei ablehnen, um den Upgrade-Prozess abzuschließen. |
|
Wenn das Upgrade aufgrund eines Fehlers fehlschlägt, sollten Sie es beheben und das Upgrade fortsetzen. Das Cluster bleibt bis zum Abschluss des Upgrades im Upgrade-Status. Wenn die Störung nicht durch Element behoben wird, während sich das Cluster im Upgrade-Status befindet, sollten Sie sich an den NetApp Support wenden. Abhängig von der Art der Störung und wenn es sicher ist, dies zu tun, Support kann Sie anweisen, die hinzuzufügen yes_i_want_to_ignore_cluster_faults Variable Einstellung für Ihr Upgrade-Playbook und Re-Ausführen von Playbook auf „true“. Versuchen Sie dies nicht ohne Beratung mit dem Support.
|
-
Führen Sie die aus
ansible-galaxy install
Befehl zum Installieren desnar_solidfire_sds_upgrade
Rolle:ansible-galaxy install git+https://github.com/NetApp-Automation/nar_solidfire_sds_upgrade.git
Sie können die Rolle auch manuell installieren, indem Sie sie aus dem kopieren "NetApp GitHub Repository" Und die Rolle in das zu setzen
~/.ansible/roles
Verzeichnis. NetApp stellt eine README-Datei zur Verfügung, die Informationen zur Ausführung einer Rolle enthält.Stellen Sie sicher, dass Sie immer die neuesten Versionen der Rollen herunterladen. -
Verschieben Sie die Rollen, die Sie heruntergeladen haben, in einem Verzeichnis, von dem aus sie installiert wurden.
$ mv ~/.ansible/roles/ansible/nar_solidfire_sds_* ~/.ansible/roles/
-
Führen Sie den ansible-Galaxie-Rollenlistenbefehl aus, um sicherzustellen, dass Ansible für die Verwendung der neuen Rollen konfiguriert ist.
$ ansible-galaxy role list # ~/.ansible/roles - nar_solidfire_sds_install, (unknown version) - nar_solidfire_sds_upgrade, (unknown version) - ansible, (unknown version) - nar_solidfire_sds_compliance, (unknown version) - nar_solidfire_cluster_config, (unknown version) - nar_solidfire_sds_uninstall, (unknown version)
-
Erstellen Sie das Playbook für Upgrades. Wenn Sie bereits über ein Playbook verfügen und dieses verwenden möchten, müssen Sie sicherstellen, dass Sie das angeben
nar_solidfire_sds_upgrade
Rolle in diesem Playbook. -
Führen Sie das Playbook aus:
$ ansible-playbook -i inventory.yaml playbook_upgrade_sample.yaml
Der hier verwendete Playbook-Name ist ein Beispiel. Sie sollten es durch den Namen Ihres Playbooks ersetzen. Durch Ausführen des Playbooks werden die in der Bestandsdatei eingegebenen Informationen validiert und die RPM wird auf allen im Bestand aufgeführten Nodes installiert. Sie können die Ansible-Ausgabe überprüfen, um sicherzustellen, dass jeder Node aktualisiert wird.
-
Überprüfen Sie nach Abschluss des Upgrades jeden Node, um sicherzustellen, dass die neue Version über die Element UI oder die Cluster-API ausgeführt wird.