2012年12月12日 星期三

安裝CentOS 6.3與KVM、設定VNCServer

1.系統安裝與前置設定
如果手邊沒有映像檔的,可以到官方下載
http://ftp.stust.edu.tw/pub/Linux/CentOS/6.3/isos/x86_64/
http://ftp.stust.edu.tw/pub/Linux/CentOS/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso

在這邊我使用的是x86_64位元版本的
(要注意,如果是這個版本,你的CPU也要是64位元的)

由於要使用CPU VT-x的虛擬化功能,所以電腦的CPU的虛擬化技術要打開,
如果你的CPU有支援,可以去BIOS設定成Enable(這個部分要自己確認)

只是很弔詭的一件事情目前還沒去找解答,我用兩台NB測試過
1.Thinkpad 400(CPU:intel t9550)
2.Toshiba Terca R10(CPU:Intel P9400)
這兩顆CPU都有支援虛擬化,且BIOS也有開虛擬化技術,VirtualBox的VT-x也有開啟,
可是Virt-Manager就是開不起來(KVM的管理程式)

開始的畫面,我是選第二個install system with basic video player


一開始會先詢問你是否要測試硬體(media check),我是選擇skip
語言你可以自己選US或中文,鍵盤設置選US,接著會要你選時區(就選自己的區域吧)
再來會要你輸入Root的密碼,如果是剛分割出來的虛擬硬碟,會跳出選項問你要選擇哪個,我是直接選Reinstall,接著再跳出來問你是否要安裝,就選write on disk,就會自動安裝CentOS,安裝完就直接Reboot進入系統吧!

進入系統後,先確認你的機器(不管是雙系統 或是虛擬機器)能不能RUN虛擬技術,
輸入這個指令egrep -c '(vmx|svm)' /proc/cpuinfo
如果得到的是0,代表你的機器無法執行虛擬化,如果是虛擬機器就...改玩雙系統吧,
我在VM上也是0,改成雙系統就可以了

如果你順利進入這邊,先恭喜你可以玩虛擬化了,由於我們要安裝軟體,先確認網路狀態,
輸入ifconfig會發現只有lo這張網卡而已,我們要去將eth0網卡給啟用,才能取得IP上網











先輸入這段指令,切換到網路設定的目錄[root@localhost]# cd /etc/sysconfig/network-scripts
再輸入ls,會顯示該目錄底下的所有檔案與資料夾(如下圖)






我們要啟用的網卡eth0設定檔的名稱為:ifcfg-eth0
使用vi編輯[root@localhost network-scripts] ifcfg-eth0:vi ifcfg-eth0
進入後找到一行ONBOOT="no" 把no改成yes接著就存檔離開(如下圖)








常用vi指令:
  移動游標就是鍵盤的上下左右,或是pageup pagedown快速捲動
  進入編輯模式是按i
  回到檢視模式按esc
  修改完成要存檔是在檢視模式輸入:w (你沒看錯,就是冒號+w)
  要離開該檔案是輸入:q
  要存檔+離開是:wq
  不存檔,強制離開vi是:q!
  強制寫入檔案是:w!
  強制寫入+離開是:wq!


修改完設定檔後,我們要把網路重新啟動
[root@localhost network-scripts]#service network restart
跑好之後再用ifconfig,你會發現多一張eth0啟用了,現在應該可以上網了

2.安裝軟體與設定篇:

在CentOS安裝軟體是使用yum這個指令,先把該安裝的相關軟體先直接裝好,安裝途中可能會要你輸入y來同意,你也可以在yum加上-y來強制同意安裝(例如 yum install -y xxxxxxxxxx)

2.1 先裝KVM相關:
[root@localhost network-scripts]#yum install kvm virt-viewer virt-manager libvirt libvirt-python python-virtinst

2.2 安裝桌面(因為virt-manager需要在桌面模式才能啟動,所以要安裝桌面):
[root@localhost network-scripts]#yum groupinstall -y 'Desktop'

桌面需要的軟體比較多(它會順便安裝SSH),所以會花比較久的時間,一樣讓它慢慢跑吧,

要進入桌面直接輸入startx就可以了,而要離開桌面,直接選右上角的logout就會回到視窗模式了
[root@localhost network-scripts]#startx

2.3 更改網路卡為橋接模式(bridge):
安裝完畢之後,先把虛擬機器的網卡設定從NAT改成橋接模式(bridge)
再重啟一次網路[root@localhost network-scripts]#service network restart
這樣之後才能透過機器的實體IP遠端登入這台機器

既然SSH都裝好了,就順便裝個VNC-SERVER,方便遠端桌面登入用

2.4 安裝VNC-SERVER:
在Centos中套件名稱為:tigervnc-server
[root@localhost network-scripts]#yum install -y tigervnc-server

用vi編輯/etc/sysconfig/vncservers這個檔案:
[root@localhost network-scripts]#vi /etc/sysconfig/vncservers

VNCSERVERS="2:myusername" #VNC預設PORT是5900,所以root到時候是連結5902這個Port
VNCSERVERARGS[2]="-geometry 1024x768" #設定視窗大小

記得把上面這兩行的#拿掉! 並把其中的myusername改成使用VNC登入的帳號,像我就改成root(如下圖):










接著以該帳號執行vncserver,會替該帳號產生關於vncserver的file,
以root為例:
[root@localhost ~]$ vncserver
若尚未建立VNC密碼,會提示USER先輸入vnc密碼(如下圖)





接著會出現下列程序,幫此USER建立相關檔案,





再來用vi編輯/root/.vnc/xstartup這個檔案,
[root@localhost ~]$ vi /root/.vnc/xstartup

找到一行(通常在最後一行)為twm &
在它這行前面加上#把它註解掉,
接著加入一行:
exec gnome-session &
儲存並離開vi

2.5 修改防火牆檔案iptables:

這是最重要的一點,由於從外部連線需要經過防火牆,所以要設定,不然會被擋掉,
修改防火牆檔案:/etc/sysconfig/iptables
[root@localhost ~]$ vi /etc/sysconfig/iptables
像我們的root是使用VNCSERVERS="2:myusername",就是5902 Port,所以要加入新規則如下:
指令如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6000 -j ACCEPT
記得!!這行一定要加在相同的指令底下,如下圖,不然會錯!










設定完成後,重新啟動防火牆與VNCSERVER:
service iptables restart
service vncserver restart

假如一樣不能VNC登入,就重開機器看看,照理說應該就可以登入了!

3.執行Virt-manager開始玩KVM:

不管你是使用startx進入桌面,或者透過VNC遠端桌面,如下圖開啟Virt-manager,
















如果出現上圖的錯誤,這個錯誤是說libvirtd這個daemon沒開啟,這時候打開terminal(Application->System tools->Terminal)
輸入service libvirtd start啟動daemon
[root@localhost ~]$ service libvirtd start

註:(如果提示說找不到libvirtd(這是libvirt的daemon),可能是一開始沒裝到,所以再裝一次libvirt就好)
[root@localhost ~]$ yum install libvirt

接著再去開啟一次virt-manager,正常來說就可以開始玩Linux的虛擬化了。

不過因為我是用VirtualBox安裝的,虛擬化的部分有點問題(CPU虛擬化跟VM CPU虛擬化都有打開),
可是依舊會向下圖一樣出現錯誤,可是在雙系統底下是確定可以順利運行的

1 則留言: