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 網站自己恢復了!*

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