VMWare

VMWare ESXi導入遊記(七)ESXi 5.0

前幾天VMWare發表了ESXi 5.0,改變授權方式讓一大堆企業跳腳,但是反正跟我這種個人電腦用戶沒什麼大關係~(飄)

升級方式很簡單,把光碟片塞進去,照著安裝介面一步一步按下一步,就輕易完成了。

需要看圖說故事的請找:VMware: Easy upgrade ESXi 4.1 to ESXi 5.0

升級完了之後,除了要裝新的vSphere Client之外,我完全看不出有什麼改變。連有人說ESXi 5開始支援Realtek 8111/8168都沒有成功。


這麼熱愛升級版本的MIS好像是錯誤的

VMWare ESXi導入遊記(六)RouterOS的選擇

之前在(四)我家的網路架構提到過,我打算選用pfSense來當防火牆作業系統,但是實際上線了之後,卻又發生了一些很麻煩的小問題。

pfSense的分隔線 —

我們之前在辦公室裝了一台PPTP Server,方便我們人在家裡的時候連回去辦公室的SVN Server同步檔案。原本這個方法在正式導入pfSense之前都用得好好的,但是在我把pfSense設定為IP分享器了之後,問題就突然跑出來了:「我在裡面連不到辦公室的PPTP

我本來以為是pfSense的防火牆擋住還是怎樣的,設定改了好幾次,直到後來把整個設定reset重來,才成功連上去了。但是在我把所有的設定通通都設定回去了之後,又連不上了。經過幾次reset反覆測試了之後,我發現問題是在如果把pfSense裝成PPTP Server的話,位於裡面的機器就連不到遠端的PPTP。查了一下討論區,發現的確有不少人有回報這樣的問題,唯一的解似乎是用兩個public IP。(但是我沒有那麼多IP,所以沒辦法)

m0n0wall的分隔線 —

於是我就想說,那試試看用m0n0wall好了,他也可以輕鬆設定PPTP Server的樣子。我千千萬萬沒有想到,m0n0wall居然不支援NAT Loopback的功能。也就是說,我在區網裡面,打https://applepig.idv.tw/會連不進這一頁,一定要在/etc/hosts或DNS額外把這個host轉成內部IP才可以。

BrazilFW的分隔線 —

別提了,我看不懂葡萄牙文,英文的支援訊息又少的可憐。連安裝過程似乎每一版都還不一樣,我根本沒有辦法讓成功的讓他成為正常的NAT…

IPCOP的分隔線 —

接著我試了相當老牌的IPCOP,一開始跟他相安無事,想說既然功能都齊全,就先用他試試看吧。結果不到第三天,我就發現網路會一直莫名的瞬斷,而且eMule忙起來的時候斷的特別兇。

…這就是傳說中的drop packet嗎(抖

pfSense的分隔線 —

於是最後還是回到pfSense這邊來,只是把PPTP Server關掉,乖乖改用ssh tunnel連回來。雖然真的很麻煩,而且很慢,但是這似乎是目前最好的解決方法了…

題外話
在這一篇跟上一篇之間,我家的MySQL server突然爬不起來了。更新了版本之後還是爬不起來,最後把my.cnf跟default設定檔作比較,一句一句改掉,最後發現兇手是thread_concurrency = 8這一句。至於為什麼本來可以的,突然變成不行了,我也實在很好奇…

另外是手動翻閱htaccess.log時,發現了一個user-agent是有帶”Foxy/1″的人,會一口氣發出30個request,害MySQL會瞬間很忙,所以我就在.htaccess把他們直接ban掉了:

SetEnvIf User-Agent Foxy spam
deny from env=spam

VMWare ESXi導入遊記(五)ESXi的秘技

系統也已經上線跑半年左右了,底層的ESXi穩定性真的非常的高,反而是裡面的Guest OS陸續有爆炸幾次,且待我有空再慢慢說來。這篇要講的是說明書上沒有,或者是藏在找不到的地方的秘技:

1. 開啟SSH連線

這樣子作其實會有很嚴重的安全性問題,所以如果不是必要的話,最好還是走到電腦前面操作或是VPN進來比較安全。
VMware ESXi – How to enable SSH Connectivity.

1. 在Management Console按下Alt-F1
2. 摸黑輸入unsupported(輸入完成之前螢幕不會有任何反應)
3. 用root跟之前設定的密碼登入進去
4. vi /etc/inetd.conf,把#ssh那行前面的#拿掉(如果你跟我一樣不會vi的話,存檔離開的指令是:wq!)
5. 重新啟動inetd(不確定怎麼砍的話,乾脆重開機比較快)

2. 多核心CPU

ESXi會把四核心的CPU虛擬成四個實體單核心CPU,在大部分linux下不是問題,但是windows基本上就是只吃兩顆實體CPU,所以要想辦法變回兩顆實體CPU,才可以用到完整的運算量。

Per processor licenses for your application

1. 在vSphere Client左邊的Guest OS上面按右鍵,選Edit Settings…
2. 選上面的Options分頁
3. 選左邊的General之後,按右下的Configuration Parameters…
4. 按右下的Add Row之後,輸入cpuid.coresPerSocket
5. 把剛輸入的這一列右邊的數值改成2或4,看你想要兩顆雙核心還是一顆四核心。(六核心的話也可以兩顆三核心,我沒試過)
6. 把這台Guest OS開機,看看裝置管理員有沒有成功抓到這些CPU

3. 讀取已經有資料的硬碟

照VMWare的規則來玩的話,存成vmdk格式的資料可以自由自在的在不同的儲存媒體之間遊走,「硬碟」這個落伍的實體概念不重要。只是對我們還停留在地面的死老百姓而言,以硬碟為儲存單位還是比較自然的,所以偶爾還是會需要把已經有資料的硬碟拿過來的機會。

【備忘】ESXi Mappping Physical Disk to vmdk

前面的心路歷程有空可以慢慢看,我就直接跳重點了:

1. 用ssh或是上述unsupported進console
2. fdisk -l,記下你要讀取的硬碟的完整名稱(非常長,像是綠色工廠這篇的是
t10.ATA_____HDS722580VLAT20_______________________________VNR21EC2DE859L
3. 執行vmkfstools -z [來源硬碟完整名稱] [目標vmdk檔案名稱](注意:來源硬碟的裝置路徑會在/vmfs/devices/disks/[步驟2的名稱]。目標vmdk則是要存在datastore裡面,例如/vmfs/volumes/datastore1/p2p.vmdk
4. 回到vSphere Client,把剛剛製造出來的vmdk掛載到某一個Guest OS上
5. 開Guest OS,測測看有沒有抓到硬碟吧

我目前有發現比較有幫助的秘技就是這三個了,如果有人有用到別的秘技也請大方的留言告訴我,謝謝~

次回預告:有兩個主題,不知道大家想先聽哪一個?
「pfsense、brazilFW、ipcop都微妙的不合用…」
「Openfiler與FreeNAS都解決不了我的問題…」

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)