Ubuntu18.04 上 phpvirtualbox 折腾记(二)

20191219 用 phpvirtualbox 管理虚拟机的时候,闲来整理一下多余的虚拟机

  1. 关闭并删除多余的、不再使用的服务器
  2. 对正在使用的虚拟机加上注解( Description)
  3. 升级一下还在使用 ubuntu 1804.1 的发行版(release)到ubuntu 1804.3
  4. 克隆一个种子以备下次使用

贪心缘故,以上几个操作我同时进行,结果悲剧了!
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、不可惊慌!

  1. 上一次的折腾的时候刚开始使用,没有什么虚拟机在使用中,大不了全部重启、关机、重装,后来也确实重装了 virtualbox 和 phpvirtualbox 才恢复
  2. 本次虽然有了经验,但是若干虚拟机已经在正常使用中,不可能全部重装!不可贸然关机或者重启!不可贸然重启 vbox 服务 (vboxweb-service)
  3. 冷静分析,其实 phpvirtualbox 只是一个远程管理虚拟机的网站,并不会实际影响虚拟机的运行,所以,只要想法恢复网站,就不会造成什么后果!

3、尝试 VBoxManage 命令行

  1. 列举所有虚拟机 VBoxManage list vms
    那些 vms 列表正常,本次不再粘贴

  2. 启动被关机的虚拟机
    假设被关机的虚拟机名字是: 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
  1. 启动克隆出来的虚拟机
    假设克隆出来的虚拟机名字是: 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

  2. 关机
    VBoxManage controlvm XXXXXX
    找一个不重要的虚拟机,关机试试!也失败了!
    信息忘记保留了

4、 尝试重启 网站

  1. 重启 apache
    sudo systemctl restart apache2
    再次打开网站,依然是以上的异常

  2. 本地打开网站
    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
    忘记了记录以上信息

  3. 重启 vboxweb-service
    sudo systemctl restart vboxweb-service
    再次打开网站,依然是以上的异常

  4. 重启 vboxdrv
    sudo systemctl restart vboxdrv
    再次打开网站,恢复正常了!

*** 以上启动次序,是按照我个人理解的影响从小到大,一步一步的进行的!
*** 如果还不行,可能就需要重启 virtualbox 整个服务了,那样子一定会影响所有的虚拟机!

5 、总结

到底是什么原因,造成了 18083 端口阻塞?不得而知!
php 网站异步处理是个问题,所以,不要想我一样同时进行几个操作(克隆、删除、注解…),等一个操作完成之后,再进行下一个
最终恢复是重启了 vboxdrv 驱动,没有影响到整个虚拟机环境!

*** 后记:20191221 又一次出现以上异常!
这次是因为给某个虚拟机加注解( Description),其中使用了问号(?)等特殊字符

** 注解不要带有特殊字符!**

我分析:既然造成了阻塞,多等一会儿应该可以恢复!所以,特意等待了师傅哦分钟,果然,

phpvirtualbox 网站自己恢复了!*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章