GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie Affinitäts- und Anti-Affinitätsrichtlinien in OpenStack

In den Organisationen, in denen das OpenStack wird aggressiv verwendet, sodass Anwendungs- und Datenbankteams in solchen Organisationen die Anforderung aufstellen können, dass ihre Anwendungs- und Datenbankinstanzen entweder auf denselben Rechenknoten gestartet werden müssen (Hypervisor) oder andere Rechenknoten.

Diese Anforderung wird in OpenStack also über Servergruppen erfüllt mit Affinität und Anti-Affinität Richtlinien. Die Servergruppe wird zur Steuerung von Affinitäts- und Anti-Affinitätsregeln für die Planung von Openstack-Instanzen verwendet.

Wenn wir versuchen, virtuelle Maschinen mit einer Affinitätsservergruppe bereitzustellen, werden alle virtuellen Maschinen auf demselben Rechenknoten gestartet. Wenn VMs mit einer Ameisen-Affinitäts-Servergruppe bereitgestellt werden, werden alle VMs auf verschiedenen Compute-Knoten gestartet. In diesem Artikel zeigen wir, wie man OpenStack-Servergruppen mit Affinitäts- und Anti-Affinitätsregeln erstellt.

Lassen Sie uns zunächst überprüfen, ob Ihr OpenStack-Setup Affinitäts- und Anti-Affinitätsrichtlinien unterstützt oder nicht, führen Sie den folgenden grep-Befehl von Ihren Controller-Knoten aus,

# grep -i "scheduler_default_filters" /etc/nova/nova.conf

Die Ausgabe sollte in etwa so aussehen,

Wie wir sehen können, sind Affinity- und Ant-Affinity-Filter aktiviert, aber falls diese nicht aktiviert sind, fügen Sie diese Filter in /etc/nova/nova.conf hinzu Datei der Controller-Knoten unter „scheduler_default_filters ” Parameter.

# vi /etc/nova/nova.conf
………………
scheduler_default_filters=xx,xxx,xxx,xxxxx,xxxx,xxx,xxx,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,xx,xxx,xxxx,xx
………………

Speichern und beenden Sie die Datei

Um die obigen Änderungen am Effekt vorzunehmen, starten Sie die folgenden Dienste neu

# systemctl restart openstack-nova-scheduler
# systemctl restart openstack-nova-conductor

Lassen Sie uns nun OpenStack-Servergruppen mit Affinitäts- und Anti-Affinitätsrichtlinien erstellen

Servergruppe mit Affinitätsrichtlinie

Um eine Servergruppe mit dem Namen „app“ für die Affinitätsrichtlinie zu erstellen, führen Sie den folgenden openstack-Befehl vom Controller-Knoten aus,

Syntax:

# openstack server group create –policy affinity

Oder

# nova server-group-create Affinität

Hinweis: Bevor Sie mit der Ausführung des openstack-Befehls beginnen, vergewissern Sie sich bitte, dass Sie die Projektanmeldedatei als Quelle verwenden, in meinem Fall ist die Projektanmeldedatei „openrc

Beispiel:

# source openrc
# openstack server group create --policy affinity app

Servergruppe mit Anti-Affinitätsrichtlinie

Um eine Servergruppe mit Anti-Affinitätsrichtlinie zu erstellen, führen Sie den folgenden openstack-Befehl vom Controller-Knoten aus, ich gehe davon aus, dass der Name der Servergruppe „Datenbank“ ist

Syntax:

# openstack server group create –policy anti-affinity

Oder

# nova server-group-create Anti-Affinität

Beispiel:

# source openrc
# openstack server group create --policy anti-affinity database

ID und Richtlinien der Servergruppe auflisten

Führen Sie entweder den nova-Befehl oder den Openstack-Befehl aus, um die ID der Servergruppe und ihre Richtlinien abzurufen

# nova server-group-list | grep -Ei "Policies|database"
Or
# openstack server group list --long | grep -Ei "Policies|app|database"

Die Ausgabe wäre so etwas wie unten,

Starten Sie virtuelle Maschinen (VMs) mit Affinitätsrichtlinie

Angenommen, wir möchten 4 VMs mit Affinitätsrichtlinie starten, führen Sie die folgende „openstack server create ” Befehl

Syntax:

# openstack server create –image –flavor –security-group –nic net-id= –hint group= –max  

Beispiel:

# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="a9847c7f-b7c2-4751-9c9a-03b117e704ff" --max 4 affinity-test

Ausgabe des obigen Befehls,

Lassen Sie uns überprüfen, ob VMs auf demselben Rechenknoten gestartet werden oder nicht, führen Sie den folgenden Befehl aus

# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i affinity-test

Dies bestätigt, dass unsere Affinitätsrichtlinie gut funktioniert, da alle VMs auf demselben Rechenknoten gestartet werden.

Lassen Sie uns nun die Anti-Affinitätsrichtlinie testen

Starten Sie virtuelle Maschinen (VMs) mit Anti-Affinitätsrichtlinie

Für die Anti-Affinitätsrichtlinie werden wir 4 VMs starten. Im obigen Befehl „openstack server create“ müssen wir die ID der Anti-Affinitätsservergruppe ersetzen. In unserem Fall verwenden wir die Gruppen-ID des Datenbankservers.

Führen Sie den folgenden Openstack-Befehl aus, um 4 VMs auf verschiedenen Computern mit Anti-Affinitätsrichtlinie zu starten,

# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="498fd41b-8a8a-497a-afd8-bc361da2d74e" --max 4 anti-affinity-test

Ausgabe

Verwenden Sie den folgenden Openstack-Befehl, um zu überprüfen, ob VMs auf verschiedenen Rechenknoten gestartet werden oder nicht

# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i anti-affinity-test

Die obige Ausgabe bestätigt, dass unsere Anti-Affinitätsrichtlinie ebenfalls gut funktioniert.

Hinweis: Das Standardkontingent für die Servergruppe beträgt 10 für jeden Mandanten. Dies bedeutet, dass Sie bis zu 10 Servergruppen innerhalb des Projekts erstellen können, die mehr als 10 VMs steuern können.

Verwenden Sie den folgenden Befehl, um das Servergruppenkontingent für einen bestimmten Mandanten anzuzeigen, und ersetzen Sie die Mandanten-ID, die zu Ihrem Setup passt

# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group
| server_group_members | 10      |
| server_groups        | 10      |
#

Führen Sie zum Aktualisieren der Servergruppenquote die folgenden Befehle aus

# nova quota-update --server-group-members 15 f6852d73eaee497a8a640757fe02b785
# nova quota-update --server-groups 15  f6852d73eaee497a8a640757fe02b785

Führen Sie nun den openstack-Kontingentbefehl erneut aus, um das Kontingent der Servergruppe zu überprüfen

# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group
| server_group_members | 15     |
| server_groups        | 15     |
#

Das ist alles, wir haben das Kontingent der Servergruppe für den Mandanten erfolgreich aktualisiert. Auch dies schließt den Artikel ab, bitte zögern Sie nicht, ihn mit Ihren Technikfreunden zu teilen.


Linux
  1. So erstellen Sie eine Sicherung

  2. Was ist ein Webserver und wie funktioniert ein Webserver?

  3. So erstellen Sie einen virtuellen Nginx-Host (Serverblock)

  4. So erstellen und löschen Sie Benutzergruppen in Linux

  5. Grundlegendes zu Affinitäts-/Anti-Affinitätsgruppenrichtlinien in OpenStack Mitaka

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So erstellen und konfigurieren Sie VirtualHost für den OpenLiteSpeed-Server

So erstellen Sie einen Minecraft-Server unter Ubuntu 20.04

So erstellen und verwalten Sie virtuelle Maschinen in KVM

So erstellen Sie einen Sudo-Benutzer unter Ubuntu und Debian

So erstellen Sie einen neuen Atlantic.Net-Cloud-Server