Die standardmäßige VMware Integrated OpenStack-Konfiguration ist möglicherweise nicht ausreichend für Cinder-Sicherungsvorgänge mit einem hohen Maß an Parallelität oder großen Volumes.
Problem
Wenn Sie die Parallelität von Cinder-Sicherungsvorgängen oder die Größe von Cinder-Volumes erhöhen, können die Vorgänge fehlschlagen, und in den Protokollen werden möglicherweise GetResourceFailure-Fehler angezeigt.
Lösung
- Führen Sie eine horizontale Hochskalierung der Steuerungsebene und der Anzahl der Cinder-Sicherungs-Pods durch.
Jeder Controller-Knoten darf nur einen Cinder-Sicherungs-Pod enthalten.
- Erhöhen Sie die Anzahl der Controller-Knoten in Ihrer Bereitstellung.
Weitere Informationen finden Sie unter Hinzufügen von Controller-Knoten zu Ihrer Bereitstellung.
- Erhöhen Sie die Anzahl der Cinder-Sicherungs-Pods in Ihrer Bereitstellung.
Weitere Informationen finden Sie unter Skalieren von OpenStack-Diensten.
- Erhöhen Sie die Anzahl der Controller-Knoten in Ihrer Bereitstellung.
- Melden Sie sich beim Integrated OpenStack Manager als
root-Benutzer an.ssh root@mgmt-server-ip
- Aktualisieren Sie den Zeitüberschreitungswert für die Antwort an die RPC und die Größe des Executor-Thread-Pools für Cinder.
- Ändern Sie die Cinder-Konfiguration.
viocli update cinder
- Fügen Sie im Abschnitt
DEFAULTden Parameter rpc_response_timeout hinzu und legen Sie dessen Wert auf6000fest. - Fügen Sie den Parameter executor_thread_pool_size hinzu und legen Sie dessen Wert auf
640fest.Die Konfigurationsdatei entspricht nun weitestgehend Folgendem.conf: backends: [...] cinder: DEFAULT: [...] rpc_response_timeout: 6000 executor_thread_pool_size: 640
- Ändern Sie die Cinder-Konfiguration.
- Aktualisieren Sie den Zeitüberschreitungswert für die Datenbank und die maximale Anzahl an Verbindungsparametern.
- Ändern Sie die MariaDB-Konfiguration.
viocli update mariadb
- Fügen Sie im Abschnitt
confden Parameter connect_timeout hinzu und legen Sie dessen Wert auf5fest. - Fügen Sie den Parameter max_connections hinzu und legen Sie dessen Wert auf
5000fest. - Fügen Sie den Parameter net_read_timeout hinzu und legen Sie dessen Wert auf
1200fest. - Fügen Sie den Parameter net_write_timeout hinzu und legen Sie dessen Wert auf
1200fest. - Fügen Sie im Abschnitt
confden Abschnittingresshinzu. - Fügen Sie im Abschnitt
ingressden Parameter proxy-read-timeout hinzu und legen Sie dessen Wert auf1200fest. - Fügen Sie den Parameter proxy-send-timeout hinzu und legen Sie dessen Wert auf
1200fest. - Fügen Sie den Parameter proxy-stream-timeout hinzu und legen Sie dessen Wert auf
3600sfest.Die Konfigurationsdatei entspricht nun weitestgehend Folgendem.conf: connect_timeout: 5 max_connections: 5000 net_read_timeout: 1200 net_write_timeout: 1200 ingress: proxy-read-timeout: "1200" proxy-send-timeout: "1200" proxy-stream-timeout: 3600s
- Ändern Sie die MariaDB-Konfiguration.
- Aktualisieren Sie die Poolgrößen und die Zuteilungsquoten für Nova.
- Ändern Sie die Nova-Konfiguration.
viocli update nova
- Fügen Sie im Abschnitt
novaden AbschnittDEFAULThinzu. - Fügen Sie im Abschnitt
DEFAULTden Parameter cpu_allocation_ratio hinzu und legen Sie dessen Wert auf30fest. - Fügen Sie den Parameter executor_thread_pool_size hinzu und legen Sie dessen Wert auf
640fest. - Fügen Sie den Parameter ram_allocation_ratio hinzu und legen Sie dessen Wert auf
6fest. - Fügen Sie im Abschnitt
novaden Abschnittdatabasehinzu. - Fügen Sie im Abschnitt
databaseden Parameter max_pool_size hinzu und legen Sie dessen Wert auf50fest.
Die Konfigurationsdatei entspricht nun weitestgehend Folgendem.conf: nova: DEFAULT: cpu_allocation_ratio: 30 executor_thread_pool_size: 640 ram_allocation_ratio: 6 database: max_pool_size: 50 - Ändern Sie die Nova-Konfiguration.
- Aktualisieren Sie den Wert für den Token-Ablauf und die WSGI-Parameter (Web Server Gateway Interface) für Keystone.
- Ändern Sie die Keystone-Konfiguration.
viocli update keystone
- Fügen Sie im Abschnitt
confden Abschnittkeystonehinzu. - Fügen Sie im Abschnitt
keystoneden Parameter wsgi_processes hinzu und legen Sie dessen Wert auf8fest. - Fügen Sie den Parameter wsgi_threads hinzu und legen Sie dessen Wert auf
15fest. - Fügen Sie im Abschnitt
keystoneden Abschnitttokenhinzu. - Fügen Sie im Abschnitt
tokenden Parameter expiration hinzu und legen Sie dessen Wert auf28800fest.Die Konfigurationsdatei entspricht nun weitestgehend Folgendem.conf: keystone: wsgi_processes: 8 wsgi_threads: 15 token: expiration: 28800
- Ändern Sie die Keystone-Konfiguration.