使用軟體 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 連接埠和一個目標入口網站,因此一共建立了四個路徑。

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

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

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

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 的連接埠 2

透過軟體 iSCSI 路由

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

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

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

使用下列命令:

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

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

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

設定 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 連接埠採用不同的閘道,您可以使用連接埠繫結來連線位於不同子網路的目標。