使用軟體 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) |
無連接埠繫結
如果不使用連接埠繫結,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 的連接埠 1 |
透過軟體 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 連接埠的閘道資訊,請使用下列命令:
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 連接埠採用不同的閘道,您可以使用連接埠繫結來連線位於不同子網路的目標。