在部署配置完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)