特定類型的 iSCSI 介面卡取決於 VMkernel 網路。這些介面卡包括軟體或相依硬體 iSCSI 介面卡,以及 VMware iSCSI over RDMA (iSER) 介面卡。如果您的 ESXi 環境包含上述任何介面卡,您必須設定 iSCSI 或 iSER 元件與實體網路介面卡之間的流量連線。

設定網路連線包括為每個實體網路介面卡建立虛擬 VMkernel 介面卡,您可以在每個虛擬和實體網路介面卡之間使用 1:1 對應。然後將 VMkernel 介面卡關聯到適當的 iSCSI 或 iSER 介面卡。此程序稱為連接埠繫結。

該圖說明了連線到 VMkernel 介面卡 (vmk) 的 iSCSI 或 iSER 介面卡 (vmhba)。交換器將 vmk 與實體 NIC (vmnic) 連線。
設定連接埠繫結時,請遵循下列規則:
  • 可以將軟體 iSCSI 介面卡連線到主機上任何可用的實體 NIC。
  • 相依 iSCSI 介面卡必須僅連線到自己的實體 NIC。
  • 您必須將 iSER 介面卡僅連線到具備 RDMA 功能的網路介面卡。

如需搭配使用網路連線與軟體 iSCSI 的時間和方法的特定注意事項,請參閱 VMware 知識庫文章,網址為:http://kb.vmware.com/kb/2038869

iSCSI 或 iSER 組態中的多個網路介面卡

如果主機具有多個用於 iSCSI 或 iSER 的實體網路介面卡,您可以將這些介面卡用於多重路徑。

您可以在單一或多個交換器組態中使用多個實體介面卡。

在多個交換器組態中,您可以針對每個虛擬-實體介面卡配對指定單獨的 vSphere 交換器。

圖 1. 單獨 vSphere 標準交換器上的 1:1 介面卡對應
將兩個單獨 vSwitch 用於 iSCSI 網路功能。

替代方法是將所有 NIC 和 VMkernel 介面卡新增到單一 vSphere 交換器中。VMkernel 介面卡的數目必須與 vSphere 標準交換器上實體介面卡的數目相對應。單一交換器組態不適合 iSER,因為 iSER 不支援 NIC 整併。

圖 2. 單一 vSphere 標準交換器上的 1:1 介面卡對應
將單一 vSwitch 用於 iSCSI 網路功能。

針對該組態類型,您必須覆寫預設網路設定,並確保每個 VMkernel 介面卡只對應到一個相應的作用中實體介面卡,如表格所示。

VMkernel 介面卡 (vmk#) 實體網路介面卡 (vmnic#)
vmk1 (iSCSI1) 作用中介面卡

vmnic1

未使用的介面卡

vmnic2

vmk2 (iSCSI2) 作用中介面卡

vmnic2

未使用的介面卡

vmnic1

您也可以使用分散式交換器。如需有關 vSphere 分散式交換器以及如何變更預設網路原則的詳細資訊,請參閱 vSphere 網路說明文件。

使用多個實體介面卡時,請考量下列幾個事項:
  • 實體網路介面卡和它們連線到的儲存區系統必須位於同一子網路上。
  • (僅適用於 iSCSI,而不適用於 iSER) 如果您使用不同的 vSphere 交換器,您必須將其連線到不同的 IP 子網路。否則,VMkernel 介面卡可能會發生連線問題,且主機無法探索到 LUN。
  • 單一交換器組態不適合 iSER,因為 iSER 不支援 NIC 整併。
當存在下列任意情況時,請勿使用連接埠繫結:
  • 陣列目標 iSCSI 連接埠處於不同的廣播網域和 IP 子網路中。
  • 用於 iSCSI 連線的 VMkernel 介面卡存在於不同的廣播網路和 IP 子網路中,或使用不同的虛擬交換器。
    備註: 在 iSER 組態中,用於 iSER 連線的 VMkernel 介面卡無法用於聚合式流量。為了在具有 iSER 的 ESXi主機和 iSER 目標之間啟用連線的 VMkernel 介面卡必須僅用於 iSER 流量。

使用軟體 iSCSI 設定網路的最佳做法

使用軟體 iSCSI 設定網路時,請考慮幾個最佳做法。

軟體 iSCSI 連接埠繫結

您可以將 ESXi 主機上的軟體 iSCSI 啟動器繫結到單一或多個 VMkernel 連接埠,使 iSCSI 流量僅流經繫結的連接埠。未繫結的連接埠不會用於 iSCSI 流量。

設定連接埠繫結後,iSCSI 啟動器會建立從所有繫結的連接埠到所有設定的目標入口網站的 iSCSI 工作階段。

請參閱下列範例。
VMkernel 連接埠 目標入口網站 iSCSI 工作階段
2 個繫結的 VMkernel 連接埠 2 個目標入口網站 4 個工作階段 (2 x 2)
4 個繫結的 VMkernel 連接埠 1 個目標入口網站 4 個工作階段 (4 x 1)
2 個繫結的 VMkernel 連接埠 4 個目標入口網站 8 個工作階段 (2 x 4)
備註: 使用連接埠繫結時,請確保可以從所有 VMkernel 連接埠連線到所有目標入口網站。否則,iSCSI 工作階段可能無法建立。如此一來,重新掃描作業時間可能要比預期時間久。

無連接埠繫結

如果不使用連接埠繫結,ESXi 網路層會根據其路由表選取最佳 VMkernel 連接埠。主機會使用該連接埠建立與目標入口網站的 iSCSI 工作階段。如果沒有連接埠繫結,會針對每個目標入口網站僅建立一個工作階段。

請參閱下列範例。
VMkernel 連接埠 目標入口網站 iSCSI 工作階段
2 個未繫結的 VMkernel 連接埠 2 個目標入口網站 2 個工作階段
4 個未繫結的 VMkernel 連接埠 1 個目標入口網站 1 個工作階段
2 個未繫結的 VMkernel 連接埠 4 個目標入口網站 4 個工作階段

軟體 iSCSI 多重路徑

範例 1.具有單一網路入口網站之 iSCSI 目標的多個路徑

如果目標僅具有一個網路入口網站,您可以建立到該目標的多個路徑,方法是在 ESXi 主機上新增多個 VMkernel 連接埠,並將這些連接埠繫結到 iSCSI 啟動器。

該圖顯示了連線到單一目標的 VMkernel 連接埠 (vmk1、vmk2、vmk3 和 vmk4)。所有啟動器連接埠和目標皆位於同一個子網路中。

在此範例中,所有啟動器連接埠和目標入口網站皆設定於同一個子網路。可透過所有繫結的連接埠連線到目標。您具有四個 VMkernel 連接埠和一個目標入口網站,因此一共建立了四個路徑。

如果沒有連接埠繫結,僅會建立一個路徑。

範例 2.VMkernel 連接埠位於不同子網路的多個路徑

透過設定多個位於不同 IP 子網路的連接埠和目標入口網站,您可以建立多個路徑。透過保持啟動器和目標連接埠位於不同子網路,您可以強制 ESXi 建立經由特定連接埠的路徑。在此組態中,您沒有使用連接埠繫結,因為連接埠繫結需要所有啟動器和目標連接埠皆位於同一個子網路。

該圖顯示了不同 IP 子網路上的多個 VMkernel 連接埠和目標入口網站。

ESXi 會在連線至控制器 A 和控制器 B 的連接埠 0 時選取 vmk1,因為所有三個連接埠皆位於同一個子網路。同樣地,在連線至控制器 A 和 B 的連接埠 1 時會選取 vmk2。在此組態中,您可以使用 NIC 整併。

總共建立了四個路徑。
路徑 說明
路徑 1 vmk1 和控制器 A 的連接埠 0
路徑 2 vmk1 和控制器 B 的連接埠 0
路徑 3 vmk2 和控制器 A 的連接埠 1
路徑 4 vmk2 和控制器 B 的連接埠 1

透過軟體 iSCSI 路由

您可以使用 esxcli 命令為 iSCSI 流量新增靜態路由。設定靜態路由後,位於不同子網路中的啟動器和目標連接埠就可以相互通訊。

範例 1.將靜態路由與連接埠繫結搭配使用

在此範例中,保持所有繫結的 VMkernel 連接埠位於一個子網路 (N1),並設定所有目標入口網站位於另一個網路 (N2)。接著,您可以為目標子網路 (N2) 新增靜態路由。

該圖顯示了子網路 N1 中的兩個繫結的 VMkernel 連接埠和子網路 N2 中的目標入口網站。

使用下列命令:

# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.179.0/24

範例 2.使用靜態路由建立多個路徑

在此組態中,當使用不同子網路時使用靜態路由。不能將連接埠繫結與此組態搭配使用。

該圖顯示 vmk1 和 vmk2 在不同的子網路中。目標入口網站也在不同的子網路中。

設定 vmk1 和 vmk2 位於不同的子網路 (192.168.1.0 和 192.168.2.0)。目標入口網站也位於不同的子網路 (10.115.155.0 和 10.155.179.0)。

您可以從 vmk1 為 10.115.155.0 新增靜態路由。請確保可以從 vmk1 連線到閘道。

# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.155.0/24

接著從 vmk2 為 10.115.179.0 新增靜態路由。請確保可以從 vmk2 連線到閘道。

# esxcli network ip route ipv4 add -gateway 192.168.2.253 -network 10.115.179.0/24

使用控制器 A 的連接埠 0 進行連線時,會使用 vmk1。

使用控制器 B 的連接埠 0 進行連線時,會使用 vmk2。

範例 3.透過每個 vmkernel 連接埠採用單獨的閘道路由

從 vSphere 6.5 開始,您可以為每個 VMkernel 連接埠設定單獨的閘道。如果使用 DHCP 來取得 VMkernel 連接埠的 IP 組態,則也可以使用 DHCP 來取得閘道資訊。

若要查看每個 VMkernel 連接埠的閘道資訊,請使用下列命令:

# esxcli network ip interface ipv4 address list
Name  IPv4 Address    IPv4 Netmask   IPv4 Broadcast  Address Type  Gateway         DHCP DNS
----  --------------  -------------  --------------  ------------  --------------  --------
vmk0  10.115.155.122  255.255.252.0  10.115.155.255  DHCP          10.115.155.253      true
vmk1  10.115.179.209  255.255.252.0  10.115.179.255  DHCP          10.115.179.253      true
vmk2  10.115.179.146  255.255.252.0  10.115.179.255  DHCP          10.115.179.253      true

藉由每個 VMkernel 連接埠採用不同的閘道,您可以使用連接埠繫結來連線位於不同子網路的目標。

管理 iSCSI 網路

特殊考量事項適用於與 iSCSI 介面卡相關聯的網路介面卡,包括實體網路介面卡和 VMkernel 網路介面卡。

為 iSCSI 建立網路連線後,iSCSI 指示器在 vSphere Client 中變為已啟用狀態。此指示器顯示特定虛擬網路介面卡或實體網路介面卡是 iSCSI 繫結的。若要避免 iSCSI 流量中斷,請在管理 iSCSI 繫結的虛擬網路介面卡和實體網路介面卡時,遵循以下準則和考量事項:

  • 確定 VMkernel 網路介面卡已在其連線的 iSCSI 儲存區入口網站相同的子網路上指派了位址。
  • 使用 VMkernel 介面卡的 iSCSI 介面卡無法連線到不同子網路上的 iSCSI 連接埠,即使 iSCSI 介面卡發現了這些連接埠亦是如此。
  • 使用單獨的 vSphere 交換器連線實體網路介面卡和 VMkernel 介面卡時,確定 vSphere 交換器連線到不同的 IP 子網路。
  • 如果 VMkernel 介面卡位於同一子網路上,則它們必須連線到單一 vSwitch。
  • 如果將 VMkernel 介面卡移轉到不同的 vSphere 交換器,請移動關聯的實體介面卡。
  • 請勿對 iSCSI 繫結的 VMkernel 介面卡或實體網路介面卡進行組態變更。
  • 請勿進行可能中斷 VMkernel 介面卡與實體網路介面卡的關聯的變更。如果您移除其中一個介面卡或與其連線的 vSphere 交換器,或者,如果變更其連線的 1:1 網路原則,會中斷此關聯。

iSCSI 網路疑難排解

警告標誌表示 iSCSI 繫結的 VMkernel 介面卡的不符合連接埠群組原則。

問題

VMkernel 介面卡的連接埠群組原則在下列情況下視為不符合標準:

  • VMkernel 介面卡未連線到作用中的實體網路介面卡。
  • VMkernel 介面卡連線到多個實體網路介面卡。
  • VMkernel 介面卡連線到一或多個待命實體介面卡。
  • 作用中的實體介面卡已變更。

解決方案

為 iSCSI 繫結的 VMkernel 介面卡設定正確的網路原則。請參閱在 ESXi 上設定 iSCSI 或 iSER 的連接埠繫結