透過軟體的 iSCSI 實作,您可以使用標準 NIC 將主機連線到 IP 網路中的遠端 iSCSI 目標。ESXi 內建的軟體 iSCSI 介面卡透過網路堆疊與實體 NIC 進行通訊。

備註: 您必須先設定網路、啟動介面卡,並設定 CHAP 等參數,才能使用軟體 iSCSI 介面卡。

iSCSI 介面卡組態工作流程包含以下程序:

使用 ESXi 為 iSCSI 和 iSER 設定網路

特定類型的 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

VMware Host Client 中為 ESXi 主機啟用 iSCSI

VMware Host Client 環境中為您的主機啟用 iSCSI 以設定儲存裝置介面卡參數,例如 CHAP 驗證、網路連接埠繫結、靜態和動態目標以及各種進階設定。

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 選取啟用選項按鈕。
  3. (選擇性) 設定要變更的參數和元件。
  4. 按一下儲存組態

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

VMware Host Client 中新增連接埠繫結

使用 VMware Host Client 繫結主機上的 iSCSI 介面卡與 VMkernel 介面卡。

必要條件

  • 為主機上的各個實體網路介面卡建立虛擬 VMkernel 介面卡。如果使用多個 VMkernel 介面卡,請設定正確的網路原則。
  • 所需權限:主機.組態.儲存區磁碟分割組態

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 網路連接埠繫結區段中,按一下新增連接埠繫結
  3. 選取要與 iSCSI 介面卡繫結的 VMkernel 介面卡。
    備註: 確定 VMkernel 介面卡的網路原則符合繫結需求。
    可以將軟體 iSCSI 介面卡繫結到一或多個 VMkernel 介面卡。一個相依硬體 iSCSI 介面卡只能使用一個與正確實體 NIC 相關聯的 VMkernel 介面卡。
  4. 按一下選取
  5. 按一下儲存組態

VMware Host Client 中移除連接埠繫結

在主機上編輯 iSCSI 組態,以移除連接埠繫結。

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 網路連接埠繫結區段中,從清單中選取 VMkernel NIC。
  3. 按一下移除連接埠繫結
  4. 按一下儲存組態

VMware Host Client 中設定動態目標

您必須設定目標探索位址,可使 iSCSI 介面卡判定網路上可供存取的儲存資源。ESXi 主機支援動態和靜態探索方法。使用動態探索時,啟動器每次連絡特定的 iSCSI 儲存區系統時,都會向 iSCSI 系統傳送 SendTargets 要求。iSCSI 系統藉由向啟動器提供可用目標的清單來進行回應。

亦稱為 SendTargets 探索。啟動器每次與指定的 iSCSI 伺服器連絡時,都會向該伺服器傳送 SendTargets 要求。伺服器會向啟動器提供可用的目標清單做為回應。這些目標的名稱和 IP 位址顯示在靜態探索索引標籤中。如果將動態探索新增的靜態目標移除,則下次重新掃描、iSCSI 介面卡重設或主機重新開機時,該目標會再傳回清單中。

備註: 透過軟體和相依硬體 iSCSI, ESXi 會根據指定之 iSCSI 伺服器的 IP 系列位址來篩選目標位址。如果位址是 IPv4,將篩選出 iSCSI 伺服器之 SendTargets 回應中可能出現的 IPv6 位址。如果將 DNS 名稱用於指定 iSCSI 伺服器,或者 iSCSI 伺服器的 SendTargets 回應具有 DNS 名稱, ESXi 會依賴透過 DNS 查閱而得到解決的第一個項目的 IP 系列。

設定動態探索時,只能新增 iSCSI 系統,不能變更現有 iSCSI 系統的 IP 位址、DNS 名稱或連接埠號碼。若要修改參數,請刪除現有的系統,然後新增系統。

必要條件

所需權限:主機.組態.儲存區磁碟分割組態

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 按一下新增動態目標
    新動態目標即顯示在清單中。
  3. 若要為新的動態目標新增位址,請在清單中按一下目標並輸入位址。
  4. (選擇性) 若要變更新動態目標的連接埠號碼,請按一下目標連接埠文字方塊並輸入新的連接埠號碼。
  5. (選擇性) 若要編輯動態目標設定,請從可用目標清單中選取新目標,按一下編輯設定,設定要變更的參數,然後按一下儲存
  6. (選擇性) 若要刪除特定目標,請選取目標,然後按一下移除動態目標
    該目標不會再出現在現有動態目標清單中。
  7. 按一下儲存組態

VMware Host Client 中設定靜態目標

透過 iSCSI 啟動器,您可以使用靜態探索來手動輸入目標的資訊。

設定靜態探索時,只能新增 iSCSI 目標。您無法變更現有目標的 IP 位址、DNS 名稱、iSCSI 目標名稱或連接埠號碼。若要進行變更,請移除現有目標,再新增目標。

不僅可讓您使用動態探索方式,還可使用靜態探索,並手動輸入目標資訊。iSCSI 介面卡使用您所提供的目標清單與 iSCSI 伺服器進行連絡和通訊。

必要條件

所需權限:主機.組態.儲存區磁碟分割組態

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 按一下新增靜態目標
    新靜態目標即顯示在清單中。
  3. 若要為新的靜態目標新增名稱,請在清單中按一下目標並輸入名稱。
  4. 若要為新的靜態目標新增位址,請在清單中按一下目標並輸入位址。
  5. (選擇性) 若要變更新靜態目標的連接埠號碼,請按一下目標連接埠文字方塊並輸入新的連接埠號碼。
  6. (選擇性) 若要編輯靜態目標設定,請從可用目標清單中選取新目標,按一下編輯設定,設定要變更的參數,然後按一下儲存
  7. (選擇性) 若要刪除特定目標,請選取目標,然後按一下移除靜態目標
    該目標不會再出現在現有靜態目標的清單中。
  8. 按一下儲存組態

VMware Host Client 中編輯 iSCSI 的進階設定

進階 iSCSI 設定可控制標頭、資料摘要、ARP 重新導向、延遲的 ACK 等參數。這些設定通常不需要變更,因為主機使用指派的預先定義值運作。

注意: 除非與 VMware 支援團隊合作,或擁有為設定修改所提供值的全面資訊,否則不要變更進階 iSCSI 設定。

必要條件

所需權限:主機.組態.儲存區磁碟分割組態

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 按一下進階設定以顯示整個設定清單。
  3. 編輯您要變更的參數,然後按一下儲存組態

VMware Host Client 中針對 iSCSI 介面卡設定 CHAP 驗證

您可以在啟動器層級設定所有目標,讓所有目標皆從 iSCSI 啟動器接收相同的 CHAP 名稱和密碼。依預設,所有探索位址或靜態目標都會繼承您在啟動器層級設定的 CHAP 參數。

CHAP 名稱必須少於 511 個英數字元,而 CHAP 密碼則必須少於 255 個英數字元。部分介面卡 (例如 QLogic 介面卡) 的限制可能更低,CHAP 名稱不能超過 255 個英數字元,而 CHAP 密碼不能超過 100 個英數字元。

必要條件

  • 在設定軟體或相依硬體 iSCSI 的 CHAP 參數之前,請先決定是要設定單向 CHAP (亦稱為一般 CHAP) 還是相互 CHAP。獨立硬體 iSCSI 介面卡不支援相互 CHAP。
    • 在單向 CHAP 中,目標會驗證啟動器。
    • 在相互 CHAP 中,目標和啟動器會相互驗證。CHAP 和相互 CHAP 使用的密碼不同。

    當您設定 CHAP 參數時,請確認這些參數與儲存區端上的參數相符。

  • 所需權限:主機.組態.儲存區磁碟分割組態

程序

  1. VMware Host Client 詳細目錄中按一下儲存區,按一下介面卡,然後按一下設定 iSCSI
  2. 若要設定單向 CHAP,請展開 CHAP 驗證以顯示所有參數。
    1. 選取 CHAP 安全性層級。
    2. 輸入 CHAP 名稱。

      確保輸入的名稱與在儲存區端設定的名稱相符。

    3. 輸入用於驗證的單向 CHAP 密碼。使用在儲存區端輸入的相同密碼。
  3. 若要設定相互 CHAP,請為單向 CHAP 選取使用 CHAP 選項。展開相互 CHAP 驗證以顯示所有參數。
    1. 選取使用 CHAP
    2. 輸入相互 CHAP 名稱。
    3. 輸入相互 CHAP 密碼。
      為單向 CHAP 和相互 CHAP 使用不同的密碼。
  4. 按一下儲存組態

結果

如果您變更 iSCSI 介面卡的驗證設定,則必須在新的 iSCSI 工作階段使用更新的認證。現有的工作階段會持續存在,直到連線受到某些外部因素 (例如,強制重新驗證) 影響而中斷,或是您移除然後新增介面卡 iSCSI 目標。