【第152期 May 5, 2010】
 

研發新視界

虛擬化技術實務討探討-以Hyper-V Server為例

作者/范銘傑

[發表日期:2010/5/5]




前言

目前的虛擬化技術已廣泛使用於企業,其中一個應用是可以在實際部署到產品之前,建立一特定虛擬環境,測試應用程式或軟體更新。而目前市面上的虛擬化軟體包含了: VMWare,Hyper-V,Citrix,OracleVM等,本文除將帶領讀者了解企業使用虛擬化技術的因素外,另以Hyper-V Server 2008為例,討論其所能帶來的效益與實際架設流程。

虛擬化

一、何謂虛擬化

所謂虛擬化,其實就是把電腦資源,如運算能力、儲存空間以及應用程式抽離出來,讓資源的使用方式更具效率。因此,對於現今大多數IT人員來說,「虛擬化」這個字可以說是在單一實體機器上執行多個作業系統的概念,用以提高伺服器使用率與降低成本的目的。

二、虛擬化的效益

虛擬化已不是新的話題,隨著相關技術日趨成熟,基於多方面的考量,許多企業都願意將虛擬化技術導入專案之中,尤其是在伺服器虛擬化這一塊。根據IDC的調查,2007年臺灣企業導入伺服器虛擬化的比例為14.5%,2008則大幅成長達到36.5%,IDC資深分析師暨企業應用召集人曹永暉認為,2011年臺灣企業導入伺服器虛擬化的比例將超過5成。會有這樣的預測,不難理解伺服器售價越來越便宜、功能越來越強大的原因,處理器多核心的發展,讓伺服器的效能越來越強大,如何有效應用伺服器資源便是一門關鍵。而虛擬化則是有效利用伺服器資源的利器,再加上虛擬化軟體的成熟與蓬勃,有越來越多的廠商強化伺服器虛擬化的應用,讓虛擬化的穩定度與可用性大幅提高,也強化企業對虛擬化的接受度。

而虛擬化技術所能帶來的好處大致可以分成以下幾點:

◎降低成本:成本的降低最直接的反映便是在採購面,由於虛擬化的分區讓一台伺服器可以如同多台伺服器般運作,在相同業務量的情況下,企業可將伺服器數量降為原先的五分之一到十分之一。另外,在作業系統上,也從以往較為集中的架構變成現今許多企業IT環境是較為分散式的架構,許多用戶在個別部門各自設置測試機,使得作業系統的版本數量與相關授權費用(license)成本不斷攀升。這也是近來虛擬化日益熱門的原因,因為它能減少不同版本作業系統的管理需求,並同時有效精簡系統維護以及伺服器作業的成本。

◎提升效率:IT資源虛擬化之後,調度也將更為容易。因此當客戶有任何新需求或任何緊急業務同時出現,系統作業無須等待即可立即彈性分配資源,以應付大量作業需求,讓組織靈活因應新業務需求,或在有需要時迅速增設應用程式,快速回應市場及業務需求,提高營運效能。而在新系統建置時,相較手動設定新伺服器的程序,使用虛擬化技術做系統設定極為簡便,增加管理有效性。

◎簡化管理:企業應該投資較多的資源於核心業務,應該花費大量的時間與人力制訂經營政策,以達成營運目標,而非投注人力與成本在管理機器。虛擬化減少了伺服器的數量,從實體來說,就已經降低了管理人員的負擔。用戶可將原先複雜的環境,利用虛擬技術把個別用途的伺服器整合入大型的伺服器,以減少整體伺服器數量與不同版本作業系統的管理,並且簡化架構管理流程。IBM曾提出"IT Simplification"的概念,主要目的就是協助企業以簡化的架構來增加IT管理效率。

◎綠色效益:能源價格持續飛漲,「買得起設備,供不起用電」有可能成為CEO的噩夢:企業資料中心的電源花費,並不全都是伺服器本身,根據統計,這高昂的電費中有五五%都是用於空調等環境,剩下的四五%電能才是供給資料中心裏伺服器設備使用的。最令人扼腕的是,伺服器的平均使用率竟然只達到二○%。也因此,虛擬化減少了伺服器的數量,提高了伺服器的使用率,無怪乎名列IBM的綠色創新工程中重要技術之一,IBM指出,在綠色創新工程五大節能技術的加持下,資料中心可節省多達四○% 的動能和冷卻消耗支出。

除了以上幾點外,針對虛擬化技術的運作,虛擬器也提供了許多相關優點,諸如: 與資料庫或分公司的伺服器整合、舊應用的整合與重新架設、自動化整合化的軟體測試研發環境、災難復原的簡化步驟等。有此可鑑,不難發現企業對於虛擬化技術的接受度以及其實際實施的方便性。

三、虛擬化是萬靈丹?

或許對於一個新成立的子單位來說,虛擬化技術的確是一項有效節省成本的解決方案,初期投資稍多的硬體成本,卻能讓一個實體單位的硬體做更多事情。但是如果對一個已經穩定運作的單位呢?

針對成本而言,一套企業級堪用的虛擬化作業系統用主機必須比一般伺服器多出更多的硬體資源,這種硬體資源的投入不是垂直的提升運算時脈與加速存取速度,而是要平行的擴充多核心與多CPU,儲存資源部分除了容量外,最基本的IO也需達一定水準,幾乎都必須導入儲存區域網路(SAN)以達成可用的IO水準與備援支援,相對應的設備成本也難以估算。可見真正可實用化的虛擬作業系統主機必須投入未虛擬化時更多的成本。而這種大型主機也牽涉到維護成本與便利,一般企業的MIS無法維護這種龐大複雜的主機,需透過廠商才能有效維護。硬體也是有壽終正寢的一天,若不幸遭遇天災,集中管理的結果便是全盤皆毀。

一套需要穩定運作的系統需要有不中斷的服務,勢必導入高可用性的技術與備援硬體,光由這點而言便可見硬體成本需多出一倍甚至數倍之有(因為目前技術僅能使用兩套完全相同的硬體設備才能建置HA結構);系統與資料的備份若是配合SAN也將是非常大的問題,一旦主儲存空間損毀則難以使用相同等級的儲存媒體還原。

現階段而言,虛擬化技術是一項前景型或者基礎建設時使用,過了初期的陣痛期後或許能穩定管理與使用;如果已上線的服務與網路導入後,若只是單方面考慮優點,接踵而來的成本與人力衝擊將使IT界戒慎恐懼,需要慎重以對。

Hyper-V

一、 Hyper-V Server

Hyper-V原本是Windows Server 2008內建的重要功能,但就在虛擬化市場最強力的競爭者VMware釋出免費的虛擬化軟體ESXi之後,微軟也隨即跟進,釋出免費的Hyper-V Server 2008。Hyper-V Server 2008與Hyper-V系出同源,所以也是x64技術的產物,同樣也需要處理器支援虛擬化。雖然免費(原本定價28美元),但Hyper-V Server 2008的功能較為陽春:缺少了本機的GUI管理介面,必須以遠端方式管理,而且也缺少叢集和快速遷移能力,實體記憶體支援上限為32 GB,處理器最多支援到4顆(但是Windows Server 2008 Standard的Hyper-V也缺少叢集和快速遷移能力,實體記憶體和處理器支援上限也是32 GB、4顆)。

雖然免費的軟體總有些限制在,但Hyper-V Server 2008能讓用戶不需藉助Windows Server 2008,即可擁有基本的Hyper-V功能,而且Hyper-V Server 2008不只可免費取得,也不需要CAL。Hyper-V Server 2008是個只有Hyper-V角色、不具GUI功能的特殊Windows Server 2008版本,利用Hyper-V Server 2008,您可以將某一部電腦變成專屬的虛擬化主機,並在其中以各個虛擬機器執行各種作業系統。再者,透過Hyper-V Server的實裝,不僅取得簡易且相較於Window Server 2008,在虛擬機的運作與資源的上,Hyper-V Server 也有較好的表現,因為 Hyper-V Server是一個很單純的VM Server,且沒有外掛其他太多樣化的功能,對於只是單純架設VM Server且沒有特殊需求的使用著,是個很好的選擇。


《表一》


二、Hyper-V 與VMWare

VMWare 算是虛擬化技術的老大哥,技術領先,而 Microsoft 也是因為雲端運算的發展趨勢,強化 Hyper-V 的開放,終於在 Window 2008 R2 Hyper-V 可以和 VMWare 正面交戰,一般人認為 VMWare 有較多的實戰經驗,Microsft 只是新兵,有待磨練,而且 Hyper-V 和 VDI 技術多需要搭配 Window 2008 和 Window 7,需要強迫昇級,推行不易,但是 Microsoft 有價格優勢,居然打出 Data Center 版本的虛擬機器不需要 OS 版權費,在Windows 作業系統比比皆是的現況來看,這確實是一個十分誘人的行銷手法。

虛擬機大師Scott Lowe在Tech Republic發表了一篇有關Hyper-V和vSphere的比較文章。Scott在文中列了一個很棒的表來比較兩者之間的功能和價格,但他在文後也透露了他目前所處的環境還是使用vSphere,主要的原因是vSphere是一個「經過證明成功」的產品,當然他也不排除評估Hyper-V的未來可能性,因為Hyper-V的價格策略實在是太吸引人了。

Hyper-V Server的架設

一、 安裝


Hyper-V Server 2008 安裝規定要在64位元系統,若出現下列畫面,則為系統規格不符合。


《圖一》系統規格不符合畫面


安裝過程中不會有太大的問題,只要不斷的下一步即可,安裝完畢後會進入登入畫面,初次登入的密碼是空白,因此需要重新設定才可以進入系統。


《圖二》登入畫面


二、 設定

操作方式與Server Core幾乎一樣,上面的藍色設定畫面每次開機皆會出現,可設定基本的網路設定,剩下的還是必須靠後方的command line設定。要使用Hyper-V Server必須加入網域,否則無論是SCVVM或者Vista、Windows 7的Hyper-V管理員都無法進行連線。


《圖三》設定與操作畫面


為了能夠遠端進行管理,因此需要針對7>遠端桌面和8>網路設定,進行遠端管理的開放與IP的定址,如果對於Server Core 的指令不夠熟悉者,在設定完網路後,可以下載一個GUI 的工具-CoreConfigurator,以圖形化介面進行環境設定。


《圖四》CoreConfigurator


由於Hyper-V Server需要遠端進行管理,方法包括:

◎從另一部x86或x64的Windows Server 2008執行Hyper-V管理員MMC。

◎從另一部x86或x64的Windows Vista SP1執行Hyper-V管理員MMC。

◎從另一部System Center Virtual Machine Manager。

理Hyper-V,除了額外安裝Hyper-V 管理工具外,還需要作一些設定才能正常連接,原因在於Hyper-V Server 2008並不需要用戶端存取使用權(CAL),但執行Hyper-V Server 2008的Windows Server,以及所有執行在Hyper-V Server 2008虛擬機器裡的Windows Server,就需要CAL。連結的設定可以參考微軟Senior Program Manager - John Howard 的文章:Configure Hyper-V Remote Management in seconds,在文章中有提供一組便於設定的檔案HVRemote,在後續的設定中需要仰賴這個檔案,否則設定起來便會較於繁複。

設定情形大致分為兩種,一個是相同用戶端與 Hyper-V 在同一個網域,另一種為不同網域,前者只需將用戶端加入網域,則可以直接遠端管理Hyper-V Server,而不同網域則依以下步驟即可遠端至Hyper-V Server進行管理。(以下操作皆是在具有Hyper-V管理員的主機上進行設定,也就是要遠端到Hyper-V Server的主機),設定方式以Windows 7為例。

1.登入用戶端電腦,下載Hyper-V Remote Management Configuration Utility ,並存放至適當目錄。

2.以系統管理員身份執行「命令提示字元」。

3.在「命令提示字元」的視窗裡,輸入「cscript //h:cscript」後按下Enter鍵。因為HVRemote 工具無法在系統預設的WScript 模式下執行。

4.使用「Cmdkey」指令,將能存取Hyper-V 伺服器的帳號及密碼,存放於用戶端電腦裡。 cmdkey /add: Hyper-V的Domain Name /user: Hyper-V的帳號 /pass: Hyper-V的密碼,指令範例可參考下方:
cmdkey_/add:XXXX_/user:Administrator_/pass: ****(底線表空格)
新增完畢後,可用「cmdkey /list」,確認是否成功儲存認證。
這個指令執行完後,Hyper-V 管理員的錯誤訊息會變成:
「拒絕存取。無法在 '伺服器名稱' 和 '用戶端電腦名稱' 之間建立通訊」。

5.在「命令提示字元模式」輸入指令「HVRemote /AnonDCOM:grant」。( 要在HVRemote檔的目錄下執行,且大小寫要注意有無輸入錯誤)

6.如果還是不能連線,可能是NAME和IP沒有對到,此時則要修改 c:\Windows\System32\driver\etc\ 裡面的hosts檔,在最底下新增一行: Hyper-V Server IP Hyper-V Server DomainName(Ex: 123,123,123,345_Test)底線表空白。

三、管理

設定完成後,則可以在Hyper-V 管理員中進行新增虛擬機與相關設定。


《圖五》Hyper-V管理員畫面


透過動作工具列中的新增則會有設定精靈進行虛擬機器一系列的設定,完成所有步驟後,便可以在虛擬機器看到新增的項目,而雙點擊虛擬機器項目,就可以從新的視窗進行遠端控制。


《圖六》遠端控制虛擬機器


在此額外做個叮嚀,在虛擬機器建置完成,要進行網路建置時,建議先將預設的虛擬網路卡移除,重新新增一個虛擬網路卡,並且將虛擬網路卡BINDING到Hyper-V Server上的網卡,避免原本的預設造成無法正常運作。若將虛擬機器設定為實體IP,則一般電腦就可以使用遠端桌面進行控制,使操作更加便利,使用起來也與實體機無異。

結論

虛擬化技術的普及除了它所能帶來的效益之外,它還是實現雲端運算的技術之一,無怪乎越來越受到重視與應用,所以微軟也迅速的迎頭趕上,以Hyper-V加入虛擬化的戰爭,而Hyper-V Server則是一般人最容易取得的版本,而且足以滿足一般性的需求,因此透過本介紹與討論能對虛擬化技術與Hyper-V Server有初步的入門與接觸,更多的相關資訊,則需依目的性而有額外的主題進行闡述。


參考文件

http://www.goodman-lai.idv.tw/2008/10/hyper-v.html
http://blog.udn.com/robertyjlai/3710843
http://vaemon.com/article/510.html
http://www.askasu.idv.tw/index.php/2009/02/22/313/
http://www.askasu.idv.tw/index.php/2008/12/25/142/
http://www.zdnet.com.tw/enterprise/technology/0,2000085680,20108135,00.htm
http://www.zdnet.com.tw/enterprise/technology/0,2000085680,20108151,00.htm
http://accoduies.blogspot.com/2009/09/microfost-hyper-v-server-2008-r2.html
http://www.ithome.com.tw/itadm/article.php?c=47731