中文
注册

执行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. 修改系统最大文件打开数。
    1. 打开文件。
      vim /etc/security/limits.conf
    2. 在文件中添加如下内容。
      * soft nofile 65536
      * hard nofile 65536

      添加完成后,如下图所示:

    3. 编辑“/etc/pam.d/login”文件,并在文件中添加如下内容。
      session required /lib/security/pam_limits.so

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

    4. 设置系统可以打开的最大的文件句柄数。
      ulimit -SHn 65536
  3. 设置系统最大值。
    1. 打开文件。
      vim /etc/sysctl.conf
    2. 在文件中添加如下内容。
      # max open files
      fs.file-max = 65536

    3. 使配置生效。
      sysctl -p
  4. 修改数据库参数。
    1. 更改MySQL在Linux的最大文件描述符限制,编辑“/usr/lib/systemd/system/mariadb.service”文件,在[Service]下添加如下内容:
      LimitNOFILE=65535
      LimitNPROC=65535
    2. 使配置生效。
      systemctl daemon-reload
      systemctl restart  mariadb.service
    3. 修改数据库的最大连接数。
      • 查看MySQL最大连接。
        mysql> show variables like 'max_connections';
      • 查看当前服务器正在使用的连接数。
        mysql> show global status like 'Max_used_connections';
  5. 重启OpenStack服务。需要将每个服务都重启一遍,用户可以编写脚本来重启所有服务。
    1. 重启Neutron。
      systemctl restart neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
    2. 重启Nova。
      systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    3. 重启Glance。
      systemctl restart openstack-glance-api.service openstack-glance-registry.service
    4. 重启Cinder。
      systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词