20191219 用 phpvirtualbox 管理虚拟机的时候,闲来整理一下多余的虚拟机
- 关闭并删除多余的、不再使用的服务器
- 对正在使用的虚拟机加上注解( Description)
- 升级一下还在使用 ubuntu 1804.1 的发行版(release)到ubuntu 1804.3
- 克隆一个种子以备下次使用
贪心缘故,以上几个操作我同时进行,结果悲剧了!
phpvirtualbox 网站弹出来一个异常警告
详细信息如下
Exception Object
(
[message:protected] => Could not connect to host (http://127.0.0.1:18083/)
[string:Exception:private] =>
[code:protected] => 64
[file:protected] => /var/www/html/phpvirtualbox/endpoints/api.php
[line:protected] => 135
[trace:Exception:private] => Array
(
)
[previous:Exception:private] =>
)
克隆的没有完成,删除的不知道是否真的就删除了!
重复几次打开网站,换浏览器打开网站,都是一样!
于是继上次 20190216 十个月之后,又一次开始折腾 phpvirtualbox 之旅
1、赶紧打开自己之前的一次折腾记录
https://blog.csdn.net/u010953609/article/details/87518537
2、不可惊慌!
- 上一次的折腾的时候刚开始使用,没有什么虚拟机在使用中,大不了全部重启、关机、重装,后来也确实重装了 virtualbox 和 phpvirtualbox 才恢复
- 本次虽然有了经验,但是若干虚拟机已经在正常使用中,不可能全部重装!不可贸然关机或者重启!不可贸然重启 vbox 服务 (vboxweb-service)
- 冷静分析,其实 phpvirtualbox 只是一个远程管理虚拟机的网站,并不会实际影响虚拟机的运行,所以,只要想法恢复网站,就不会造成什么后果!
3、尝试 VBoxManage 命令行
-
列举所有虚拟机 VBoxManage list vms
那些 vms 列表正常,本次不再粘贴 -
启动被关机的虚拟机
假设被关机的虚拟机名字是: vmsClosed
VBoxManage startvm vmsClosed
失败了!警告信息如下
Waiting for VM "vmsClosed" to power on...
VBoxManage: error: The virtual machine 'vmsClosed' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
-
启动克隆出来的虚拟机
假设克隆出来的虚拟机名字是: vmsClone
VBoxManage startvm vmsClone
失败了!警告信息如下VBoxManage: error: The machine ‘vmsClone’ is already locked by a session (or being locked or unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee nsISupports
VBoxManage: error: Context: “LaunchVMProcess(a->session, sessionType.raw(), Bstr(strEnv).raw(), progress.asOutParam())” at line 600 of file VBoxManageMisc.cpp -
关机
VBoxManage controlvm XXXXXX
找一个不重要的虚拟机,关机试试!也失败了!
信息忘记保留了
4、 尝试重启 网站
-
重启 apache
sudo systemctl restart apache2
再次打开网站,依然是以上的异常 -
本地打开网站
curl 127.0.0.1/phpvirtualbox/
出现以下错误
Could not connect to host (http://127.0.0.1:18083/)
*** 原来是 18083 端口问题
查看
lsof -i:18083
netstat -antp |grep 18083
忘记了记录以上信息 -
重启 vboxweb-service
sudo systemctl restart vboxweb-service
再次打开网站,依然是以上的异常 -
重启 vboxdrv
sudo systemctl restart vboxdrv
再次打开网站,恢复正常了!
*** 以上启动次序,是按照我个人理解的影响从小到大,一步一步的进行的!
*** 如果还不行,可能就需要重启 virtualbox 整个服务了,那样子一定会影响所有的虚拟机!
5 、总结
到底是什么原因,造成了 18083 端口阻塞?不得而知!
php 网站异步处理是个问题,所以,不要想我一样同时进行几个操作(克隆、删除、注解…),等一个操作完成之后,再进行下一个
最终恢复是重启了 vboxdrv 驱动,没有影响到整个虚拟机环境!
*** 后记:20191221 又一次出现以上异常!
这次是因为给某个虚拟机加注解( Description),其中使用了问号(?)等特殊字符
** 注解不要带有特殊字符!**
我分析:既然造成了阻塞,多等一会儿应该可以恢复!所以,特意等待了师傅哦分钟,果然,
phpvirtualbox 网站自己恢复了!*