即使是設計良好的VMware網絡也會遇到虛擬化帶來的一些問題,例如虛擬機的數據包丟失嚴重。適當地調整VMware網絡設置可以在不改變子OS的前提下解決數據包丟失率高的問題。
正常的網絡連接中很少會出現多個包丟失的現象,每成功接收或轉發100,000個數據包最多只會有幾個包丟失(如圖1)。在Linux虛擬機中,通過ifconfig命令可以很輕松地監控到這種狀態。
圖 通常以太網卡是不會丟包的
當虛擬機的網絡在突發大量訪問的情況下,可能會發生多個包丟失,這樣就需要調整虛擬機的網絡設置。首先,確認虛擬機使用了VMXNET3虛擬網卡驅動。這樣,在Linux宿主機的特定情況下,當大數據文件在高帶寬的網絡上傳輸時會發生多數據包丟失。
關閉接收和轉發校驗總和可以解決這種情況。因為校驗總和的作用是停止錯誤包的發送,這樣做會增加風險。考慮到以太網卡的錯誤率通常低于百萬分之一,風險的級別并不高。
使用Linux ethtool工具來關閉VMware網絡設置中的接收和轉發校驗總和,在命令行窗口中以root賬戶登錄ethtool。例如關閉網卡eth0的校驗總和命令如下:readethtool --offlOAd eth0 rx off tx off;
命令生效后,打開相應網卡的配置文件:
/etc/sysconfig/network/ifcfg-eth0 ( SUSE) 或 /etc/sysconfig/network-scripts/ifcfg-eth0 (Red Hat )
同時把ETHTOOL_OPTIONS參數變為ETHTOOL_OPTIONS='--offload eth0 rx off tx off'
如果依然存在丟包問題,嘗試用ethtool工具增加接收隊列的緩沖區大小。默認情況下,緩存設為256,可以設置的最大值為4096。重新設置緩存大小為512,使用命令ethtool -G eth0 512。如果結果不理想,嘗試更大的值。
遇到Windows虛擬機的高丟包率就需要調整VMXNET3驅動的網絡設置。在Device Manager中右鍵單擊VMXNET3驅動并選擇Properties。在Advanced頁中有兩個參數:Small RX Buffers和RX Ring #1 Size。適當增加這些參數的值然后測試能否有改善。逐步加大該值直到問題解決。
多數情況下,這些設置可以降低虛擬機的丟包率。如果調整網絡參數失敗,或許就需要解決虛擬機其它的一些性能相關問題,而不是虛擬機和ESXi平臺之間的VMware網絡設置。
咨詢宿主機OS的相關專家,應該有很多可以調整性能的相關參數。當心更改了錯誤的參數可能會對虛擬機帶來明顯的負面影響。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.lukmueng.com/