首頁‎ > ‎電子期刊‎ > ‎2009年2月號‎ > ‎

VMWare虛擬化叢集建置(中)


摘要

  • 文章編號:
  • 投稿日期:2008/12/30
  • 作者:李開文
  • 第一次審查:
  • 第二次審查:
  • 第三次審查:
  • 備註:

企業化虛擬方案

Citrix XenServer 5


XenServer 給我一個最深的印象,那就是開放原碼起家。如果你想要使用免費的Xen VM,其實它已經附在現在大多數的Linux版本裡了,如Fedora 8,CentOS 5.2。免費版的Xen所使用的管理介面比較簡單,也沒有任何方式支援HA,適合個人使用。

有關使用Xen及Virt-manager可以參考這些文章:

如果沒有太要求完整的備份方案,或是工程師還有餘力可以解決一些小問題的話,XenServer5確實是一個便宜的方案。估計比起 VMWare至少要便宜一半以上的價格。然而XenServer的半虛擬化(para-virtualization)比起VMWare所支援的 Linux核心版本要來得多,對於需要管理較多Linux機器的管理者們來說,不需使用太昂貴的硬體便能夠運作。此外Windows系列的作業系統使用起 來也不會太慢。 XenServer5的主要軟體套件都附在第一張光碟裡,並包含以下:

  • XenServer5 以Linux 2.6.18為核心(相當於Redhat Enterprise 5),與VMWare不同的是開機完成後,也可以直接在console上進行設定。另一點不同的地方是,XenServer只能夠在64位元CPU上執 行,這對於管理員們是一大考量。如果是比較舊的主機,那就只能使用VMWare了。
  • XenXerver5 Enterprise 包含了XenMotion,HA及能夠掛載NFS或iSCSI硬碟的能力。
  • XenCenter 與VMWare的VC不同,這只是單純的用戶端程式。XenServer的架構並不需要使用到任何中介程式進行串連,因此在管理上雖然少了些彈性,卻比VMWare簡單許多。

  • 介面觀感

在使用介面的觀感上XenServer給人的初次印象就是簡單,但也反映出來他們對於系統管理者的管理方式還不夠熟悉。許多功能都是用精靈的方式來 一步一步增加,並無法讓管理者能夠彈性地新增刪除。對於各個元件的狀態(如儲存媒體或是硬體儲存卡的狀態)也都做了資訊隱藏,除非使用指令介面來操作,不 然無法查詢到。使用Console來顯示Windows畫面的速度比較緩慢,甚至有Lag的狀況。 但總結起來,比較適合剛入門或是需求單純的管理員。

  • 效能

對於Linux虛擬機器的效能,由於使用了半虛擬化而大增。但Windows機器就相對地效能普通。

  • 支援性

比起VMWare來說,Xen幾乎是可以跑所有以Linux做為核心的OS,而幾乎是不會有太大問題,這個是Xen的天生優勢,在負載很大的情況下也不會輕易當機。

  • 授權方式

XenServer5可以隨時從官方網站下載並安裝,但並不包括HA及Motion的功能,這兩個功能需要啟用Enterprise版本的授權才行。授權檔也可以在官方網站取得,並且有一個月的試用期限。

建置

部署環境

在本文中,我們將使用iSCSI的方式來連接中央的儲存設備。而本文章的主題是VMWare,因此接著在接下來的文章中。所有設備的部署圖如下:


IP清單: hostname ip vmware01 10.1.1.11 vmware02 10.1.1.12 vcserver 10.1.1.21 iscsiserver 10.1.1.22

建置iSCSI NAS

準備硬體

建置iSCSI最低的門檻我想應該都必須要1G的Ethernet。如果要得到更好的效能,無非就是將所有的儲存網路換成10G Ethernet或者是Fiber。而不同家的iSCSI Target的軟體,效能差距應該不會太大。此外網路卡的部分,也請盡量使用Intel,3Com,Broadcom(多半是內建)等大廠牌的,以免影響 最大的出力值。

iSCSI Target 伺服器所需要的CPU及記憶體並不需要太好,一般P4的PC,具備有512M記憶體皆可。但最主要是所採用的磁碟陣列系統,由於一旦中央的儲存系統損毀, 就萬事休矣,另一點是如果要搭配硬體的複寫(replication)系統也非常昂貴。也因此對於管理員來說,也可以選擇市售搭配Windows2003 儲存版的「直立式儲存伺服器」,就大概符合上述需求,然後在自行重新安裝一般的Linux OS即可。

軟體iSCSI的方案並不多,除了 Linux 有Linux iSCSI Enterprise Target (IET)以外,Windows上有StarWind及Windows Storage Server 2003 R2(wintarget)。這些通常都只支援到SendTarget Discovery及Clustering。

如果需要MPIO (Multipath) 的方案,恐怕只有硬體才有支援了,此外也得購買硬體的iSCSI HBA卡。儘管StarWind及WinTarget都有支援MPIO,不過只限定使用Microsoft iSCSI Initiator。

安裝及設定

在此我們使用最簡單的軟體,他支援最基本的send target discovery及建置存及需要的clustering,請在http://iscsitarget.sourceforge.net/ 下載。

 
  1. tar zxf iscsi-target.{version}.tar.gz
2. make; make install
3. 編輯/etc/ietd.conf,修改iqn及Lun 0 那一行
iqn的格式是iqn.yyyy-mm.<reversed domain name>[:identifier]
舉個例子iqn.tw.com.yourdomain:iscsiserver.lun0
Lun 0 Path={檔案路徑},Type=fileio
檔案路徑可以是一般的空白檔案(要先用dd寫入空白資料),裝置檔,或是LVM裝置檔
舉例 Lun 0 Path=Lun 0 Path=/dev/VolGroup00/lv_iscsi,Type=fileio
4. chmod 700 /etc/init.d/iscsi-target
5. service iscsi-target start
6. chkconfig --level 35 iscsi-target on

你也可測試iSCSI是否正常運作,這樣就必須安裝open-iscsi (iscsi-initiator-utils)。

 
  1. yum install iscsi-initiator-utils
2. service iscsi start
3. iscsiadm -m discovery -t sendtargets -p 10.1.1.22
對iscsi server進行查詢
4. iscsiadm -m node -l
如果查詢成功的話,就進行連接(登入)
5. fdisk -l來看看是否有多新的scsi裝置
6. iscsiadm -m node -u
如果要中斷的話,就登出
7. 如果沒有清除紀錄的話,只要iscsi啟動就會進行登入。請到/var/lib/iscsi/nodes及/var/lib/iscsi/send_targets刪除其目錄下的資料

建置叢集

接著便安裝各兩台ESX伺服器,安裝的方式也非常簡單,與安裝一般的LinuxOS無異。

一旦安裝完畢,可以使用VIC進入vmware01,建立第一個虛擬機器,這個虛擬機器就是我們用來安裝Virtual Center(VC)所用的,在此我們假定IP是10.1.1.22。安裝完OS及VC後,可以在程式集裡找到「VMWare License Server Tool」,換上你擁有的授權檔,也當作授權伺服器使用。以下安裝的介紹,將會預設使用者已經有ESX Enterprise(SAN Usage選項),VC,HA,DRS的授權,一旦通過授權,才不會發生未授權的錯誤或者是功能被UI鎖住無法使用。

此外在部署圖中也看到建議自行安裝一般常見的網路服務如DNS及DHCP,來加速未來安裝虛擬機器的便利性。

伺服器設定

在設定之前請務必要熟悉VIC的操作介面。

網路設定

請找到Configuration分頁,點選Networking。


這一張圖片是比較複雜的設定,藉此可以瞭解ESX的網路設定架構。

  • vSwitch:一個vSwitch代表至少一張網路卡的連結。也就是說,如果你有一張以上的網路卡,你可以分別建立不同的vSwitch來指向不同的網 段。在這個例子中,我們有兩個vSwitch,分別指向10.1及10.3兩個網段。而vSwitch也可以指定兩張以上的網路卡作為備援,完成後如同 vSwitch0 的設定狀態。如果兩張網路卡所連接的實體Switch支援Trunk的話,也可以採用Bonding,來將兩張網路卡的頻寬合併在一起。

VM在建立的時候都會新增一個網路卡,你可以修改VM的設定來讓他指向不同的vSwitch,也就是不同的網段。

  • VM Network:當你建立vSwitch的時候,也同時會建立VM Network。這裡可以看見有多少VM已經啟動並連接上。
  • Service Console:代表著能夠讓VIC或是SSH進行連線的IP,一個實體機器至少要有一個。在這個例子中,我們並沒有在vSwitch1中增加Service Console。
  • VM Kernel:代表著實體機器連出的IP,這個IP也作為iscsi client或是vmotion的傳輸通道使用。也就是說,service console並不能作為這些網路功能使用,只能夠連線而已。一旦要啟用上述功能,就必須在該網段使用VM Kernel佔用一個IP才行。

ESX 在建立叢集服務的時候,如果沒有事先在DNS裡註冊的話,會出現An error occurred during configuration of the HA Agent on the host。原因只是因為ESX會直接使用你設定的hostname來進行連線,但VC並未設計充當DNS的功能,所以不是安裝一個DNS,那就是直接修改 所有主機的(包括VC的)hosts檔案。詳細請參考http://60.190.88.90/ljf/2008/04/an-error-occurred-during-confi-1.html 。如果要修改DNS或是Default Gateway的設定,請點選「Properties...」並編輯Service Console。 



在HA啟動的時候,會使用這裡所填寫的hostname與domain進行彼此之間的連線,在這個例子是vmware03.mydomain.com。請記得在DNS裡設定,讓這個名稱可以被查詢。


 小結

下一篇我們將介紹HA的設定方式



Comments