执行OpenStack命令报错HTTP 500
问题现象描述
执行OpenStack命令报错如下:
ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500)
偶现且出现概率不固定。
关键过程、根本原因分析
- 检查报错命令相关的组件(nova、cinder等组件)的日志,发现报错如下:
图1 报错日志
- 执行如下命令检查mysql连接数是否已经接近28231。
netstat -a|grep mysql|grep "^tcp"|wc -l
结论、解决方案及效果
减少处于TIME_WAIT状态的连接数,操作如下。
- 临时配置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
- 修改系统配置文件“ /etc/sysctl.conf”。
- 编辑文件。
vi /etc/sysctl.conf
- 按“i”进入编辑模式,添加如下内容。
net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_max_tw_buckets=10000
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 使配置生效。
sysctl -p
- 编辑文件。
父主题: OpenStack Stein