星期一, 8月 20, 2012

三大伺服器虛擬化技術比較

這一年來我試用了Hyper-V、XenServer以及VMware vSphere ESXi,現在將測試結果列表如下:
ESXiXenServerHyper-V
執行速度最快普通
iSCSI 存取速度普通
細部設定
作業系統相容性最高普通普通
Windows相容性最高
Linux相容性最高
FreeBSD相容性有(2012年8月新增)
HA價格普通
Cluster價格$FreeFree
Live Migration價格$FreeFree
SmbFS 儲存
* Hyper-V可以在未安裝VM Tools的狀況下Live Migrate,非常強大!
** VMware可以將硬體不相同的伺服器加入HA cluster,Hyper-V和XenServer都需要相同的CPU、RAM甚至於完全相同的網路。

Hyper-V的IO實在太慢了,我個人覺得是敗在NTFS的效能差,我現在查不到WinFS的時程,所以就暫時不考慮在公司使用。另一個在下覺得比較重大的缺點是在未安裝vm tools的情況下不能在console使用mouse,許多boot cd都變得很難用或不能用。

以企業使用,若不介意不容易修改細部設定,又缺乏第三方備份軟體支援的情況,XenServer是不錯的選擇。個人使用測試的話,Hyper-V Server功能完整,又有廣泛支援,值得考慮。在銀彈充足的情況下,就別想太多,衝VMware ESXi吧!

P.S. 最後我選擇的是VMware vSphere Essentials Plus Kit,比起CPU定價,算是小公司可以負擔,而且也足以撐起全公司的Server。

Update :參加完 Tech Days 2012後,我要說當初太不瞭解Server 2012。若要真實測試Hyper-V 3.0,請準備『符合Server 2012的硬體』,再啟用SMB 3.0當做共用儲存空間,雖然說Server 2012不需要共用儲存空間也行,但有還是比較好。 至於我的比較,大家就當做我在放屁就好,非客觀第三方測試! 對此有興趣的朋友請參考Microsoft Windows Server 2012 Hyper-V compared to VMware vSphere 5.1

星期四, 8月 09, 2012

How to install VMware ESXi 5 tools for FreeBSD 9

There are some problems while install FreeBSD 9 vmware tools on VMware ESXi 5 update 1, after searching a few hours, I got the solution.  You will make the new binary from source, thus no more COMPACT 6 in kernel configuration.

在VMware ESXi 5 update 1安裝vmware tools有不少問題,經過幾個小時的奮戰,終於找到答案。
首先要強調,不需要在Kernel設COMPACT 6,但是需要裝compact6x的package。以下用藍色標明需要key的指令:
  1. Install compact6x package
    #cd /usr/ports/misc/compat6x
    #make install clean
  2. Mount the cdrom image from vCenter/vSphere Client to guest vm.
    #mount -t cd9660 -o ro /dev/cd0 /mnt
    若你已經試著裝過,cd0 可能會變成acd0,就改成
    #mount  -t cd9660 -o ro /dev/acd0 /mnt
  3. Extract the source code.
    #cd /root && tar xzf /mnt/vmware-freebsd-tools.tar.gz 
    #cd vmware-tools-distriblib/modules/source
    #tar xf vmblock.tar && tar xf vmmemctl.tar && tar xf vmxnet.tar && tar xf vmxnet3.tar
  4. Compile the vmblock module.
    #cd vmblock-only
    #make && make install & cd ..
  5. Compile the vmmemctl module
    #cd vmmemctl-only
    #make && make install && cd ..
  6. Compile the vmxnet module
    #cd vmxnet-only
    Get the patch.  Update: ESXi 5.1 doesn't need this patch. 已經不需要patch.
    #fetch http://ogris.de/vmware/vmxnet.diff  # Not needed for ESXi 5.1
    #patch -p1 < vmxnet.diff  # Not needed for ESXi 5.1
    #make && make install && cd ..
  7. Compile the vmxnet3 module
    #cd vmxnet3-only
    Get the patch. Update: ESXi 5.1 doesn't need this patch. 已經不需要patch.
    #fetch http://ogris.de/vmware/vmxnet3.diff # Not needed for ESXi 5.1
    #patch -p1 < vmxnet3.diff  # Not needed for ESXi 5.1
    #make && make install && cd ..
  8. Install the vmware tools, it you don't have perl then you have to install one from ports.
    接下來要安裝vmware tools,若沒有安裝Perl則必須從ports選個版本安裝。
    #cd /root/vmware-tools-distrib
    #./vmware-install.pl
  9. Finally, halt the vm. Change network adapter to "VMXNET 3", then boot the vm.
    最後,VM關機。將網路卡換成VMXNET 3,重開機。
    You will see vmx3f0 instead of em0, replace it in /etc/rc.conf.
    會看到vmx3f0而不是em0,所以在/etc/rc.conf也要對應修改。

網路從1000Mbase-T變成10Gbase-T,再來看載入了哪些modules,輸入kldstat

最後看看狀態

會需要patch的原因是FreeBSD 9將ifnet中的watchdog/timer架構分離出來,所以已經沒有if_watchdog和if_timer。最好還是VMware自己更新FreeBSD tools,以上的patch只是將watchdog和timer的呼叫從module中移除(我本來也有考慮這麼幹),不知道會不會因此穩定度降低?若有疑問的朋友還是繼續用E1000網卡。(這需要瞭解FreeBSD kernel的朋友踹共)

另一個方法是直接從ports安裝 open-vm-tools ,但是沒看到vmxnet3的ko,應該是只有支援vmxnet,而且還會安裝fuse和glib。若想用 open-vm-tools ,記得不能用LLVM clang編譯,只能用gcc。

參考資料:
VMware 虛擬化技術實務問答 (上)
VMware_Tools_安裝
Choosing a network adapter for your virtual machine
Installing VMware Tools on FreeBSD 9
VMware Tools on FreeBSD 9.0 patch

星期三, 8月 01, 2012

Why I moved to VMWare 為何我換成VMWare

I installed XenServer last year (2011/07), because it is fast and free. Before that, I had tried Hyper-V 2.0 Server,it's slower than XenServer.

Last month, I wanted to add a FreeBSD vm and got bad experience. Another problem, it is very hard to modify vm setting on XenServer.
My boss asked me to do server 100% virtualized, I had to search better solution.
After googling a few hours, I decided to move to VMWare vSphere.

Why? Because I need FreeBSD vm tools installed to get more control, besides I found VMWare Essentials Plus Kits,it's not as expensive as I thought.

Then I installed a test vm server, it's amazing! ESXi 5 Server gave me a whole new experience. It's fast and powerful, with so many APIs and 3rd party tools.

Now, I got very good vm hosts, a stable and fast environment.  Thanks VMWare, I can work easier.

去年評估虛擬化Server後採用XenServer,使用一年也沒有什麼大事,但是支援的作業系統太少始終是個遺憾。會採用XenServer而不用Hyper-V 2.0除了Hyper-V的Linux支援度差外,另一個重要原因是效能不夠好。

主管和我說要讓伺服器100%虛擬化,包括我目前使用的FreeBSD Mail Server,所以只好只找solution。

原本對Hyper-V 3.0滿心期待,但是經過測試後,雖然說功能很強,但是效能遠不如XenServer,所以還是出局。

目前市場上的VM Server,也只剩下VMWare vSphere ESXi支援FreeBSD,幾經探訪才知道有VMWare Essentials Plus Kits的套裝售價,廠商報價不到30萬台幣,對小公司來說還可以負擔,只是我對192GB的限制有些不滿,用ESXi 4.1還有256GB,怎麼到ESXi 5.0反而縮水了?

於是拿我原本測試Hyper-V 3.0的PC來安裝VMWare ESXi 5.0,結果還超出我的預期!免費版有1 CPU unlimited cores、32Gb的限制,但對測試機來說太夠了。

安裝簡單就不提了,看看我的測試環境:
主機不過是台Acer的商用PC,我自掏腰包加到8GB RAM,以及兩張Realtek 8169  1GB網卡。Storage是向JCNet借來的nexenta storage server,提供iSCSI服務。

由以下這兩個VM的資源圖可以看出,在閒置時Active的CPU和Memory其實很少。
另一台
另一個值得讚賞的是VMWare Converter,轉換後自動安裝VM Tools,之後要來測FreeBSD,成功後會再另外貼文。