Month: 2 月 2010

VMWare ESXi導入遊記(四)我家的網路架構

我家的網路架構


圖一:Before

原來是中華電信的ATU-R進來了之後,接在FreeBSD上。FreeBSD上面插了兩張網路卡,一張對外,一張對內。這台機器現在是負責NAT, www, mail以及其他各種服務。

區域網路內則是用了兩台Gigabit Switch跟兩台Wifi AP,把家裡所有的網路裝置接起來。

導入ESXi之後的網路架構


圖二:After

預計導入ESXi之後,要把原來FreeBSD負責的服務,分散給不同台VM。預定要裝的VM分別是:

  • pfSense:NAT、DHCP、VPN等等
  • FreeBSD:主要留做www, mysql等等,把NAT相關服務移到pfsense
  • FreeNAS:檔案伺服器,驗證完成之後,預定要移出來到實體機器
  • Windows:各式P2P服務,把檔案存到FreeNAS上
  • Gmail for your domain:不是VM,但是要把mail交給google託管。現在改叫Google Apps for Domain,還是有提供免費版就是了

專門做NAT的作業系統的選擇還蠻多的,像是m0n0wall, BrazilFW, IPCOP等等,我最後選pfsense的原因是功能多、介面好看之外,他剛好也是FreeBSD based…

參考資料:4大免費路由器軟體效能大揭密 – Network01.net

NAS OS的話,常見的好像也只有FreeNAS跟Openfiler,另外就是有點微妙的Windows Home Server。我選FreeNAS是看了這一篇之後,發現Openfiler似乎不能讀NTFS硬碟,所以還是選FreeBSD based的FreeNAS…

也就是,上面會有三台VM是FreeBSD耶~☆

題外話,我一邊畫架構圖,一篇在想,是什麼樣的笨蛋,會把家裡的網路搞得這麼複雜的…

現狀:導入ESXi到一半的架構


圖三:Reality

這是目前的現狀。跟圖一的改變是PS3改成走Wifi,然後網路線留給ESXi了。

各位可以看到,原來要取代FreeBSD的整組ESXi,目前放在圖片的最下方,上面跑的各種服務都要從原本的FreeBSD穿過才進得去。像DNS這種原先沒有的,或是SSH這種比較容易指定port的,這都還好處理。但是www就很複雜,要設vhost之後,用proxy pass到裡面的機器,簡直就是複雜啊~

大概是這樣:

<virtualhost 211.23.16.105>
    ServerName applepig.info
    ServerAlias www.applepig.info
    ProxyPass / http://192.168.0.101/
</virtualhost>

那至於pfsense碰到的問題,就等一下再說吧~

VMWare ESXi導入遊記(三)安裝ESXi

安裝ESXi

跟前面的苦難相比,安裝簡直就是一小塊蛋糕。

安裝可以從光碟機或從USB安裝,不過為了避免苦難,還是採用光碟機比較簡單。

安裝的過程如果沒有碰到
1. 找不到硬碟
2. 找不到網路卡
剩下來的就是照著畫面指示,沿路裝完,大概只要五分鐘時間吧。

重開機後,畫面會是黃、黑色調的,上面會寫http://192.168.x.x(或是你區域網路內的IP),請回到別台筆記本或桌上型,開啟這個位址來安裝管理用的vSphere Client吧~

次回預告

接下來要講的是虛擬網路卡跟實體網路卡對應的概念,不過事實上我也還搞不太清楚,所以就先看著辦吧~

VMWare ESXi導入遊記(二)硬體設備評估

前情提要(?)

VMWare ESX這玩意,畢竟是伺服器等級的作業系統,所以對小市民的個人電腦就實在是不太友善。回頭看看,我們那台Dell Inspiron 545可以一次就把ESXi裝起來,實在是運氣好的很…

先說結論,我最後用的是M2NPV-VM。CPU支援AMD-V、記憶體有四條可以插、onboard SATA跟網路卡都可以用,相當適合裝ESXi。

ESXi 4.0

簡單的說,ESXi 3.5已經夠難裝了,ESXi 4難搞的程度幾乎是加倍了。有心要跟著玩ESXi的人,請先做好「我家的電腦能裝起來實在是很好運」的覺悟,然後開啟以下的網頁:
ESX / ESXi 4.0 Whitebox HCL
Ultimate VMWare ESX Whitebox

大致上呢,我們會碰到的困難分為三部分,分別是CPU、磁碟控制卡跟網路卡,請聽我慢慢說來。

CPU

最低需求:支援x86-64的CPU

根據ESXi Setup Guide指出,支援的CPU有:
All AMD Opteron support 64 bit
All Intel Xeon (中略)support 64 bit
All Intel Nehalem support 64 bit

…對不起,小市民的家裡沒有這些東西(囧)

根據網路上諸中多先烈指出,LGA 775的Core 2 Duo跟Core 2 Quad,AM2的Athlon 64跟Athlon X2應該都可以。LGA 1156跟AM3的我就沒有仔細看了。

至於CPU有沒有支援VT技術,其實ESXi比較不要求,所以有支援的話最好,沒有的話也無所謂。AMD的CPU大多有支援,Intel的只有中高階桌上型支援,請參考Intel網站上的說明:ARK | Your source for information on Intel® products

順道一提,記憶體至少要2G,這應該不算太困難的限制才對。

磁碟控制卡

ESXi支援的儲存媒體還蠻多樣化的,小至本機上面的硬碟,複雜一點的NAS,甚至更複雜的SAN,通通都在支援之列。既然如此,為什麼又會碰到困難呢?

因為ESXi剛好對主機板上面的SATA跟IDE的支援特別爛。(死)

仔細想想,這其實是沒辦法的事,個人電腦的主機板出的又快又多,光是晶片組一年就可以換兩次,向下相容又做的很不確實,要伺服器等級的作業系統做到這種程度的支援簡直就是找碴。於是,這就輪到我們辛苦了…

Setup Guide寫支援Intel ICH9,但是ICH7~ICH10R這之間的南橋晶片都有人回報成功的消息,也就是市面上還買得到的Intel晶片組775主機板應該都過關了。(但是網路卡可能會有問題,後述)
常見的選擇:ASUS P5B、P5K、P5Q開頭的應該都是。

AMD這邊則是支援nVidia MCP55,是AM2的略晚期晶片組,大概跟AMD/ATI 690G同時期的產品。事實上從MCP51~MCP55都有使用者回報成功的消息,表示nForce 5xx跟nForce 630都有一定的機率成功。
常見的選擇:ASUS M2N開頭的很多都是。

不過比較正確的解決方法,還是應該去找張SAS控制卡,再來接SATA硬碟,才是比較正確而且安全的解決方法。露天拍賣上面常常有一些Dell Perc 5i,只賣3k多,有心想要擺脫主機板依存性的話倒是可以去找看看。

網路卡

因為ESXi的虛擬網路相當的複雜,所以網路卡驅動程式需要大幅度的改寫,才能夠順利的裝上來,也導致了支援的網路卡其少無比。ESXi 4又做了一件了不起的決定,他們把所有的10/100通通移出相容性清單,也就是說大家熱愛的3com 3C905、Intel 82559之類的,通通都跟著出局了~(請回頭找ESXi 3.5,這兩張卡還可以用)

打開VMWare硬體相容清單,一眼瞄過去,幾乎都是Broadcom跟Intel兩間而已。但是仔細看,MCP 55默默的也在清單裡面,所以選擇nForce 5xx的人有福啦~(誤)

Intel陣營的話,onboard PHY卡幾乎都是Marvell或Realtek,所以可以直接用的機率比較低,可能還是要找一張Intel Pro/1000來,才能夠滿足安裝的最低需求。不過Intel網路卡在實體通路不太容易買得到,我只確定巴德有賣,其他地方就要靠運氣了。

辦公室的Inspiron 545,onboard的甚至還是10/100,完全出局就先不提,所以我把上次多買的Pro 1000 MT Dual Port帶過去,目前運作的相當良好。家裡的這一台則是用M2NPV-VM的,目前為止工作的相當正常。

結論

大致上而言,找大概2~3年前的機器,配上一張確定可以用的網路卡,成功的機率比較高。Intel的要找LG775 CPU,配上Intel晶片組的機器,看看情況,可能配上一張Intel Pro/1000,應該都裝得起來。AMD的則是要找AM2 CPU,配上nForce 500的晶片組,應該有機會可以直接裝起來。

我自己後來是找了ASUS M2NPV-VM,這張主機板有內建DVI,而且必要時刻我姑姑跟阿姨家還各有一張使用中,真的需要的話可以幫他們升級電腦,把這兩張板子拿回來自己用…

VMWare ESXi導入遊記(一)有關虛擬機器

前一陣子辦公室裡面裝了一台VMWare ESXi的機器,用起來相當的有趣,跟以往在個人電腦上面用VMWare的感覺差蠻多的,所以想說趁春節假期在家裡也來弄一台。

什麼是虛擬機器

簡單的說,就是把一台電腦當成很多台電腦,上面各自裝作業系統。

以往要在個人電腦上玩虛擬機器的話,大多數人都會選擇在Windows底下灌各種VM軟體,切割一部份的CPU、記憶體、硬碟資源做成虛擬機器,然後在上面安裝作業系統。這個情況下,Windows稱之為Host OS,而虛擬機器裡面的OS稱之為Guest OS。一般常用的VM軟體有:

  • VMware Server:設定比較麻煩,但是支援性比較完整。
  • VirtualBox:最近的版本支援了Windows下的Direct3D,但是距離可以用還有很遠的距離。
  • Virtual PC:只能裝各種Windows,Windows 7的XP Mode應該就是這玩意。

VM作業系統

ESXi則是採用另一種方式,他設計來就是專門為了跑VM的Host OS,所以可以避免Host OS多消耗的資源,而將大部分的資源留給Guest OS使用。採用這一種設計邏輯的VM OS有:

  • VMWare ESX:ESX是要錢的,ESXi是免費的,功能當然少掉很多,但是其實也還算夠用。
  • XenAmazon EC2用的就是這個,但是對作業系統的限制比較多一點,似乎FreeBSD還不能用?

詳細一點的情況請參考:VMware ESX/ESXi Server 功能初探及效能測試,這篇文章寫的還蠻淺顯易懂的,而且有很漂亮的比較圖表。

我之所以選用ESXi主要是因為支援性比較好,免費授權的功能又已經夠多了,非常適合拿來評估虛擬化的環境。

我要做什麼

沒有目的性的評估虛擬化,絕對只有當玩具的份,所以我想真的把一些服務移到虛擬機上面:

  • 把NAT的功能跟目前的Web Server分開:改用pfsense或dd-wrt x86這種Router OS,方便到時候把NAT移出來到另一台實體機器,或是改用硬體NAT。
  • 重灌FreeBSD:前一陣子發生過連compiler都需要升級版本才能夠裝新軟體的慘劇,看來是個重灌升級的好時機了。
  • 把P2P服務(eMule, Share, BitTorrent等)移到VM上:減少桌上型電腦的的磁碟I/O,雖然流量不算大,但是卻意外的很吃CPU Time。

參考資料

VMware ESX/ESXi Server 功能初探及效能測試 | Vixual
iThome online : : 以ESXi建立伺服器虛擬化平臺
安裝 VMware ESXi – OSSLab::開放軟體實驗室(Open Source Software Lab)