默认 VMware Integrated OpenStack 配置可能不足,无法执行高并发或较大卷的 Cinder 备份操作。
问题
增加 Cinder 备份操作的并发数或 Cinder 卷的大小后,操作可能会失败,并且日志中可能会显示 GetResourceFailure 错误。
解决方案
- 扩大控制平面和 Cinder 备份 Pod 数。
每个控制器节点只能包含一个 Cinder 备份 Pod。
- 增加部署中的控制器节点数。
请参见 向部署添加控制器节点。
- 增加部署中的 Cinder 备份 Pod 数。
请参见 扩展 OpenStack 服务。
- 增加部署中的控制器节点数。
- 以
root
用户身份登录到 Integrated OpenStack Manager。ssh root@mgmt-server-ip
- 更新 Cinder 的 RPC 响应超时和执行器线程池大小。
- 修改 Cinder 配置。
viocli update cinder
- 在
DEFAULT
部分中,添加 rpc_response_timeout 参数并将其值设置为6000
。 - 添加 executor_thread_pool_size 参数并将其值设置为
640
。现在,配置文件看起来类似于以下内容。conf: backends: [...] cinder: DEFAULT: [...] rpc_response_timeout: 6000 executor_thread_pool_size: 640
- 修改 Cinder 配置。
- 更新数据库超时和最大连接参数。
- 修改 MariaDB 配置。
viocli update mariadb
- 在
conf
部分中,添加 connect_timeout 参数并将其值设置为5
。 - 添加 max_connections 参数并将其值设置为
5000
。 - 添加 net_read_timeout 参数并将其值设置为
1200
。 - 添加 net_write_timeout 参数并将其值设置为
1200
。 - 在
conf
部分中,添加ingress
部分。 - 在
ingress
部分中,添加 proxy-read-timeout 参数并将其值设置为1200
。 - 添加 proxy-send-timeout 参数并将其值设置为
1200
。 - 添加 proxy-stream-timeout 参数并将其值设置为
3600s
。现在,配置文件看起来类似于以下内容。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
- 修改 MariaDB 配置。
- 更新 Nova 的池大小和分配比率。
- 修改 Nova 配置。
viocli update nova
- 在
nova
部分中,添加DEFAULT
部分。 - 在
DEFAULT
部分中,添加 cpu_allocation_ratio 参数并将其值设置为30
。 - 添加 executor_thread_pool_size 参数并将其值设置为
640
。 - 添加 ram_allocation_ratio 参数并将其值设置为
6
。 - 在
nova
部分中,添加database
部分。 - 在
database
部分中,添加 max_pool_size 参数并将其值设置为50
。
现在,配置文件看起来类似于以下内容。conf: nova: DEFAULT: cpu_allocation_ratio: 30 executor_thread_pool_size: 640 ram_allocation_ratio: 6 database: max_pool_size: 50
- 修改 Nova 配置。
- 更新 Keystone 的令牌过期和 Web 服务器网关接口 (WSGI) 参数。
- 修改 Keystone 配置。
viocli update keystone
- 在
conf
部分中,添加keystone
部分。 - 在
keystone
部分中,添加 wsgi_processes 参数并将其值设置为8
。 - 添加 wsgi_threads 参数并将其值设置为
15
。 - 在
keystone
部分中,添加token
部分。 - 在
token
部分中,添加 expiration 参数并将其值设置为28800
。现在,配置文件看起来类似于以下内容。conf: keystone: wsgi_processes: 8 wsgi_threads: 15 token: expiration: 28800
- 修改 Keystone 配置。