在部署配置完openstack基礎服務以及dashboard后。登錄頁面發現很多功能都不正常,無法獲取實例,也無法獲取鏡像。
- 查看日志
[root@openstack-controller-dev ~]# grep many /var/log/nova/*
/var/log/nova/nova-api.log:2019-11-12 22:11:18.543 103211 ERROR nova.api.openstack.extensions OperationalError: (_mysql_exceptions.OperationalError) (1040, 'Toomany connections')
可以看到這些錯誤其實都是一樣的錯誤,是數據庫的最大連接數有問題
- 進入數據庫中查看該設置
MariaDB [(none)]> show global variables like '%max_conn%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| extra_max_connections | 1 |
| max_connect_errors | 100 |
| max_connections | 214 |
+-----------------------+-------+
3 rows in set (0.01 sec)
在openstack.cnf中雖然設置了最大連接數為4096,但是這里顯示仍然是214。
- 修改mariadb.service文件
[root@openstack-controller-dev ~]# vim /usr/lib/systemd/system/mariadb.service
在[Service]
新添加兩行參數:
LimitNOFILE=10000
LimitNPROC=10000
- 重新加載系統服務,並重啟mariadb
[root@openstack-controller-dev ~]# systemctl --system daemon-reload
[root@openstack-controller-dev ~]# systemctl restart mariadb.service文件
- 進入數據庫查看最大連接數
MariaDB [(none)]> show global variables like '%max_conn%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| extra_max_connections | 1 |
| max_connect_errors | 100 |
| max_connections | 4096 |
+-----------------------+-------+
3 rows in set (0.00 sec)