鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

执行OpenStack命令报错HTTP 500

问题现象描述

执行OpenStack命令报错如下:

ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500)

偶现且出现概率不固定。

关键过程、根本原因分析

  1. 检查报错命令相关的组件(nova、cinder等组件)的日志,发现报错如下:
    图1 报错日志
  2. 执行如下命令检查mysql连接数是否已经接近28231。
    netstat -a|grep mysql|grep "^tcp"|wc -l

结论、解决方案及效果

减少处于TIME_WAIT状态的连接数,操作如下。

  1. 临时配置tcp连接相关内核参数。
    sysctl -w net.ipv4.tcp_tw_reuse=1
    sysctl -w net.ipv4.tcp_fin_timeout=30
    sysctl -w net.ipv4.tcp_max_tw_buckets=10000
  2. 修改系统配置文件“ /etc/sysctl.conf”
    1. 编辑文件。
      vi /etc/sysctl.conf
    2. 按“i”进入编辑模式,添加如下内容。
      net.ipv4.tcp_tw_reuse=1
      net.ipv4.tcp_fin_timeout=30 
      net.ipv4.tcp_max_tw_buckets=10000
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
    4. 使配置生效。
      sysctl -p