Beim Betrieb eines Server-Clusters oder redundanter Server in der OpenStack Cloud ist es entscheidend, sicherzustellen, dass die provisionierten Instanzen (VMs) nicht auf derselben physischen Hardware ausgeführt werden. Andernfalls könnte ein Hardware-Ausfall das gesamte redundante Setup beeinträchtigen.
Im Normalbetrieb entscheidet OpenStack selbstständig, wie die Instanzen im Cluster verteilt werden. Möchten Sie die Verteilung beeinflussen, können Sie Server Groups mit der Affinity- oder Anti-Affinity-Policy nutzen. Im Folgenden erfahren Sie, wie Sie diese Funktionalität über die CLI verwenden.
Server Group mit Anti-Affinity Policy erstellen
Um sicherzustellen, dass die Instanzen einer Gruppe nicht auf der gleichen Hardware ausgeführt werden, nutzen Sie die Anti-Affinity-Policy. Erstellen Sie hierfür eine neue Server Group mit folgendem Befehl:
openstack server group create <Gruppenname> --policy anti-affinity
Beispiel
openstack server group create Gruppe01 --policy anti-affinity
Nach Eingabe des Befehls erhalten Sie eine Rückgabe wie diese:
+----------+--------------------------------------+
| Field | Value |
+----------+--------------------------------------+
| id | a0bb8ea7-3348-42c7-a3da-e9593a8d7821 |
| members | |
| name | Gruppe01 |
| policies | anti-affinity |
+----------+--------------------------------------+
Erklärung:
- id: Die eindeutige ID der Server Group.
- members: Liste der Instanzen, die zur Server Group gehören (aktuell leer).
- name: Der Name der Server Group.
- policies: Die angewandte Policy, in diesem Fall anti-affinity.
Ihre Server Group mit dem Namen Gruppe01 wurde erfolgreich erstellt.
Instanzen in eine Server Group aufnehmen
Wenn Sie Instanzen provisionieren, geben Sie die Server Group an, zu der sie gehören sollen. Fügen Sie beim Erstellen einer Instanz den Parameter --hint group=<ServerGroup-ID>
hinzu.
Beispiel:
openstack server create --flavor SCS-1V-2 --image "Ubuntu 24.04" --network my-network \
--hint group=a0bb8ea7-3348-42c7-a3da-e9593a8d7821 Instanz01
Ersetzen Sie <ServerGroup-ID>
durch die ID der Server Group aus der vorherigen Ausgabe. OpenStack stellt nun sicher, dass die Instanzen dieser Server Group nicht auf derselben Hardware ausgeführt werden.
Affinity Policy nutzen
Falls Sie möchten, dass die Instanzen innerhalb einer Gruppe auf derselben Hardware laufen, erstellen Sie eine Server Group mit der Affinity-Policy:
openstack server group create <Gruppenname> --policy affinity
Beispiel
openstack server group create Gruppe02 --policy affinity
Anschließend können Sie Instanzen wie oben beschrieben mit der entsprechenden Server Group verknüpfen.
Zusammenfassung
- Anti-Affinity Policy: Stellt sicher, dass Instanzen einer Gruppe nicht auf derselben Hardware laufen.
- Affinity Policy: Stellt sicher, dass Instanzen einer Gruppe auf derselben Hardware laufen.
- Verwendung der Server Group erfolgt über den Parameter
--hint group=<ServerGroup-ID>
beim Provisionieren von Instanzen.
Durch diese Methode haben Sie volle Kontrolle über die Verteilung Ihrer Instanzen im OpenStack-Cluster und können die Verfügbarkeit Ihrer Systeme optimieren.