站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

VMware Networking

vNetwork 介紹

vNetwork 支援二種 Virtual Switch 也就是 Standard Switches (VSS) 及 Distributed Switches (VDS),而 vNetwrok 提供三種網路服務存取型態 Virtual Machine Port Group、VMKernel Port、Service Console Port

  1. VSS、VDS: 用於 VM 與 VM 之間溝通或 VM 與實體 Switch 溝通之用
    1. vNetwork Standard Switches (VSS) 無法跨 Host 使用
    2. vNetwork Distributed Switches (VDS) 可以跨 Host 使用 (Enterprise Plus 版本才有支援此功能),且當 VM 透過 VMotion 機制移轉至其它台 Host 時原先在虛擬交換器針對 VM 所做的設定,仍然會自動套用到該 Host 上

虛擬網路 (vNetwork): vSwitch 支援下列三種連線類型

  1. Virtual Machine: VM,也就是給虛擬機器 VM 連接使用並搭配後續談到的 Port Group 使用
  2. VMKernel: vmknic,需要連接 iSCSI、NFS 等 IP Storage 及後續談到的進階功能 vMotion 時使用 (ESXi 稱為 Management Network)
  3. Service Console: vswif,安裝完 ESX Host 後與外界溝通的唯一管道用於 vSphere Client 連入時及後續談到的進階功能 HA (HA Heartbeat) 時使用 (只有 ESX Host 才有 Service Console 若是安裝 ESXi 則無)

vSwitch 介紹

了解上述 vSwitch 特性後我們可知您可將不同功能用途例如 iSCSI、VMotion、VM、Service Console 都放在同一個 vSwitch 上也可放在不同的 vSwitch 上,至於何種方式比較好則必須視實際環境、流量負載、傳輸效能而定因為二種方式各有其優缺點。

舉例來說若一台 Host 上有三張實體網路卡,若將 iSCSI、VMotion、VM、Service Console 都放在同一個 vSwitch 上或不同 vSwitch 上大致可想得到的優缺點為

Port Group

Port Binding 模式

限制流入/流出流量

Distributed Switches (VDS) 支援網路流量 流入 Inbound / 流出 Outbound 的限制,而 Standard Switches (VSS) 僅支援 網路流量 流出 Outbound 的限制

Security

VLANs

VLAN 在虛擬環境下有三種不同的方式:

Community (PVLAN 17)Isolated (PVLAN 155)Promiscuous (PVLAN 5)
VM A VM B VM C VM D VM E VM F
vDS
Primary PVLAN 5

VSS 與 VDS 功能比較

上面提到那麼多有關於 Virtual Switch 中 Standard Switches (VSS) 及 Distributed Switches (VDS) 特性及功能,就功能性來說 Distributed Switches (VDS) 絕對全面勝出,但要擁有 Distributed Switches (VDS) 必須購買 Enterprise Plus 授權,因此您可參考下列功能比較表來決定您是否必須使用到 VDS 或是 VSS 即可滿足您的需求。

-Standard Switches (VSS)Distributed Switches (VDS)
Layer 2Yes Yes
VLAN (802.1Q)Yes Yes
Private VLAN NoYes
Jumbo Frames NoYes
MultiCast Yes Yes
LACP (802.3AD)Yes Yes
Port Security Yes Yes
Traffic Monitor (Promiscuous)Yes Yes
Setting With VMotion NoYes
Inbound Limit NoYes
Outbound Limit Yes Yes
CDP Yes Yes
NetFlow Yes Yes
Cisco Nexus 1000V (3-Party)NoYes

虛擬網路元件

虛擬 HBA 卡

只要是連接到 DataStore 的介面都稱為 HBA

NIC Teaming

當 ESX / ESXi Host 實體具有多片網路卡時即可使用此功能達成例如備援或負載平衡的機制 (不需設定 vSwitch 即可自動達成 NIC Teaming 功能),目前 NIC Teaming 共有下列三種負載平衡方式:

IP Hash 搭配實體 Switch LACP 實作

將 ESX / ESXi Host 實體網路卡 (vmnic) 連接到的實體網路交換器 D-Link DGS-3100 的 Port 3、4 上並且將 ESX Host 上的 NIC Teaming 設定為 IP Hash 負載平衡方式,以下為 D-Link Switch 及 ESX Host 設定事宜:

D-Link Switch LACP 設定

設定時要注意若該 Port 已經被包在 VLAN 中則必須要先將那些 Port 從 VLAN 中移除,否則要將 Port 加入 LACP Group 時會出現錯誤訊息 (It is not allowed to configure member ports which belong to VLANs) 說要加入的 Port 已經是 VLAN 的 Member Port 而加入失敗。

 #sh vlan                                                         //確認要加入 LACP Group 的 Port 3、4 是否有在 VLAN 中
 #config vlan VM delete 3-4                                       //從 VLAN (VM) 中將 Port 3、4 移除
 #create link_aggregation group_id 2 type lacp                    //建立 LACP Group ID 2
 #config link_aggregation group_id 2 ports 3-4 state enable       //Port 3、4 加入此 LACP Group 中 (會自行產生 ch2 介面)
 #config vlan VM add untagged ch2                                 //將 ch2 加入 VLAN (VM) 中
 #delete link_aggregation group_id 2                              //刪除 LACP Groupd ID 2

若是 Cisco 及 HP Switch 的 LACP 設定可參考 [VMware KB 1004048 Sample configuration of EtherChannel - Link aggregation with ESX and Cisco-HP switches]

ESX Host NIC Teaming 設定

詳細操作及設定說明可參考 [VMware KB-1004088: NIC teaming in ESX Server]

  1. 開啟【vSphere Client】 >> 選擇【ESX Host】 >> 【Configuration】 >> 【Networking】 >> 【Properties】 >> 【vSwitch】 >> 【Edit】
  2. 【NIC Teaming】 >> 選擇 【Route based on ip hash】 並確認網卡都在 Active Adapters 中即可按下【OK】進行套用

ESXi Host NIC Teaming 設定

設定 ESXi NIC Teaming 您可能會發現雖然設定 NIC Teaming 功能至 vSwitch 但可能仍然無法作用 (或者發生怪異現象),原因是因為無法套用設定至 ESXi Host 的 Management Network PortGroup ,所以請再次設定 NIC Teaming 功能至 Management Network PortGroup 上,詳細操作及設定說明可參考 [VMware KB-1022751: NIC teaming using EtherChannel leads to intermittent network connectivity in ESXi]

  1. 開啟【vSphere Client】
    1. 選擇【ESXi Host】 >> 【Configuration】 >> 【Networking】 >> 【Properties】 >> 【vSwitch】 >> 【Edit】
      1. 【NIC Teaming】 >> 選擇 【Route based on ip hash】 並確認網卡都在 Active Adapters 中即可按下【OK】進行套用
    2. 選擇【ESXi Host】 >> 【Configuration】 >> 【Networking】 >> 【Properties】 >> 【Management Network】 >> 【Edit】
      1. 【NIC Teaming】 >> 選擇 【Route based on ip hash】 並確認網卡都在 Active Adapters 中即可按下【OK】進行套用

Cisco Nexus 1000V

現在 Cisco Nexus 1000V 有 Essential Edition (免費版本)、Advanced Edition (付費版本),二種版本的功能性比較表如下所示,詳細資訊您可以參考相關連結:

特色功能Essential EditionAdvanced Edition
Layer 2 Switching
VLAN Yes Yes
PVLAN Yes Yes
VXLAN Yes Yes
Loop Prevention Yes Yes
MultiCast Yes Yes
Virtual PortChannels Yes Yes
LACP Yes Yes
ACLs Yes Yes
Network Management
NetFlow v9Yes Yes
NetFlow SPAN Yes Yes
NetFlow ERSPAN Yes Yes
vTracker Yes Yes
vCenter Server Plug-in Yes Yes
Enhanced Qos Yes Yes
Cisco vPath Yes Yes
Security
DHCP Snooping -Yes
IP Source Guard -Yes
Dynamic ARP Inspection -Yes
Cisco TrustSec SGA -Yes
Cisco Virtual Security Gateway Supported Included

參考

[VMware Online Library - Network Architecture]

[VMware Demo - vSphere Standard Switch Networking Interface Tour]

[VMware ESX Server 3 802.1Q VLAN Solutions]

[What’s New in VMware vSphere™ 4: Virtual Networking]

[IEEE 802.1: 802.1Qbg - Edge Virtual Bridging]

[iThome online - 新網路標準取代虛擬交換器]

[VMware - Multipathing Configuration for Software iSCSI Using Port Binding]

Me FAQ

Q.ESXi Host 無法設定 NIC Teaming?

Error Message:

安裝四片網路卡於 ESXi (vmnic0、vmnic1、vmnic3、vmnic5),當選擇 vSwitch 設定 NIC Teaming 方式為 IP hash 且看到的 Active Adapters 有四片網路卡後當網路線插上 vmnic3、vmnic5 時就會整台 ESXi Host 失聯?

今天我碰到的問題是,我在 vSwitch 有設定 NIC Teaming 方式為 IP hash 且看到的 Active Adapters 有四片網路卡,之後僅保留 1 Port 可以通訊時,在 VMkernel Port 設定 NIC Teaming 方式為 IP hash,但看到的 Active Adapters 僅有 vmnic0、1,而 vmnic3、5 則是在 Unused Adapters (這個應該就是造成失聯的原因),所以好奇的是我在 vSwitch 設定 NIC Teaming 時所看到的 Active Adapters 是四片網卡,但在 VMkernel Port NIC Teaming 時所看到的 Active Adapters 卻只有二片?

Ans:

僅保留 vmnic0 時 ESXi 可以正常通訊,後來選擇 Management Network 設定 NIC Teaming 方式為 IP hash 時卻發現 Active Adapters 僅有 vmnic0、1,而 vmnic3、5 則是在 Unused Adapters (這個應該就是造成失聯的原因),將 vmnic3、5 調整為 Active Adapters 後 NIC Teaming 即正常運作,原因是因為無法套用設定至 ESXi Host 的 Management Network PortGroup ,所以請再次設定 NIC Teaming 功能至 Management Network PortGroup 上,詳細操作及設定說明可參考 [VMware KB-1022751: NIC teaming using EtherChannel leads to intermittent network connectivity in ESXi]

Q.Host 網卡其 Observed IP Ranges 內的 IP 位址會跳來跳去?

Error Message:

安裝四片網路卡於 ESXi Host (vmnic0、vmnic1、vmnic3、vmnic5),查看 Observed IP Ranges 時其 IP 數值資料常常會變來變去,這個數值有什麼參考價值嗎?

Ans:

經請教 [Johnny] 之後得到結論如下

Observed IP Ranges 是 ESX / ESXi Host 用來偵測網段 Incoming 廣播封包之用,因為 NIC Teaming 的關係會變動是正常現象。至於參考價值可以說是沒有頂多就是判斷 NIC Teaming 有沒有平均 Incoming Broadcast Packets 進來 (但是 Unicast / Multicast 則無法偵測)。

Q.ESX 4.1 無法抓到 Intel 1000 PT Dual Port 網卡?

Error Message:

安裝二片 Intel 1000 PT Dual Port 網路卡於 ESX 4.1 Host,但是 ESX 4.1 在 Network Adapters 中無法看到新安裝的 Intel 1000 PT Dual Port 網路卡,直接登入 ESX 4.1 Host 後使用指令 lspci 查到的網卡資訊為 Intel Corporation Unknown device 1516 (rev 01),ESX 4.1 沒有該網路卡的驅動?

 #lspci | grep Ethernet
 0b:00.0 Ethernet controller: Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T (rev 20)   //內建網卡
 0b:00.1 Ethernet controller: Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T (rev 20)   //內建網卡
 15:00.0 Ethernet controller: Intel Corporation Unknown device 1516 (rev 01)                           //新增的 Intel 1000 PT Dual Port 網路卡
 15:00.1 Ethernet controller: Intel Corporation Unknown device 1516 (rev 01)                           //新增的 Intel 1000 PT Dual Port 網路卡
 1f:00.0 Ethernet controller: Intel Corporation Unknown device 1516 (rev 01)                           //新增的 Intel 1000 PT Dual Port 網路卡
 1f:00.1 Ethernet controller: Intel Corporation Unknown device 1516 (rev 01)                           //新增的 Intel 1000 PT Dual Port 網路卡

Ans:

是的,在 ESX 4.1 中沒有此網卡的驅動 (但 ESXi 4.1 卻有此驅動!!),詳細作法可參考[Support Resources - VMware ESX/ESXi 4.0 Driver CD for Intel 82575 and 82576 Gigabit Ethernet Adapter],下列為簡述解決步驟:

  1. 請先至 [VMware ESX/ESXi 4.x Driver CD for Intel 82576 ,82580 and I350 Gigabit Ethernet Controller] 下載 Intel 1000 PT Dual Port 網路卡 (82580),最新驅動程式映像檔。
  2. 將下載好的映像檔解開後會看到「.rpm、doc、offline-bundle、source」等資料夾,在 offline-bundle 資料夾中可以看到 .zip 壓縮檔,本例解開後為得到「INT-intel-lad-ddk-igb-3.1.17-offline_bundle-452075.zip 」。
  3. 將此 .zip 壓縮檔上傳至 ESX 4.1 Host 的 Datastore 內,並將 ESX 4.1 Host 進入「維護模式 Maintenance Mode」。
  4. 登入 Shell 後執行指令「esxupdate --bundle=INT-intel-lad-ddk-igb-3.1.17-offline_bundle-452075.zip update」,便開始安裝驅動,安裝完成後會要求要重新啟動 ESX Host 主機
  5. 開機完成後從 vSphere Client 登入後在 Network Adapters 中便看到,新增網卡資訊 Intel Corporation 82580 Gigabit Network Connection。
  6. Shell 登入 ESX 4.1 Host 後使用指令 lspci 查到的網卡資訊即看到正確的網卡資訊。
 #lspci | grep Ethernet
 0b:00.0 Ethernet controller: Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T (rev 20)   //內建網卡
 0b:00.1 Ethernet controller: Broadcom Corporation Broadcom NetXtreme II BCM5709 1000Base-T (rev 20)   //內建網卡
 15:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)              //新增的 Intel 1000 PT Dual Port 網路卡
 15:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)              //新增的 Intel 1000 PT Dual Port 網路卡
 1f:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)              //新增的 Intel 1000 PT Dual Port 網路卡
 1f:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)              //新增的 Intel 1000 PT Dual Port 網路卡
Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com