2011年6月2日 星期四

Linux KVM - RedHat 圖型管理工具

virsh 指令搭配 xml 檔案,對虛擬電腦的建置、操作與管理的能力,都遠優於 Linux KVM 原生的 kvm 指令,但即使如此,卻還是指令模式的操作方式,有就是必須在終端機之下,敲打一堆的指令與參數,才能使虛擬電腦正常運作,除此之外,如果虛擬電腦本身沒有提供 console 的連線模式,即使利用 virsh 啟動了虛擬電腦,還是無法連線到虛擬電腦之內(相對來說, kvm 指令還會跳出虛擬電腦的視窗畫面),這就顯得無法利用虛擬電腦來做任何事,更別說要提供服務了。


不過,如果真的是這樣,那麼 RedHat 這家公司,就不需要花費力氣來維護它了,還記得,前面有提到,virsh 是由 libvirt 所提供的操作指令,而 libvirt 則是由 RedHat 公司所維護,既然知道 virsh 本身存在使用上的缺陷,RedHat 當然不會放著不管,而 virt-manager 就是 RedHat 針對 Linux KVM 所提供的視窗管理工具,本身也是 Open Source ,一樣依循 libvirt 所制定的標準,所以可以完整的操作 Linux KVM



安裝 virt-manager(以 Ubuntu Desktop 10.04 為例)


開啟終端機,並輸入以下指令:


sudo apt-get install virt-manager


按下 Enter 之後,若系統提示輸入密碼,請輸入管理者密碼,系統會顯示要安裝的套件與函 式庫,並會提示是否要安裝以上套件,請輸入 y ,讓安裝程序可以順利安裝下去。


備註1:上述是利用 Ubuntu 套件庫來進行線上安裝,不過,這種安裝方式有一個缺點,就是所安裝的套件,往往不會是最新版本,以 virt-manager 來說,由於版本更新速度很快,相對來說,程式的 Bug 也相對應的比較少,因此,有時候,以手動編譯的模式來安裝套件,是必要的!以 virt-manager 來說,若需要以手動編譯來安裝,必須先利用 Ubuntu 線上套件庫安裝一些必要的套件(build-essential python-libvirt python-gtk-vnc python-gnome2-desktop-dev python-urlgrabber intltool libxml2-dev libvirt-dev libgtk2.0-dev libglade2-dev libgtk-vnc-1.0-dev)之後,才下載 virt-manager 的原始碼來編譯安裝,這樣 virt-manager 才能正常運作。而必要套件安裝完之後,再下載 virt-manager-0.8.7.tar.gzvirtinst-0.500.6.tar.gzvirt-viewer-0.2.0.tar.gz ,依序下載、編譯與安裝(上述版本為撰寫此文時的最新版本,而利用線上安裝的方式,則 virt-manager 的版本則為 0.8.2)。



檢視圖形視窗管理工具


安裝完成之後,第一件事,就是修改 virt-manager (中文介面翻譯為〝虛擬機器管理員〞)的啟動權限,原因是因為 virt-manager 的許多設定與檔案讀取、寫入的路徑,都需要管理員的權限,所以先設定 virt-manager 的啟動權限,以減少日後不必要的困擾。由工具列的「系統」「偏好設定」「主選單」,開啟設定視窗,點選「選單(M)」欄位的〝系統工具〞,接著在「項目(E)」欄位點選〝虛擬機器管理員〞,再按下「屬性(P)」:



在跳出的視窗中,在「指令(A)」的欄位修改為〝gksudo virt-manager〞,按下「關閉(C)」後跳出設定:




權限設定完成之後,可以由工具列的「應用程式」「系統工具」「虛擬機器管理員」,來啟動 Linux KVM 的圖形視窗管理程式,第一次開啟,系統會提示輸入管理者密碼,如下圖:




管理者密碼輸入之後,按下確定,就會出現 Linux KVM 的圖形視窗管理程式:




不過,這時,如上圖紅色框框的區域,顯示目前虛擬系統是〝Not Connectedt〞的狀態,這時並無法使用虛擬系統,將〝localhost〞的名稱反白之後,按下滑鼠右鍵,點下「連線(O)」之後,虛擬系統才能正常運作:






接著點選「名稱」欄位內的〝localhost〞之後,再點選工具列上的「編輯(E)Connection Details」,就可以開啟整個 Linux KVM 的環境設定頁面,包含「簡介」、「虛擬網路」與「Storage」三大頁面:


簡介:主要在說明目前虛擬系統所在主機的基本架構與資源使用狀況

虛擬網路:虛擬系統所能使用的網路設備與該設備的網路設定

Storage:虛擬系統所能使用的儲存空間大小與檔案位置



新增虛擬電腦


回到虛擬機器管理員,現在我們要利用此視窗管理工具來新增虛擬電腦,按下工具列上的有亮點的電腦圖示,這就是新增虛擬電腦的地方:




一、定義名稱


按下之後,系統會跳出一個〝New VM〞的獨立視窗,上面也有說明,只要五個步驟,就可以新增一台虛擬電腦,首先在「Name」的欄位,填入虛擬電腦的名稱,而這個名稱,會顯示在〝virsh list --all〞指令輸出的畫面上,也是日後控制虛擬電腦的主要名稱,名稱設定完成之後,下方有三種作業系統的安裝模式可以選擇,分別為:


1. 本機安裝媒體( ISO 映像檔或光碟):就是一般利用光碟或是 ISO 檔案來安裝作業系統

2. Network Install HTTP, FTP, or NFS):利用網路磁碟裝置來安裝作業系統

3. Network Boot PXE ):網路開機


在這邊選擇「本機安裝媒體」的方式來安裝作業系統,選擇之後,按下〝下一步〞:




二、選擇作業系統來源與系統類型


由於上一步驟選擇以本機安裝媒體來安裝虛擬電腦的作業系統,事先已經在系統內放置了 Ubuntu Server ISO 檔案,所以就選擇「Use ISO image」來安裝作業系統,而按下〝Browse〞來選擇 ISO 檔案的所在位置,這時系統會跳出另一個設定視窗,來選擇(找尋)ISO 檔案,系統預設會存在一個〝default〞的 Storage,這是 Linux KVM 一安裝完成就會產生的預設資料夾,其資料夾位置在〝/var/lib/libvirt/images〞,不過,這裡並不只可以存放 ISO 映像檔,當虛擬電腦產生之後,其預設的硬碟檔案也會存放在這個位置,所以,就管理的角度來說,若將所有的檔案全部放在這裡,是會造成日後管理上的困難,這點之後再詳述,直接往下找〝Browse Local〞的按鍵,按下之後,會出現類似檔案總館的視窗,找尋並點選實際 ISO 檔案的位置,之後按下〝開啟〞就好,接著在「OS type」的地方,選擇作業系統的類型,而「Version」則選擇作業系統的版本,接著按下〝下一步〞:




三、設定記憶體大小與可用 CPU 的數量


在「Memory」的地方,設定虛擬電腦的記憶體大小,而「CPUs」則設定 CPU 的數目(若實體電腦為雙核心 CPU 以上時,才可選擇),接著按〝下一步〞:




四、設定硬碟檔案的大小


這邊就要設定虛擬電腦可運用的硬碟空間大小,系統預設為 8GB ,而〝Allocate entire disk now〞這個選項如果勾選(預設),就表示要將硬碟空間一次就切割到指定的大小(如預設的 8GB ),基本上,除非此虛擬電腦日後要運作資料流量大的服務(如資料庫),或者你的硬碟空間真的大到用不完,一般倒是可以不需要勾選此項,取消勾選之後,再接著按〝下一步〞:




備註2:另一個選項「Select managed or other existing storage」,這是在已經存在可利用的硬碟檔案時,才選此項,並指定硬碟檔案。


五、偏好設定


最後一個步驟,若沒有特別需求,是可以直接按下「完成(F)」,就結束虛擬電腦的建立,進入安裝作業系統的階段,不過,下方〝Advanced options〞,可是包含蠻重要的設定選項,點開之後,就可以看到如下圖的資訊:




這裡包含了網路連線方式的選擇、MAC address 的設定,以及虛擬系統的運作類型(Virt Type)和系統平台類型(Architecture


備註3:若實體電腦支援 Linux KVM ,則預設 Virt Type 是〝kvm〞,反之則是〝qemu


最後按下「完成(F)」,虛擬電腦就新增完成,並且進入作業系統安裝的階段,由視窗管理工具就可以知道:




或者點一下虛擬電腦的圖示:




再按下工具列上「開啟」的電腦圖示,就可以看到整個虛擬系統的運作畫面:





檢視虛擬電腦資訊


雖然,在建立虛擬電腦的過程中,我們清楚了解到虛擬電腦的各項硬體設定(是自己設定的,當然清楚),不過,難免會有需要異動或需要修改的時候,那麼該怎麼進入設定頁面呢?很簡單,在剛剛啟動虛擬電腦之後,按下「開啟」的電腦圖示,不是就可以看到整個虛擬系統的運作畫面,接著在此頁面上方的工具列,依序「檢視(Y)Toolbar」,就可以叫出工具列,而按下工具列上「i」的圖示(如下圖紅色框框所示),就可以看到完整虛擬電腦的硬體資訊了:





關閉虛擬電腦


而除了正常在虛擬電腦內執行關機動作之外,視窗管理工具也可以直接關閉整在運作的虛擬電腦,但有意思的是,實際關閉的指令,卻不是大家熟悉的「Shut Down」,而是更為強烈的字眼,「Force Off」,操作順序為點選要關閉的虛擬電腦,按下滑鼠右鍵,選擇「Shut DownForce Off」,就可以在視窗管理工具上關閉虛擬主機,不過,讀者們可能會發現,不是在「Force Off」 之上,有「Shut Down」的選項嗎?不過,至少在目前 Linux KVM 的視窗管理工具上,這個選項是沒有作用的!





「Shut Down」選項的限制

其實,virt-manager 的「Shut Down」選項,之所以無法使用,原因在於虛擬電腦的作業系統之內,缺乏〝acpid〞這一個套件,且並不是目前所有的 Linux 發行套件預設都會安裝,以 Ubuntu 發行套件來說,系統預設就沒有安裝此一套件,若要 virt-manager 能夠針對安裝 Ubuntu 系統的虛擬電腦,利用「Shut Down」的選項來關閉虛擬電腦,就必須在虛擬電腦之內安裝〝acpid〞這一個套件,其安裝方式如下:

$ sudo apt-get install acpid

安裝完成,將虛擬電腦重新開機,之後若要利用 virt-manager 來關閉虛擬電腦,就可以使用「Shut Down」的選項了。


遺失安裝訊息處理方式


有時在安裝的過程中,或者一開始尚未安裝作業系統的時候,就關閉了虛擬電腦,下次在開機的時候,一般會看到如下的訊息:




這是什麼原因呢?說穿了,就是遺失開機訊息,這是因為硬碟檔案內沒有作業系統與開機訊息,加上前次關閉虛擬電腦之後,光碟或 ISO 檔案就已經退出虛擬電腦,再次開機,當然找不到可開機的媒體,就會出現上圖的訊息。


處理方式為,先進入虛擬電腦硬體資訊頁面,並點選左側「IDE CDROM 1」的選項,在這邊可以發現到右側資訊頁面,並沒有存在任何光碟或 ISO 檔案的訊息,接著按下「連線(O)」:




就可以選擇光碟或找尋可開機的 ISO 檔案,選擇完成,訊息頁面就會出現光碟或 ISO 檔案的資訊:




還沒結束喔,接著再點選左側「Boot Options」的選項,並在右側訊息頁面的「開機裝置」,選擇〝CDROM〞,並按下右下方的「套用」,這一步驟可不要忘記喔,不然剛剛所有的設定可是會消失的,這樣就白做工了:




最後,按下工具列上「」的圖示,就可以正常開機啦。

沒有留言:

張貼留言