![]() |
||
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
[軟體應用]資訊基礎架構虛擬化:VMware ESX Server 3.5
原文章PDF下載位址,檔名是「VMware ESX Server」,檔案大小約2.18MB。
◎標題:[軟體應用]資訊基礎架構虛擬化:VMware ESX Server 3.5 (2008/4/9) ◎前言:(抱歉,文章內沒有效能測試,原因是使用個人電腦建置軟體應用參考環境,而不是企業用伺服主機) VMware ESX Server定位在中、大型資訊架構虛擬化,與(GSX)Server/Workstation著重在中、小型資訊系統或個人工作站等不同,這2類軟體所使用的虛擬化技術與管理概念也有極大的差別。開始前建議網友先具備基本的作業系統與Linux套件等管理基礎。 這篇文章的目的將簡介ESX Server應用在基礎架構虛擬化所使用的概念與技術,包括資源中心(Resource Pool)、儲存架構(Storage Architecture)、微核心(microkernel)與Hypervisor、VMFS3虛擬檔案系統、VMI 3.0等;除了基本的ESX Server安裝步驟外,文章也將簡介ESX Server的3種管理工具:VMware Infrastructure Client、VMware Infrastructure Web Access、VMware Service Console。 網友對VMware Server/Workstation應不陌生,但ESX Server則是完全不同的虛擬化系統,以下是簡略說明。ESX Server採用Native Virtualization(VMware稱Transparent Para-virtualization)技術,在實際應用上注重穩定、資訊安全、擴充性,並將底層的伺服器統合成叢集(Clusters),再抽象化、集合成可分割運算資源的Resource Pool;虛擬機器則由這個資源中心取得運算資源,可以理解ESX Server在用途上將改變資訊基礎架構的伺服器服務與管理方式;相對地Server/Workstation則以相容性、容易操作、彈性(泛用性)為主,負載虛擬機器數量較低,但適用於各種市面常見的作業系統,以致於常用於軟體工程師所需的測試工作站。 VMware已經將ESX Server納入VMware Infrastructure虛擬化解決方案,並成為套裝產品之一。顧名思義,這是在資訊基礎架構上應用虛擬化,再衍生出伺服器集中管理、備份、災難復原等多種用途。基礎架構虛擬化與傳統上一個服務配置一部伺服器的用法不同,而且ESX Server的Hypervisor虛擬層架設在基礎硬體(如叢集伺服器、GbE網路、SAN儲存系統等)上,使得底層的資訊基礎設施變得抽象化,使資訊人員得重新學習管理虛擬伺服器的相關技能。文章中將簡略揭露其原因。 ◎軟體、硬體需求 硬體:準備2部主機,分別是伺服器與遠端管理主機。伺服器安裝VMware ESX Server 3.5系統,遠端管理主機則安裝Virtual Infrastructure Client/Web Access與Server Console(提供Service Console服務)所需的相關工具。硬體需求請參考下一節文章中的架構圖。 軟體:VMware ESX Server 3.5(官方網站下載),只須下載第一個檔案,其餘檔案用於更大型的架構。下載後是一個ISO檔,再燒錄成可開機光碟即可;至於Virtual Infrastructure Client/Web Access與Server Console則由ESX Server部署即可,不用額外下載軟體。 ◎硬體配置(VMware ESX Server 3.5參考架構) VMware ESX Server最低要求的基本架構需要兩部主機,這裡所使用的架構範例與之前文章中提到的Virtual Iron參考架構相同,除了VMware ESX Server 3.5伺服器與遠端管理電腦,更複雜的架構可以增加VirtualCenter Database、VirtualCenter Server與SAN儲存裝置等獨立伺服器,只是所需硬體已超過我的主機數量,暫時不在此文的討論範圍。 各主機硬體配置與網路設定請參考下圖: ESX Server Reference_1.tif 伺服器在安裝前,建議備份硬碟資料,安裝時磁碟會被格式化為ext3/VMFS3檔案格式,後者是ESX Server專屬的檔案格式。至於處理器的需求,VMware官方網站的新功能新功能並沒有列出與AMD Pacifica/Intel VT-x相關的項目,但技術文件中提到3.5版已支援AMD PT指令集(記憶體分頁虛擬化)。網友應該可以使用未內建Pacifica/VT-x指令集的主機做為伺服器,但我並未測試沒有硬體輔助指令下的安裝方案,請其他網友分享這方面的經驗。 範例中使用的伺服器,其處理器有內建AMD Pacifica指令並在BIOS啟動,安裝時沒有發生問題。技嘉MA78GM-S2H主機板可安裝ESX Server 3.5,但不支援內建的IDE/SATA控制晶片,所以IDE/SATA硬碟無法辨識,改使用VMware建議的外加SCSI儲存裝置;另一點則是ESX Server也不支援主機板內建的網路控制晶片,所以額外加上Intel PRO/1000 MT的GbE獨立網路卡,否則遠端管理主機無法透過區域網路連接伺服器。 遠端管理主機只要一般安裝Windows XP的個人電腦或筆記型電腦即可,圖示也說明兩部主機透過10/100 Ethernet Switch連接;如果遠端管理主機使用Linux套件,須改用Web Access的方式連接伺服器。 ◎VMware ESX Server 3.5安裝步驟 以下是VMware ESX Server 3.5安裝畫面,只要硬體沒有相容性問題,安裝過程會自動執行。 這些步驟與安裝Virtual Iron、Citrix XenServer、甚至Linux套件等相似,熟悉以上軟體的網友可以跳過這一小節。 因為安裝過程缺少截圖的工具,以下圖檔來自於TrainSignal安裝3.0版教學圖檔,與範例所使用的3.5版大同小異。 ESX_install_1.png (圖說)以ESX Server安裝光碟開機後的畫面。 ESX_install_2.png (圖說)檢查安裝光碟,如果確認沒有問題,可以選擇跳過(Skip)。 ESX_install_3.png (圖說)(略) ESX_install_4.png (圖說)(略) ESX_install_5.png (圖說)選擇鍵盤。 ESX_install_6.png (圖說)選擇滑鼠。 ESX_install_7.png (圖說)版權宣告。 ESX_install_8.png (圖說)圖中列出可使用的儲存裝置,由於範例的伺服器僅辨識出SCSI卡上的硬碟,所以安裝時只能選擇SCSI硬碟(範例中為36GB)。 磁區分割方式選擇建議值(Recommanded),系統會分割出必要的磁區,待熟練後可改用進階方式(Advanced)。 ESX_install_9.png (圖說)選擇建議值分割磁碟的結果。圖中所列都是必要的磁區,在進階方式分割時可以參考。 以下是範例所使用36GB SCSI硬碟分割值: /boot (101 MB) / (4996 MB) vmfs3 (27266 MB) swap (541 MB) /var/log (1992 MB) vmkcore (101 MB) 除了開機磁區(/boot)、根目錄(/)、swap與log磁區外,vmkcore是用於系統維護與除錯用的;剩下的磁碟空間將會分割成VMFS3的檔案格式,用於儲存虛擬機器的檔案,數字3代表第3版的VMFS。 若使用進階方式分割,其他自訂的分割區,例如:/home、/tmp、VFAT(用於映射到RAW Disks) ESX_install_10.png (圖說)安裝MBR(開機管理員) ESX_install_11.png (圖說)網路設定,以下是範例所使用的設定: IP Address:192.168.10.10 Subnet Mask:255.255.255.0 Gateway:192.168.10.255 Primary DNS:192.168.10.1 ESX_install_12.png (圖說)選擇時區。 ESX_install_13.png (圖說)這裡請輸入Root管理員密碼,這是VMware Infrastructure Client所需的密碼。 ESX_install_14.png (圖說)安裝前確認所有設定值,接下來將開始安裝。 ESX_install_15.png (圖說)安裝結束。 ESX_install_16.png (圖說)伺服器會重新啟動,開機完成後的畫面如圖。圖中顯示伺服器所在的名稱與IP位置。 範例則是:http://192.168.10.10 圖中下方說明按下「Alt+F1」可以進入伺服器本機的管理終端機(Server Console)。 ESX_install_17.png (圖說)按下「Alt+F1」進入Server Console終端機畫面。這個服務是由VMware ESX Server中的Service Console模組所提供的,而這個模組則是由Red Hat Linux所修改而成,表示終端機的指令與Red Hat Linux是相通的,Script指令也相同。 |
|||||||
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
(接上段文章)
◎遠端管理主機(VMware Infrastructure Client,以下簡稱VI Client)安裝與設定
VI_Client_1.png (圖說)開啟遠端管理電腦的瀏覽器,在網址列上鍵入伺服器位址:http://192.168.10.10 出現圖中畫面,接下來點選「Download VMware Infrastructure Client」,瀏覽器會下載「VMware-viclient.exe」的安裝檔案。 VI_Client_2.png (圖說)下載後的「VMware-viclient.exe」安裝檔案,容量約為50.1MB。 VI_Client_3.png (圖說)點選「VMware-viclient.exe」兩下後開始安裝VI Client。安裝過程很容易,不需要特別說明。 VI_Client_4.png (圖說)(略) VI_Client_5.png (圖說)這裡請任意填寫。 VI_Client_6.png (圖說)(略) VI_Client_7.png (圖說)(略) VI_Client_8.png (圖說)安裝完成後,桌面上會出現「VMware Infrastructure Client」的捷徑圖示,點選後進入管理介面。 VI_Client_9.png (圖說)VMware Infrastructure Client的登入認證畫面,輸入VMware ESX Server安裝時設定的IP、管理員帳號(root)與密碼。 VI_Client_11.png (圖說)VI Client的首頁。圖中左側的樹狀結構,請參考後續說明,其下已建立「Linux」、「Windows」等DataCenter,以及2部虛擬機器。 最上層代表Resource Pool的名稱,內定值是:「localhost.localdomain」 如果有網域控制站,請改用完整的網域名稱。 每一個樹狀結構的詳細資訊,會顯示在右側的頁籤面中。以下僅舉例簡介頁籤內容。 VI_Client_12.png (圖說)在右側頁籤上點選「Summary」,顯示出伺服器的處理器、主記憶體、儲存裝置與網路等各種可用資源。 VI_Client_12_1.png (圖說)點選「Virtual Machines」,列出目前在Resource Pool下所有虛擬機器與其狀態。 圖中的uBuntu_Server(含Desktop套件)與Vista(32位元)都只含作業系統,未安裝任何應用程式,網友可以比較一下處理器與記憶體的使用率。 VI_Client_13.png (圖說)點選「Performance」頁籤,可以看到Resource Pool所屬的CPU、Disk、Management Agent、Memory、Network、System等使用率。 VI_Client_14.png (圖說)點選「Configuration」頁籤,列出ESX Server的組態設定項目。圖中是目前Resource Pool的虛擬網路組態。 VI_Client_15.png (圖說)(接上圖)點選「Configuration」→「Software」→「Security Profile」,進入ESX Server內建的防火牆選項設定。 VI_Client_16.png (圖說)(接上圖)點選右上角的「Properties」,勾選啟動防火牆項目。 VI_Client_17.png (圖說)虛擬處理器的使用率,這是管理員監控虛擬機器資源與狀態的報表。 VI_Client_18.png (圖說)虛擬磁碟的使用率。 VI_Client_19.png (圖說)虛擬記憶體的使用率。 VI_Client_20.png (圖說)虛擬網路的使用率。 ◎建立虛擬機器 VM_install_0.png (圖說)點選樹狀目錄上的「localhost.localdomain」,按下滑鼠右鍵,在接下來的選單上選擇「New Virtual Machine」,建立虛擬機器。這個過程與VMware Server/Workstation都相同,熟悉這些步驟的網友可略過。 VM_install_1.png (圖說)虛擬機器名稱,在ESX Server中建議使用有意義的名稱,容易辨識出Guest OS的種類或版本等,例如「uBuntu_Server」。此做法的概念與Virtual Iron相同,後續在各個VirtualCenter間遷移虛擬機器時,不致於混亂。 VM_install_2.png (圖說)圖中顯示虛擬機器的儲存中心位置。在ESX Server中將儲存中心稱為Datastore,不論後端是本機的SCSI硬碟或SAN儲存系統,都被抽象化後改以名稱使用。圖右的[storage1]是SCSI硬碟的VMFS3分割區空間,也就是本機SCSI硬碟當成儲存中心。 如果安裝ESX Server時有辨識出IDE/SATA裝置,但這裡卻沒有顯示可用的儲存中心,這是因為VMware使用專屬的VMFS3檔案格式,對儲存裝置有特別的要求,細節可以參考「vi3_30_20_installation_guide.pdf」這份文件。建議最低需求為SCSI裝置,同時安裝ESX Server與虛擬機器。文件中特別說明IDE/SATA雖然可以辨識,但不能用來當成虛擬磁碟的儲存中心,即使在系統上將SATA模擬成IDE或SCSI硬碟也不行。 VM_install_3.png (圖說)圖中是ESX Server所支援虛擬機器的Linux套件清單,較新的Red Hat Enterprise Linux 5、SuSE Linux Enterprise Server 10 SP2都在名單內;特別的是64位元的Linux套件,但處理器也必須有64位元與虛擬化指令集,才能安裝64位元虛擬機器。 VM_install_4.png (圖說)圖中是VMware ESX Server所支援虛擬機器的Windows版本清單,除了Windows Vista與Server 2008都已經列入之外,64位元的Windows也在名單上,安裝條件與Linux相同。 圖中可以看到Windows NT 4以前的舊版本已不在支援的項目,所以使用Windows 98/ME等系統虛擬化得改用其他產品。 VM_install_5.png (圖說)因為伺服器主機使用雙核心的AMD處理器,所以虛擬機器最多也只能有2顆虛擬處理器(vCPU)。 VM_install_6.png (圖說)虛擬機器主記憶體容量設定。VMware ESX Server允許記憶體「over-commitment」;例如實體記憶體共2GB,但可以安裝4部虛擬主機,每部配置1GB、一共4GB的虛擬記憶體。 3.5版也可支援AMD Nested Page Tables(NPT)的記憶體分頁虛擬化指令。 VM_install_7.png (圖說)設定虛擬網路卡,每部虛擬機器最多可安裝4張虛擬網路卡。 VM_install_8.png (圖說)I/O控制卡選項。如果安裝虛擬機器後卻無法啟動或找不到虛擬磁碟,這裡是可能的問題來源之一,將LSI Logic改成BusLogic,或者改用相反的設定。 VM_install_9.png (圖說)設定虛擬磁碟。如果後端儲存裝置是使用SAN儲存系統,這裡可以透過「Raw Device Mapping」將磁區掛載到ESX Server上。 VM_install_10.png (圖說)虛擬磁碟容量與儲存位置。 如果有安裝另一部VirtualCenter Server,可以選擇「Specify a datastore」,將虛擬磁碟儲存到後端的Datastore。範例中僅使用單機硬碟,所以選擇第一項。 VM_install_12.png (圖說)虛擬磁碟進階設定,勾選下方的「Mode」,可以選擇關機後不儲存虛擬磁碟的任何更動,就像學校電腦教室常用的時光還原功能一樣。 VM_install_13.png (圖說)設定完成,這裡列出虛擬機器所有資源。 VM_install_14.png (圖說)下方的「Add」、「Remove」可以新增或刪除特定裝置。建議刪除不用的序列埠、串列埠、軟碟機、音效裝置等。 如果選擇使用實體光碟機開機,請記得在「New CD/DVD」勾選「connect at power on」。 VM_install_15.png (圖說)在「Options」頁籤上,可以看到「Para-virtualization」、「Virtualized MMU」、「Swapfile Location」等比較特別的設定。 Para-virtualization僅支援kernel 2.6.21以上的Linux套件,如果作業系統本身不支援這項功能,啟用後不會有任何效果。啟用後Guest OS可以透過VMI(Virtual Machine Interface)與VMM溝通,降低指令轉譯的效率損耗。 VM_install_16.png (圖說)記憶體分頁虛擬化的設定,如果使用內建NPT指令集的AMD處理器,可以在此設定ESX Server的Hypervisor是否應用這些指令,降低虛擬機器切換的效率損耗。 VM_install_17.png (圖說)完成後會在樹狀目錄下出現虛擬機器的名稱。 VM_install_18.png (圖說)虛擬機器的螢幕畫面在頁籤列的「console」。 |
||
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
(接上段文章)
◎VMware Infrastructure Web Access
Web_Access_0.png (圖說)VMware ESX Server另外提供Web Access的虛擬機器管理方式,與VI Client相比,功能較為簡潔,只提供虛擬機器所需的基本管理功能,並使用瀏覽器即可。 如果遠端管理主機是Linux,只能選擇Web Access方式,因為VI Client僅支援Windows。 點選「Log in to Web Access」。 Web_Access_1.png (圖說)認證畫面。 Web_Access_2.png (圖說)FireFox瀏覽器安裝Plug-in的提示,選擇「Install Plug-in」。 Web_Access_3.png (圖說)圖中是Web Access的畫面,只看到虛擬機器相關的管理項目,Resource Pool相關的設定就省略,或透過VirtualCenter Server整合,再透過VI Client管理。 Web Access限制只能連接一部ESX Server,所以樹狀目錄最上層的是ESX Server單一主機的名稱,下一階是這部伺服器內部擁有的虛擬機器。我們可以把Web Access看成用來管理ESX Server群中的單一部虛擬機器工作站,有點像是VMware的 Workstation版。 ◎VirtualCenter Database遠端管理 Web_Access_8.png (圖說)在VI Client的瀏覽器畫面,點選「Browse datastores in this host's inventory」,可以用於管理VirtualCenter Database中的虛擬磁碟檔案(Database本身沒有遠端管理介面,須透過VirtualCenter Server)。 由於範例中沒有獨立的VirtualCenter Server,所以將ESX Server本機當成Datastore。 Web_Access_9.png (圖說)因為範例所使用的參考架構不包括獨立的VirtualCenter Server與Datastore,所以接下來看到的是本機的儲存中心,名稱是「storage1」。 Web_Access_10.png (圖說)這個儲存中心內建立2個VirtualCenter,分別命名為「Linux」與「Windows」。Linux下有一部名為「uBuntu_Server」的虛擬機器,Windows下則有一部「Vista_x86」虛擬機器。 Web_Access_11.png (圖說)點選「uBuntu_Server」後,可以看到所有虛擬機器檔案。 請記得「storage1」這個儲存中心整個是使用VMFS3的檔案格式,ESX Server將.vmdk的虛擬磁碟儲存在這個中心下。 ◎從樹狀目錄探討虛擬層的抽象化管理 Tree_0.tif (圖說)如果沒有額外安裝VirtualCenter Server,並使用ESX Server本機當成Datastore,則圖中右上角的VI Client工具列上只有2個圖示。 Tree_1.tif (圖說)如果獨立安裝VirtualCenter Server/Datastore,以及SAN儲存裝置,則VI Client工具列上會增加支援功能的按鈕(圖中右上角)。 圖中所要表現的是從VI Client看到虛擬機器時,中間所經過的基礎架構拓僕,在遠端管理介面上所看到的階層關係,則顯示在下圖。 此圖尚未納入儲存裝置的抽象化示意圖(請看後續文章)。 Tree_2.tif (圖說)圖中代表VI Client中樹狀目錄的示意圖,與上圖的實際架構比較,得知各階層的關係。最上層的「Hosts & Clusters」代表Resource Pool;次一階的「DataCenter_x」則是將Resource Pool切割而成的(請參考後續文章);再次一階的「ESX_Server_x」表示ESX Server叢集群中的單機伺服器;最後一階的「VM_x」則是ESX Server中的虛擬機器。 這些階層設定很彈性,可以依實際架構與管理員技能不同而修改,不一定與實際主機有著一對一的對應,真實的設定其實已經被抽象化。因此,設定後可以再更動,例如VM在各個ESX Server間遷移,ESX Server在各個DataCenter間遷移等,都只要滑鼠拖拉樹狀目錄的圖示就可以完成。隨意更動很容易混淆虛擬機器在各階之間的關係,所以文章開頭提到虛擬機器命名建議採用容易辨識的名稱,同理ESX Server與DataCenter也是。上圖只是舉例,但沒有特別命名。 Topology.png (圖說)通常在備份時會需要釐清虛擬機器在拓樸中的位置,倘若還是分不清楚,工具列圖中可看到VI Client內建的「Maps」按鈕,軟體會自動繪出拓樸圖,而且可選擇拓樸關係:「Host to VM」、「Host to Network」、「Host to Datastore」、「VM to Network」、「VM to Datastore」。由於我手邊的硬體不足以安裝所有伺服器,僅能藉由公開資料解說。 圖片來源:「exchange_esg_validation_report.pdf」 Resource Pool.tif (圖說)ESX Server中將伺服器運算資源以類似叢集的技術,統合成一個Resource Pool,再從中分割成數個運算單位(含處理器與記憶體),配置成DataCenter或虛擬機器群。圖中可以看到Resource Pool的CPU與Memory是所有ESX Server的總合。 Resource Pool可看成是一群伺服器主機的抽象化集合,虛擬機器不一定被限制在特定的ESX Server硬體中,每個DataCenter或每部虛擬機器運算資源是由ESX Server主機群所共同提供並切割而形成的。圖中尚未包括後端的儲存裝置,這部份解說請看下圖。 Datastore.tif (圖說)圖中展現出虛擬磁碟(.vmdk)與儲存中心(Datastore)的關係,以及連接實體儲存裝置的整體架構。 從示意圖可以看到DataCenter(指虛擬機器群)與Datastore(指虛擬磁碟群)之間並非一對一的關係,這種關聯賦予DataCenter更多組合多部虛擬機器的彈性,使各部虛擬機器可以在多個DataCenter之間動態遷移;此外,VMFS3檔案系統則將實體儲存裝置抽象化,表示Datastore應用上不必了解後端到底是iSCSI SAN或FC SAN等硬體相異性,使Datastore可以在各種儲存裝置上彈性移動,包括內部的虛擬機器。 對照示意圖的解說,再回到文章中安裝虛擬機器的步驟,可以理解為何要先選擇虛擬磁碟儲存位置所在的Datastore,接下來才設定虛擬磁碟檔案與容量。 VMFS3.tif (圖說)ESX Server的儲存架構比較複雜。虛擬磁碟(.vmdk)儲存在ESX Server專屬的VMFS3格式檔案中,而VMFS3對應到實體的儲存裝置前,還經過儲存虛擬化這個業界標準,形成2種不同的虛擬化介面與抽象化,在架構上是額外負擔。不過,其優點是虛擬機器、ESX Server或DataCenter可以彈性遷移,這是VMFS3檔案的提供的性能。 |
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
(接上段文章)
◎結論:文章所使用的範例只是最簡單的架構,在機房實作前則要仔細規畫,網友可以發覺不論是VMware ESX Server或Virtual Iron,所有硬體設備在虛擬化後都隱藏在Hypervisor這個虛擬層之下;硬體與軟體彼此間抽離後,基礎架構顯得非常抽象,與傳統伺服器服務與主機間一對一對應的管理方式顯著不同,而在資訊安全、備份、災難復原或性能調校等也採用虛擬化專屬的工具,對虛擬化新手管理員來說,得先學習如何跨過這個門檻。
我們很幸運地使用一般零售市場的個人電腦零組件,就可以安裝VMware ESX Server虛擬化軟體,在更早之前這是難以想像的事。不過,文章只是個開始,尚未談到虛擬化前如何規畫、ESX Server如何組成Resource Pool、以及伺服器如何平均地分配在各部ESX Server上,後續更重要的性能調校、偵錯與除錯等,這些都是虛擬化的關鍵之一。很可惜目前硬體不足以展示這些技術,或者網友能分享相關經驗。 至少我們已經有簡單的學習平臺,不必停留在看文章、憑空想像基礎架構虛擬化的模樣。接下來,除了官方網站的技術文件(白皮書實用性不高)、相關學術研究,建議網友參考作業系統書籍,以及Wiki英文網站上關於虛擬化的文章,特別是文末所列的參考資料等,我們在偵錯、除錯時會需要這些文件。 在這裡提醒網友,就目前來說,不是所有伺服器服務都適合x86虛擬化,因為許多技術還在發展與驗證中,這方面訊息建議參考Oracle官方網站的資料,其產品幾乎對x86虛擬化都是極大的挑戰(吃處理器與記憶體資源)。 ◎補充:Microkernel的效率與安全性 VMware ESX Server使用自行開發的「vmkernerl」做為Hypervisor,負責處理器指令運算與記憶體管理等核心作業,也就是執行特權指令。 在作業系統分類上,vmkernerl是一種「microkernel」,可以看成是一種簡化的作業系統核心,也是許多虛擬化軟體常用來當成Hypervisor。接下來所要探討的是ESX Server採用microkernel的原因,同樣的理論也適用於採用microkernel做為Hypervisor的虛擬化軟體,例如XenServer、Virtual Iron等。 Microkernel.tif 一般作業系統核心區分為microkernel與monolithic kernel(請參考比較圖)。microkernel只包括處理器所需的執行緒管理(thread management)、記憶體管理與內行程通訊(Inter-process communication,IPC)等,真正作業系統所需的功能如驅動程式(Device Driver)或檔案管理(File Management)等,則由User-mode Servers提供相關服務,其IPC便是用於溝通這些服務。 一般常用的Linux、Windows則是hybrid kernel,混合microkernel與monolithic kernel兩種核心架構。作業系統所需的行程管理、記憶體管理、檔案管理與裝置驅動程式等都封裝在核心內,屬於Privileged-mode,只有應用程式屬於User-mode。 相對於monolithic kernel或hybrid kernel,microkernel較為穩定,當某一個提供服務的Server當機了,不至於造成核心也崩潰(crash),或影響其他Server的服務;而且核心僅包含最少的特權指令,所以相對地安全。不過,microkernel在效率上比monolithic/hybrid kernel略差,因為後者的特權指令都在核心內溝通(同一個kernel-mode),但microkernel卻透過IPC溝通,所以核心將會經過2次的mode switches,也就是user-mode→kernel-mode→user-mode,但mode switches需要context switch,造成較低的效率。(相關技術說明請參考作業系統教科書) 雖然XenServer、Virtual Iron、VMware ESX Server等這類產品常使用microkernel做為Hypervisor,主要也是穩定與安全考量大於效率。VMware ESX Server 3.0版開始,vmkernerl是由Linux Kernel中的「initrd」行程載入的,有時會誤以為ESX只採用Linux Kernel。這個Linux Kernel用來提供ESX Server管理所需的Service Console,與vmkernel用於執行特權指令是不同的。 (未完,待續...) |
![]() |
![]() |
Elite Member
![]() ![]() ![]() ![]() ![]() 加入日期: Jul 2001
文章: 4,704
|
BOOK! BOOK! BOOK!
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
轉貼一則友站的回應供參考
以下我在友站接著kivava這位網友的回應所寫的,請網友指教。
在等待ESX Server 3.5系統安裝時,也順便初步了解一下ESX Server 3i這個系統。 ESX Server 3i的Release Notes 依VMware官方網站的說明,ESX Server 3i省略了Server consloe這個伺服器本機管理的服務,不知這個模組是被拿掉了,還只是被關閉而已。文章中有提到ESX Server包含兩個核心:vmkernel與Linux kernel。這個Server Console是由Red Hat Linux修改並精簡化的Linux Kernel提供的服務,與ESX Server本身的vmkernel是不同的,所以才有此猜測。 如果是被拿掉了,VMware也提到不建議在kernel增加未經認證的服務,避免核心不穩定,但事實上到底如何有待驗證。 另外,除了kivava提到使用授權費用較低以外,官方也提到ESX Server 3i可以安裝在Flash記憶體組成的硬碟上;綜合上述的特性,可以發覺ESX Server 3i將x86虛擬化轉變成類似Embedded System。這種應用是不會任意更動核心的,不過廠商得保證核心的穩定度。 至於ESX Server 3i的管理則由VirtualCenter Server的VMware Infrastructure client負責。一般基礎架構中,高負載的系統由ESX Server 3.5統一虛擬化,而低負載的系統(如Egde Server)則由ESX Server 3i虛擬化,再由VirtualCenter Server統籌管理,這是VMware的應用情境之一,比起全部都交由ESX Server 3.5虛擬化,費用與維護成本都較低。這只是理想,還是要精確算過才知道。 此外,目前不適合x86虛擬化的系統,只要是「完全使用硬體資源」的服務都不適合,除了kivava談到的以外,其他像是即時交易的電子商務系統、繪圖工作站等都算是。 未來會有所改觀。Oracle推出自己的虛擬化方案,稱為Oracle VM,這是從Xen修改而來的。這很容易聯想到Oracle的目的是讓自己的伺服器虛擬化,也就是ERP、CRM、APS(先進排程系統)等,而 Oracle RAC也在實驗中。官方討論區已經有一些國外用戶對此很感興趣,詢問度頗高。 |
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
在VMware Workstation中測試安裝ESX Server(供參考)
如果網友的硬體配備較高,可以在VMware Workstation上安裝ESX Server,版本在5.x、5.5.x、6.x等。
這是我用Google在國外的討論版中看到的,但沒找到所有安裝的細節;也很抱歉,我的硬體短期內還無法騰出空間測試,所以不知道可不可行。 在此先列出Workstation對ESX Server的簡略安裝選項,算是起個頭... ![]() 備用圖檔位址 (圖說)首先開啟VMware Workstation(以6.0.2-build59824為例),在工具列上選擇「File」→「New」→「Virtual Machine」。 ![]() 備用圖檔位址 (圖說)準備建立虛擬機器的畫面,按「下一步」。 ![]() 備用圖檔位址 (圖說)選擇Guest OS的種類,這裡請選「Custom」。 ![]() 備用圖檔位址 (圖說)接下來在這個步驟時,「Hardware compatibility」請選擇「workstation 5」,並勾選下方的「ESX Sever Compatible」。網友可以在左側的「Compatible Products」中看到「ESX Server 3.x」這個名稱。 後續的步驟跟一般新增虛擬機器的方法相似。開機選項可以選擇「Use ISO image」,然後將路徑指向網站下載的ESX Server ISO檔案;如果選擇「Use physical drive」,請先將ISO檔燒成光碟,並使用CD/DVD光碟機即可。 麻煩請試過的網友分享更多經驗。 在此提醒一下,一般使用IDE/SATA硬碟的主機,可能無法成功安裝,就算在新增虛擬機器時,將IDE/SATA硬碟模擬成SCSI硬碟也不一定能成功,而是使用真實的SCSI裝置。這是我在官方技術文件看到的,以及原本範例文章中安裝經驗,但不確定是否適用在Workstation。 |
![]() |
![]() |
Basic Member
加入日期: Nov 2001 您的住址: 台中某大學的宿舍
文章: 25
|
引用:
感謝carejollg兄的回答,小弟雖在PCDVD註冊許久,但上次發文應是數年之前了,若不是您邀請我來這此討論,我可能一輩子都看不到這邊的精彩文章。 VI 3i雖然是價格最低廉的版本,但就一套Native Virtualization軟體來說,功能相當足夠了,管理的部分我沒記錯的話,VI 3i還是有基本的管理介面,只是無法管理多台虛擬主機。而這個部分其實每家廠商都在做,包含Microsoft, IBM, HP都有推出自己的跨平台虛擬機器管理軟體。 目前隨機出貨的虛擬軟體除了主推的VI 3i之外,Xen也推出了他們的內嵌式虛擬軟體版本< 詳情可見iTHome的新聞。目前IBM Taiwn也有對這個市場在CNET Taiwan打****,不過我目前尚未在中信局看到標案,不知道今年的新標案會不會進去或者是提供選購。 就目前的硬體來說,四核心已經已經普及了(中信局中雙核心的IBM X3650與四核心的版本等價),一台2-way server就能提供8-cores + 48G RAM,想想看這種等級的機器能夠建立多少個Guest OS再其上,少說一台抵八台,想到就覺得機房會空很多空間出來。更別說明年的Nelham上場之後,運算能力與記憶體空間能有多大的進步。 但虛擬化系統最大的問題還是籃子內放了太多雞蛋,要是這個籃子翻了,那會有多嚴重!? 為了降低風險,要不就是只能將Non-Critical System虛擬化,要不就是建立有VM HA能力的系統,兩套硬體(100K*2)+兩套VI std(NT:120K*2)(OR+外部磁碟陣列),但就整體系統來做考量的話,VM HA真的會比利用備份軟體在系統重建時直接於虛擬系統上重建來的有效益嗎? 至於如Oracle ERP之類的軟體虛擬化,那又是另外一回事了,整體的環境適不適合用x86 system還是需要考慮的問題呢! 真的會使用x86 system虛擬化ERP system,大概是為了脫離IBM z/p system那無窮無盡的維護費用吧 ![]() 使用x86 system虛擬化高階應用我想到幾個好處,一是可利用VI達成Native的多機資源整合,包括CPU & memory,二則是HA,三則是目前的x86 server運算效能相當的高且便宜,使用x86 server可以有效的降低硬體維護成本及後續硬體的購置成本。不過決策者要有很大的LP才敢扛這個系統轉換的責任。 但喇賽這麼多,小弟還是覺得免錢的VMware Server最好用啦XD 目前使用VMware Server 2.0 Beta虛擬化三台Server,運作上都蠻穩定沒有問題,蠻推薦有興趣的人用用看。
__________________
潛水是為了吸收知識 等你喝水喝夠了 就要回饋大眾囉 |
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2008
文章: 51
|
(接上頁)在Workstation中測試安裝ESX Server(供參考)
先跟網友抱歉,這個方法沒有經過仔細考證就寫文章,實際上在硬體相容性還有一些限制...
我也透過Google找到國外Paul Davey所寫的詳細安裝步驟文章,如果沒有硬體相容性問題時,他證明了在Workstation上安裝ESX Server是可行的。利用VMware Workstation就不用像範例文章中要準備2部以上的主機。 文章不僅將所有步驟列出來,第2、3部份還包括OpenFiler這個免費的iSCSI儲存裝置的伺服器等;iSCSI是ESX Server理想的儲存系統,相容性高、但又不會像FC SAN般昂貴,不過效能上還是FC SAN較佳。如果網友想使用SCSI裝置架設一部iSCSI儲存系統,做為ESX Server的後端,首先頭痛的就是缺乏iSCSI伺服器了。Paul Davey剛好替我們找到免費的軟體,還清楚地寫下步驟,值得大家參考。相較之下,我的文章比Paul Davey遜色多了... 以下是文章的下載位置: Guide to installing VMware ESX3 on Workstation 6 Guide to installing VMware ESX3 on Workstation 6 - Part 2 Guide to installing VMware ESX3 on Workstation 6 - Part 3 最新的文章說明硬體不相容上造成無法安裝的問題: Commentary on VMware ESX3.5 on Workstation 6 |
![]() |
![]() |
Basic Member
加入日期: Nov 2001 您的住址: 台中某大學的宿舍
文章: 25
|
__________________
潛水是為了吸收知識 等你喝水喝夠了 就要回饋大眾囉 |
![]() |
![]() |