---
title: 执行openstack network list命令时提示Internal Server Error, HTTP 500的解决方法
description: "执行openstack network list命令时，提示如下信息："
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/troubleshooting/trouble/kunpengopenstackstein_09_0011.html
sourcePath: /source/zh/kunpengcpfs/troubleshooting/trouble/kunpengopenstackstein_09_0011.html
indexId: b0ff810f0173c3a07c5b8f977dc22da42872f5777f657f8c9892ce133714596681
---
# 执行openstack network list命令时提示Internal Server Error, HTTP 500的解决方法

#### 问题现象描述

执行openstack network list命令时，提示如下信息：


日志文件“/var/log/neutron/server.log”提示如下信息：

```
oslo_messaging.rpc.server OperationalError: (pymysql.err.OperationalError) (1040, u'Too many connect
```

对应截图如下：


#### 关键过程、根本原因分析

OpenStack一直处于调度中，数据库连接出现“Too many connections”，说明数据库最大连接数太小，当前已达最大连接数。


#### 结论、解决方案及效果

1. 打开MariaDB配置文件。

```
vim /etc/my.cnf.d/openstack.cnf
```


  在[mysqld]字段下找到max_connections，设置max_connections = 4096。如下图所示：

2. 修改系统最大文件打开数。

  a. 打开文件。

```
vim /etc/security/limits.conf
```


  b. 在文件中添加如下内容。

```
* soft nofile 65536
* hard nofile 65536
```


    添加完成后，如下图所示：

  c. 编辑“/etc/pam.d/login”文件，并在文件中添加如下内容。

```
session required /lib/security/pam_limits.so
```


    当用户完成系统登录后，Linux会调用pam_limits.so模块来限制该用户可使用的各种资源数量的最大值，包括可打开的最大文件数限制等。pam_limits.so模块会从“/etc/security/limits.conf”文件中读取配置。

  d. 设置系统可以打开的最大的文件句柄数。

```
ulimit -SHn 65536
```


3. 设置系统最大值。

  a. 打开文件。

```
vim /etc/sysct
l.conf
```


  b. 在文件中添加如下内容。

```
# max open files
fs.file-max = 65536
```


  c. 使配置生效。

```
sysctl -p
```


4. 修改数据库参数。

  a. 更改MySQL在Linux的最大文件描述符限制，编辑“/usr/lib/systemd/system/mariadb.service”文件，在[Service]下添加如下内容：

```
LimitNOFILE=65535
LimitNPROC=65535
```


  b. 使配置生效。

```
systemctl daemon-reload
systemctl restart  mariadb.service
```


  c. 修改数据库的最大连接数。

    - 查看MySQL最大连接。

```
mysql> show variables like 'max_connections';
```


    - 查看当前服务器正在使用的连接数。

```
mysql> show global status like 'Max_used_connections';
```


5. 重启OpenStack服务。需要将每个服务都重启一遍，用户可以编写脚本来重启所有服务。

  a. 重启Neutron。

```
systemctl restart neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
```


  b. 重启Nova。

```
systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
```


  c. 重启Glance。

```
systemctl restart openstack-glance-api.service openstack-glance-registry.service
```


  d. 重启Cinder。

```
systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
```
