如果系統架構中,分工越來越明確,像是 AP/DB/File Server 三個角色分開,那 VM 間的通訊速度一定是重點,舉例來說,如果作了一台 NFS Server,你一定會期待在區域網路內要有非常快的速度,但有時候就是事與願違,這邊提供了幾項經驗來改善 VM 間的網路速度:
1.
安裝 VMXNET3 的網卡,以預設的 E1000 網卡和 VMXNET 網卡一比較,安裝完VM Tools 後,速度就有了十倍的差異,E1000是1Gbps,VMXNET3是 10Gbps。
2. 將 VMCI Device打開
VMCI Device 是 VMware 裡面 VM 的設定,預設是關閉的,如果有打開的話,會從原本的2Gb/s 速度提升到 6Gb/s,要將 VM 關機才可以開啟。
3. 將有關連的 VM 搬到同一台 Host
為什麼要這樣作呢? 因為如果 A VM要去存取 B VM的檔案,但是 A 跟 B 在不同 ESXi 上,這樣就要透過兩台 ESXi 的實體網卡跟 Switch 去交換資料,這樣的話就取決於你的網卡有多快,因為我自己的環境網卡只有 1Gbs ,所以網路交換的速度是不可能大過 1Gb/s 的。
但如果今天 A 跟 B 是在同一台 ESXi 裡面,因為網卡都是虛擬的,所以資料交換在記憶體內就作完了! 速度當然會大大提升!
要怎麼讓兩台機器都一直在一台 ESXi 中呢?
我們可以透過 DRS 裡面的 Rule 去設定,就像以下的畫面,我把這兩台 VM 設定成一定要一直在一起,這樣他們就不會分家啦~
有打勾才有啟用喔 |
速度實測
環境:
Windows 7 SP1 VM
各準備兩張網卡,一張E1000,一張VMXNET3
結果發現,E1000 跟 VMXNET3 的差別並沒有非常大,VMCI 也看不太出來,大概是我用的檔案太大,也許以後用大小檔混合會比較準,但是有沒有同實體機就差很多了,速度幾乎快了三倍以上,事實證明如果以上三個都有設定的話,的確對VM間傳輸會有幫助,尤其是保持在同一台實體機器上!