這份最佳實務做法文件旨在分享我在架構、實作及管理許多 ONTAP 7-Mode HA 配對和 30 多個 ONTAP SAN 叢集方面的正式作業經驗。這些知識奠基於我累積多年的 iSCSI 部署實際經驗。本文是在拉斯維加斯舉行的 NetApp Insight 2018 會議中 iSCSI 最佳實務做法白板研習會期間所用的參考資料,如果您正在尋找通過測試的最佳實務做法來協助成功部署 iSCSI,請繼續閱讀。
在開始之前,我想先說明幾個關鍵定義,還有快速簡介一下 NetApp 統一化儲存設備。
NAS,網路附加儲存設備:檔案型儲存設備(NFS 和 SMB (CIFS)、SMB3),由 ONTAP 控制其中的檔案系統。
SAN,儲存區域網路:區塊型儲存設備(FC、FCoE、iSCSI),由主機控制其中的檔案系統。
LUN,邏輯單元編號:附加 SCSI 磁碟的邏輯表示式。
SCSI,小型電腦系統介面:一組標準,定義用於傳輸資料的命令、傳輸協定和介面。SCSI 允許存取低層級資料(以 512 位元組區塊為單位)。相較於 NAS(檔案層級)存取,這項技術效率極高且成本較低。SCSI 具有高度的恢復能力,是企業級傳輸協定的最佳選擇。SAN 使用 SCSI-3 傳輸協定。
FC SAN,光纖通道 SAN:使用 FC 傳輸協定透過 FC 連接埠進行通訊。FC 將 SCSI 命令封裝在 FC 訊框中。 IP SAN,iSCSI SAN:使用 iSCSI 傳輸協定透過乙太網路連接埠進行通訊。iSCSI 將 SCSI 命令封裝在 IP 封包中。使用 TCP 連接埠 3260。 在 FC SAN 中,全球節點名稱 (WWNN) 是描述一部機器,全球連接埠名稱 (WWPN) 則是描述連接到該機器的實體連接埠。在 IP SAN 中,節點名稱是描述機器,入口網站則是描述實體連接埠。每一個 iSCSI 節點都必須有節點名稱。支援的節點名稱格式有兩種:IQN(iSCSI 合格名稱)和 EUI(延伸唯一識別碼)。
實體連接埠:在資料和叢集互連連接埠上,將 MTU 設為 9,000 並停用所有連接埠上的流程控制 (net port show -fields mtu,flowcontrol-admin)。
多重路徑:儲存控制器內的 FC 和 IP SAN 連接埠使用的是專屬於應用程式的積體電路 (ASIC) 晶片組,因此請務必確認目標連接埠分開置於控制器或擴充卡內的不同 ASIC 晶片,以消除單一 ASIC 成為單點故障的情況。
範例:(IP) e0a 和 e0b 位於同一個 ASIC 上,(FC) 0a 和 0b 位於同一個 ASIC 上
正確的使用方式為:(IP) e0a 和 e0c、e0b 和 e0d,(FC) 0a 和 0c、0b 和 0d
ALUA(非對稱邏輯單元存取)路徑最佳化選擇:在 FC 和 iSCSI 實作時,都需要 ALUA。
「主動 / 最佳化」和「主動 / 非最佳化」路徑皆設定用於存取,而每個節點至少有 1 條路徑。為了獲得更好的效能,強烈建議每個節點有多重路徑,以允許使用 2 條或更多路徑進行多重路徑路由。
「主動 / 最佳化」路徑會在擁有 LUN 的節點上,使用啟動器與目標之間的直接路徑或主要路徑。「主動 / 非最佳化」路徑則是透過叢集互連,在啟動器和目標之間使用間接路徑或次要路徑,因此延遲會增加。
路徑選擇(循環):主機在連線至主被動式陣列時,會使用自動路徑選擇演算法來輪替所有主動路徑,在連線至雙主動式陣列時,則是輪替所有可用路徑。循環 (RR) 是許多陣列的預設值,可與雙主動式和主被動式陣列搭配使用,以在不同 LUN 的路徑之間實作負載平衡。NetApp 預設設定為「主動 / 主動」解決方案。視客戶需求而定,可設定為「主動 / 被動」。
巨型訊框 (Jumbo Frame):巨型訊框是較大的乙太網路封包,可降低封包例行成本與有效負載的比率。預設的乙太網路訊框大小或 MTU 為 1,500 位元組。使用巨型訊框時,在終端節點(例如伺服器和儲存設備)上,MTU 通常設為 9,000,而在實體交換器上,則設為較大的值,例如 9,198 或 9,216。所有實體裝置和邏輯實體都必須從端點到端點啟用巨型訊框,才能避免大小達到上限的最大封包被截斷或分散。
在實體交換器上,MTU 必須設所支援的最大值,無論是全域設定或原則選項,還是以每個連接埠為基礎(包括 ESXi 使用的所有連接埠和 NetApp 叢集的節點),這取決於交換器實作。另外,也必須在 ESXi vSwitch 和 VMkernel 連接埠,以及每個節點的實體連接埠或介面群組上設定 MTU,而且必須使用相同的值。
如果發生問題,原因通常是未針對巨型訊框設定 VMkernel 或 vSwitch。如果 VM 客體需要透過自己的 NFS 或 CIFS 堆疊或 iSCSI 啟動器來直接存取儲存設備,則雖然 VM 連接埠群組沒有 MTU 設定,但必須在客體中設定 MTU。下圖顯示各種網路元件的巨型訊框 MTU 設定。 廣播網域:在建立 ifgrps 和 VLAN 之後,請從預設的廣播網域中移除 ifgrps 和資料連接埠,然後建立資料廣播網域。接著將 ifgrps 和資料連接埠移入資料廣播網域,並將 MTU 設定設為 9,000。
有任何問題嗎?如需進一步資訊,請至 Twitter (@cartracr) 尋找我!
感謝 Steve Botkin、AKA Santa (@SANTechArch) 協助整理本文件內容。
Lee 是資深儲存工程師、儲存架構設計師、NetApp 主題專家,也是 NetApp United 會員。他在 IT 產業擁有 25 年的技術經驗,主要工作重點是支援工程資源。他是硬派改車狂人,對汽機車賽車非常熱愛。此外,他也熱衷攝影,也是美國加州聖克拉拉郡 (Santa Clara) 和摩根山市 (City of Morgan Hill) 的 FCC 授權業餘無線電操作員和緊急通訊志工。