Convirt故障问题现象:
1、在convirt平台对某个VM虚机执行View Console报错:cannot concatenate 'str' and 'gaierror' objects ,不能正常vnc连接VM,报错如图:
2、ps查看socat进程,VNC端口从6900到6999都已经被占用。
故障原因分析:
测试得知,通过Convirt平台使用VNC连接一个VM,socat端口转发会启用两个进程,宿主机和VM之间一来一回,如下内容:
[root@xencms convirt]# ps aux
root
root
若在Convir平台使用VNC时有不合理操作(如:直接关闭浏览器、浏览器崩溃)导致socat端口转发进程常驻系统中,并占用VNC端口。
而VNC端口范围是6900-6999(TCP协议),因为一些不合理操作导致端口转发驻留进程占用端口,达到第101个VNC连接VM时不能正常连接、报错,如本章最初引发的问题。VM节点转发端口是从5902开始,如上进程查看内容。
至此已经把故障原因搞清楚:Convirt管理机因socat驻留进程占满VNC端口导致socat不能正常VNC端口转发连接VM,找到病灶就可以对症下药喽。
问题处理方法:
1、将所有socat进程kill即可,使用killall socat无果,如下命令解决:
ps aux
2、规范convirt平台操作流程,避免socat驻留进程。
本文转自pandazhai 51CTO博客,原文链接:http://blog.51cto.com/dreamway/1045578