Proxmox修復OpenVZ虛擬機器使用Ubuntu 12.04/10.04無法在console顯示的問題
Proxmox VE是虛擬機器運作環境的一種平台,其特色是支援了容器虛擬化技術OpenVZ。OpenVZ可以用較少(比起VMware之類的全虛擬化)的檔案建立一個高效能的獨立虛擬機器。然而OpenVZ並非是一種全虛擬化的技術,在運作各個系統時難免會遇上一些問題,需要手動修正。
這篇是講以OpenVZ建置Ubuntu 12.04/10.04虛擬機器時,修復console (控制台)無法順利使用的問題。問題的解法是來自於Proxmox的說明網頁,基本上照著它的作法並沒有錯,我只是增加一些額外的說明而已。
問題敘述:console卡死在apache2
這次我在Proxmox VE 2.2版中安裝ubuntu-12.04-standard_12.04-1_i386.tar.gz樣板建立起Ubuntu虛擬機器。建置過程順利,但是卻無法順利進入console(控制台)。如上圖所示,畫面卡在以下訊息:
* Starting web server apache2 [ OK ]
看監控表,虛擬機器是有正常運作,可是實際上卻不能使用,怎麼會這樣呢?我找了好久才發現原來這是Ubuntu的桌面無法配合console顯示的問題。
解決方法:調整Ubuntu的tty1.conf
首先,先登入Proxmox VE伺服器,我們從伺服器來進入Ubuntu虛擬機器修改。
查詢Ubuntu虛擬機器編號
你必須先知道Ubuntu虛擬機器的編號,你可以輸入vzlist指令來查詢:
proxmox-ve:~# vzlist
CTID NPROC STATUS IP_ADDR HOSTNAME
108 23 running 192.168.9.20 ubuntu-1204.proxmox.com
109 18 running 192.168.9.21 centos63-64.proxmox.com
111 15 running 192.168.9.23 centos5-64.proxmox.com
114 14 running 192.168.9.30 deb6-32.proxmox.com
115 15 running 192.168.9.31 deb7-32.proxmox.com
122 14 running 192.168.9.36 deb5.proxmox.com
從上面的例子中你可以看到ubuntu1204.proxmox.com的編號是108。
進入Ubuntu並修改tty1.conf
接著輸入vzctl enter 108來進入Ubuntu虛擬機器:
proxmox-ve:~# vzctl enter 108
順利的話,你就可以看到以下訊息:
root@ubuntu-1204:
這表示你進到Ubuntu虛擬機器了,接著來修改tty1.conf吧。tty1.conf的檔案路徑位於「/etc/init/tty1.conf」:
root@ubuntu-1204:/# vim /etc/init/tty1.conf
你會看到以下畫面:
現在要把這個檔案的內容改成以下設定:
# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -8 38400 tty1
儲存該檔案,然後重新啟動Ubuntu伺服器吧。
root@ubuntu-1204:/# reboot
然後你就可以在console看到Ubuntu虛擬機器順利啟動了。