2010年6月18日 星期五

ESX Server 的網路設定

     筆者建置虛擬化的期間,覺得最麻煩的算是ESX的網路設定了,除了要搞清楚VMware對於網路這一塊的運作為何?還要瞭解 ESX 提供的 Virtual Switch 還有 Service Console Port, Virtual Machine Port group 到底是什麼意思....,詳情請參考官網的文件VMware Virtual Networking Concepts,筆者也就個人理解整理了一些資料,未來陸續增修,若有錯誤還請指正。

ESX中的網卡名稱

     ESX下的網卡名稱以 vmnic開頭,後接數字組合而成,下面以HP DL580G5 為例說明 ,主機板內建了一張2 Port的網卡(標示2與3),名稱依序為 vmnic0, vmnic1
     若再增加一片2Port的外接式網卡,則名稱依序為 vmnic2, vmnic3,ESX中所有的網卡資訊可在 vCenter Server 中看得出來,或是以 SSH 登入後,鍵入 esxcfg-nics -l 看到

ESX中的3種網路連接型態

     ESX中因功能需要提供了3種網路連接型態
  1. Virtual Machine:提供所有虛擬機連外的網路
  2. VMkernel:提供 VMotion 作業或使用 NAS 類設備使用的網路
  3. Service Console:提供 vCenter Server 或 vSphere Client 與 ESX主機 (host) 連接的網路

ESX中的虛擬switch

     ESX下的虛擬 switch ,要把它想成虛擬機與實際網卡中間的 Switch 設備
     通常我們會為ESX 準備3個虛擬 Switch,分別為 vSwitch0, vSwitch1, vSwitch2,對應到3個網路連接型態 Virtual Machine, VMkernel, Service Console。

網卡的Teaming

    通常為了防止單點錯誤與效率的考量,我們會將多張網卡 Teaming 起來 (也可稱為 Bonding 、Trunk 或 Port Group),此時若有多張網卡,建議橫向打散在不同的網卡上,避免單一張網卡失效時無法正常運作,在筆者的配置中,因為只有4個port可用,所以將較需頻寬的虛擬機網路(Virtual Machine Network) 設定2個 Port在一個vSwitch上,然後再對這個vSwitch做如下圖般的Load Balancing設定。詳細的說明還請參考官網的這2篇文章 :  NIC teaming in ESX Server 與  ESX Server host requirements for link aggregation

Cisco交換器設定 channel group

     我們通常必須對ESX中作 Port Group 的網卡,對應在其連接的實體 Switch 設備上也設定 Port Channel group,假設一台ESX Server有4個Port,其中的Virtual Machine Network使用到vmnic1與vmnic3(一個內建網卡,一個外接網卡)分別連接到Switch上的 Port 2與 Port 4,下面以 pietty 使用 telnet 連接到Cisco 2960G作為實例說明指令:
  • en (enable)
  • ******* (輸入密碼)
  • sh run (show running-config)
    • Current configuration :  (顯示出此 switch 的設定,此 switch 只能設定6個 Port Channel)
  • conf t (configure terminal 進入global模式)
  • port-channel load-balance src-dst-ip (設定負載平衡的演算法為 src-dst-ip)
  • int gi 0/2 (interface gigabitethernet 第 0 台 Switch 第 2 個 Port )
  • channel-group 1 mode on (加入第1個 channel group, 取消加入指令為 no channel-group1 mode on)
  • end (結束這個port的設定,返回上一層/特權模式, 也可按 Ctrl + Z 結束)
  • conf t (進入global模式)
  • int gi 0/4 (針對第 4 個 Port)
  • channel-group 1 mode on  (加入第1個 channel group)
  • end (結束這個port的設定,返回上一層/特權模式, 也可按 Ctrl + Z 結束)
  • write (寫入設定)
特別注意,要設定為 etherchannel 的 port 最好先 shutdown,或是不插網路線。

其他cisco相關指令:
  • show interface port-channel  1:顯示第 1 個 port 的細部設定
  • show spanning-tree
  • show etherchannel load-balance:顯示負載平衡演算法的設定
  • show etherchannel:顯示 channel group 的狀態
  • show etherchannel detail:顯示 channel group 的細部設定
  • show etherchannel port:顯示 channel group 中 port 的狀態
  • show etherchannel port-channel
  • show etherchannel protocol
  • show etherchannel summary:簡單顯示 channel group 與 port 的對應
網卡綁定這個技術,各家的稱呼都不同,查資料時也頗為困擾:
  • INTEL:Link Aggregation
  • CISCO:Fast EtherChannel
  • 3COM:Port Trunking
  • IEEE:802.3ad

沒有留言: