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
DEFAULT
den Parameter rpc_response_timeout hinzu und legen Sie dessen Wert auf6000
fest. - Fügen Sie den Parameter executor_thread_pool_size hinzu und legen Sie dessen Wert auf
640
fest.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
conf
den Parameter connect_timeout hinzu und legen Sie dessen Wert auf5
fest. - Fügen Sie den Parameter max_connections hinzu und legen Sie dessen Wert auf
5000
fest. - Fügen Sie den Parameter net_read_timeout hinzu und legen Sie dessen Wert auf
1200
fest. - Fügen Sie den Parameter net_write_timeout hinzu und legen Sie dessen Wert auf
1200
fest. - Fügen Sie im Abschnitt
conf
den Abschnittingress
hinzu. - Fügen Sie im Abschnitt
ingress
den Parameter proxy-read-timeout hinzu und legen Sie dessen Wert auf1200
fest. - Fügen Sie den Parameter proxy-send-timeout hinzu und legen Sie dessen Wert auf
1200
fest. - Fügen Sie den Parameter proxy-stream-timeout hinzu und legen Sie dessen Wert auf
3600s
fest.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
nova
den AbschnittDEFAULT
hinzu. - Fügen Sie im Abschnitt
DEFAULT
den Parameter cpu_allocation_ratio hinzu und legen Sie dessen Wert auf30
fest. - Fügen Sie den Parameter executor_thread_pool_size hinzu und legen Sie dessen Wert auf
640
fest. - Fügen Sie den Parameter ram_allocation_ratio hinzu und legen Sie dessen Wert auf
6
fest. - Fügen Sie im Abschnitt
nova
den Abschnittdatabase
hinzu. - Fügen Sie im Abschnitt
database
den Parameter max_pool_size hinzu und legen Sie dessen Wert auf50
fest.
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
conf
den Abschnittkeystone
hinzu. - Fügen Sie im Abschnitt
keystone
den Parameter wsgi_processes hinzu und legen Sie dessen Wert auf8
fest. - Fügen Sie den Parameter wsgi_threads hinzu und legen Sie dessen Wert auf
15
fest. - Fügen Sie im Abschnitt
keystone
den Abschnitttoken
hinzu. - Fügen Sie im Abschnitt
token
den Parameter expiration hinzu und legen Sie dessen Wert auf28800
fest.Die Konfigurationsdatei entspricht nun weitestgehend Folgendem.conf: keystone: wsgi_processes: 8 wsgi_threads: 15 token: expiration: 28800
- Ändern Sie die Keystone-Konfiguration.