NetApp Tech OnTap NetApp Logo NetApp 标识
NetApp Tech OnTap
     
新的 VST 層級可進一步最佳化 Flash 技術運用以利效能和降低成本
Jay White
技術行銷工程師
Chittur Narayankumar
技術行銷工程師

虛擬儲存層 (VST) 是 NetApp 自動儲存分級 (AST) 的方法。AST 技術可協助資料中心在以 Flash 型媒體提升效能之際,同時降低成本和複雜度。像是固態磁碟 (SSD) 控制器型 Flash 之類的 Flash 裝置,每秒可完成的隨機讀取作業數比起最快速的硬碟 (HDD),還多出 25 至 100 倍,但獲得此效能需支付的每 GB 成本也高出 15 到 20 倍。

VST 會自動找出常用的資料區塊並存放在 Flash 上,同時將不常用的資料放在速度較慢、成本較低的媒體上,而非將整個資料集永久放在昂貴的 Flash 媒體上。NetApp 投注許多時間與精力來探討 AST 必須克服的挑戰,以建構出最佳解決方案。

將兩項最新產品加入 VST 後,現在 NetApp 可從用戶端應用程式,透過磁碟子系統提供端點對端點的 Flash 選項。

  • 控制器層級:儲存控制器型 Flash(NetApp® Flash Cache 快閃快取)會保留常用的隨機讀取資料 (如欲深入瞭解快閃快取所使用的演算法及其他詳細資訊,請參閱前期 Tech OnTap® 文章)。
  • 磁碟子系統層級:NetApp Flash Pool 快閃集區技術使用混合模式,在 NetApp 集合體中結合運用 SSD 和 HDD。常用的隨機讀取資料會快取到 SSD,重複的寫入資料則會自動儲存在 SSD。
  • 伺服器層級:NetApp Flash Accel™ 技術可將 VST 延伸至伺服器。使用任何伺服器端的 Flash 裝置(PCI-e Flash 卡或 SSD)做為本機快取,可減輕網路和後端儲存設備的 I/O 負荷,讓最忙碌的應用程式達到最佳的 I/O 效率,同時釋出伺服器 CPU 和記憶體資源。

全部三個層級都能持續發揮 VST 的完整優勢,包括:

  • 即時以極精細的區塊大小來提升常用資料:常用資料立即進入 VST,4KB 精細度表示能夠非常有效率地使用 Flash 型媒體。
  • 容易部署,管理輕鬆:VST 可運用於現有的資料磁碟區與 LUN。您不需要針對儲存環境做出複雜或破壞性的變更,也不必為了搬移資料而特別設定原則、臨界值或執行期間。
  • 完善整合:VST 和 NetApp 統一化儲存架構完全整合,這表示您可在不更動任何項目的情況下,搭配使用所有的 NAS 或 SAN 儲存傳輸協定。

本文將介紹使用 NetApp Flash Pool 快閃集區和 Flash Accel 技術的磁碟子系統層級和伺服器層級 VST 選項,並提供何時及何處部署這三個層級的通用準則。若您不熟悉快閃快取 (Flash Cache),請閱讀快閃快取原文以瞭解詳細資訊。

現在,NetApp 虛擬儲存層可在基礎架構的不同層級上運作,讓您最佳化 Flash 技術運用。

圖 1)現在,NetApp 虛擬儲存層可在基礎架構的不同層級上運作,讓您最佳化 Flash 技術運用。

Flash Pool 快閃集區

NetApp Flash Pool 快閃集區可在 NetApp 集合體層級運作 (集合體是 RAID 群組的集合)。將 RAID 群組(由固態硬碟 (SSD) 組成)新增至現有的 64 位元集合體,即可建立快閃集區,產生可充分發揮兩種技術效益的混合式磁碟陣列。SSD 用於儲存集合體內磁碟區的隨機讀取和重複隨機寫入(覆寫),可減輕這項工作對硬碟機 (HDD) 造成的負荷。因此,使用較少的磁碟,或使用容量導向而非效能導向的硬碟,就能達到相同的效能(並具有較短的整體延遲)。快閃集區可提供 SSD 的低延遲和高處理量優勢,以及 HDD 的大儲存容量。

磁碟子系統層級的快閃集區方法具有許多優點。

  • 持續性:因為是在磁碟層實作,所以當發生接管事件時,快閃集區仍可繼續保持運作。在 HA 組態中,若一個控制器因計畫性或非計畫性的中斷而離線,另一個控制器就會接管其集合體和磁碟區,包括快閃集區。RAID 恢復功能可保護快閃集區內的資料。
  • 隨機讀取和隨機覆寫快取:從 HDD 的角度來看,最「昂貴」的活動是現有區塊的隨機讀取和隨機覆寫。快閃集區技術會將這些作業的負荷分攤給 SSD。快取覆寫將可能被重複讀取的區塊填入快閃集區,並防止對 HDD 進行短暫的寫入作業。
  • 感知重複資料刪除:快閃集區技術可完全感知重複資料刪除。已刪除重複資料的區塊可能含有許多參照,例如許多幾近相同的虛擬機器執行個體會因內容重複而被刪除。雖然可透過多個參照存取已刪除重複資料的區塊,但在 SSD 中只會保留該區塊的一個執行個體。基於這種功效,只需較少的 Flash 就能容納指定的工作負載。此效果有時也稱為「快取擴大」。
  • 支援 FAS2200 系列:因為尺寸精巧,NetApp FAS2200 系列的控制器不支援控制器層級 VST,但可以採用快閃集區技術。

快閃集區的運作方式

若要瞭解快閃集區技術的運作方式,您必須先瞭解識別及傳送隨機讀取和隨機覆寫至 SSD 的程序。第一次讀取區塊時,會將區塊從磁碟讀取到儲存控制器記憶體,並將讀取事件歸類為隨機或循序。當歸類為隨機的區塊從控制器記憶體被逐出時,便會寫入 SSD。同一區塊的後續讀取便是從 SSD 進行。

至於寫入,Data ONTAP 的設計已將寫入最佳化。將有效率的 NVRAM 用於日誌的傳入寫入要求,可讓寫入器立即認可這些要求。只要有可能,就會收集寫入並將其等量寫入整個磁碟區中的磁碟,藉由將寫入集合轉變為循序寫入活動,讓基礎 RAID 實作和 HDD 發揮最佳效能。

快閃集區的目標是減輕 HDD 的 I/O 負荷,同時將可能重複讀取或再寫入的區塊放到 SSD 上。HDD 能有效處理大型循序寫入。將大型循序寫入放在 SSD 上是較差的資源使用方式。隨機寫入,尤其是重複覆寫的區塊,才是放上快閃集區 SSD 的理想候選。快閃集區會將可能讀取的區塊和重複寫入的區塊填入 SSD。

當 Data ONTAP 收到寫入要求時,就會驗證該寫入是隨機而非循序,而且同一區塊之前的寫入也是隨機的。如果條件都成立,就會將該寫入放到 SSD 上進行。

如何從快閃集區逐出區塊

Data ONTAP® 技術使用熱度對應(為了持續性而儲存在 SSD 上)來持續追蹤每個區塊有多「熱」。讀取進入快閃集區時是「中間」溫度,後續的讀取會將區塊溫度提升到「溫」,再提升到「熱」。寫入進入快閃集區時也是「中間」溫度,但是後續的覆寫不會提升區塊的溫度。

當可用的 SSD 空間變少時,Data ONTAP 會開始執行逐出掃描器,每執行掃描器一次就會降低每個區塊的溫度。例如,「熱」區塊會變成「溫」區塊、「溫」區塊變成「中間」、「中間」區塊變成「冷」。如果區塊在兩次掃描器執行之間進行讀取或覆寫,其溫度就會再度增加。讀取的最高溫度是「熱」,覆寫的最高溫度是「中間」。如果「冷」區塊沒有再被讀取或覆寫,在下一回掃描器執行時就會降低至「逐出」溫度。此時「讀取」區塊就會被逐出,覆寫區塊則排程寫入 HDD。

當快閃集區被填滿時,這個機制只會讓常用資料留在快閃集區中。快閃集區會動態調整以保留常用資料,而專用於讀取或覆寫的快閃集區數量,則完全取決於使用該集區的工作負載細目。

區塊是否會被逐出快閃集區,完全根據熱度對應來決定。一旦集區已滿,逐出掃描器就會在每回執行時降低各區塊的溫度。當區塊達到逐出溫度時就會被逐出。在兩次掃描器執行之間存取區塊會提高該區塊的溫度,因此常用資料仍會繼續留在快閃集區中。

圖 2)區塊是否會被逐出快閃集區,完全根據熱度對應來決定。一旦集區已滿,逐出掃描器就會在每回執行時降低各區塊的溫度。當區塊達到逐出溫度時就會被逐出。在兩次掃描器執行之間存取區塊會提高該區塊的溫度,因此常用資料仍會繼續留在快閃集區中。

快閃集區的效能

雖然我們尚未發表任何使用快閃集區技術的基準測試,但 NetApp 已利用 OLTP 工作負載進行一些使用前後的比較研究,以顯示可能帶來的影響。我們從相同的 FAS6210 基礎組態開始實作快閃集區,在兩個案例中分別針對每一 IOPS 的成本和每一 GB 的儲存成本進行最佳化。結果如圖 3 所示。請注意,這兩個案例均使整體延遲獲得大幅改善,而在許多情況下,整體延遲對效能感受的影響遠大於 IOPS 總數。

快閃集區對成本 / 效率和效能的影響。

圖 3)快閃集區對成本 / 效率和效能的影響。

表 1)快閃集區的需求和選項。

快閃集區的需求和選項
Data ONTAP 版本Data ONTAP 8.1.1 版或更新版本(7-Mode 和 Cluster-Mode)
調校選項(每個磁碟區) 
讀取隨機讀取(預設)
中繼:僅限中繼資料
隨機讀寫:將隨機讀取和寫入填入讀取集區
無:停止磁碟區的讀取快取
寫入隨機寫入(預設)
無:停止磁碟區的寫入快取
支援的平台FAS22x0、FAS3240/3270、FAS3160/3170、FAS60x0、FAS62x0、僅使用 NetApp 磁碟和 SSD 的 V 系列

若要深入瞭解如何部署和使用 NetApp 快閃集區技術,請閱讀 NetApp TR-4070:快閃集區的設計和實作指南(英文)。

Flash Accel

NetApp Flash Accel 軟體於 2012 年 8 月發表,並將於 2012 年底推出。Flash Accel 的設計宗旨是將 NetApp VST 的優點延伸到網路上,讓伺服器更完善。伺服器上若有本機 Flash 裝置,就代表您必須管理該直接連接儲存裝置。這會產生資料保護的潛在問題,也會產生隔離的資料封閉環境。伺服器以 Flash Accel 進行快取即可消除這些問題,帶來許多優勢。

  • 將 Flash 專門用來提升特定應用程式的效能:Flash Accel 可以找出對一個或少數幾個應用程式最有利的 Flash 用法,並消除本機儲存的缺點、增加處理量(最高達 80%)及降低交易延遲(最高達 90%)。
  • 不限硬體:Flash Accel 可與伺服器上任何現有的企業級 Flash 裝置(PCI-e 卡或 SSD)搭配使用。NetApp 也與 Fusion-io 簽署合約,經銷其 ioMemory 產品給還沒有任何裝置的客戶。我們也擴大聯盟合作夥伴生態系統,加入許多伺服器快取合作夥伴 (詳細資訊,請參閱最新的新聞稿)。
  • 持久耐用:在伺服器重新開機後,儲存在 Flash Accel 快取中的資料仍會繼續存在。即使遇到故障、當機之類的事件,快取一樣穩定耐用。
  • 獨一無二的快取一致性:在後端儲存設備上當還原變更的資料時,其他快取解決方案往往會傾印整個伺服器快取,導致效能因重填資料而長時間低落。NetApp Flash Accel 能夠找到已變更的區塊並予以逐出,使效能維持不變。
  • 增加 VM 密度:因為 VM 和應用程式的執行更順暢,處於等待資源的時間較少,您可以真正增加每部伺服器的 VM 數量,通常可額外增加 5 至 10 部 VM。
  • 提升後端儲存設備的效率:測試顯示,與相同組態和工作負載而未啟用 Flash Accel 的情況相比,Flash Accel 可提升 40% 的後端儲存效率。如此也能減少後端儲存所需的資源,釋出資源以支援其他工作負載。
  • 低成本:Flash Accel 只需要約 0.5% 的 ESX 主機記憶體資源。
  • 資料保護:儲存在伺服器端快取中的資料也會儲存在 NetApp 儲存設備上,後者會以標準 NetApp 方法為資料提供保護。

第一版的 Flash Accel 適用於 VMware® vSphere® 5.0 或更新版本以及 Windows® VM。未來的版本將擴大支援更多 VM、其他 Hypervisor 和裸機。

Flash Accel 的運作方式

Flash Accel 由三個元件組成:

NetApp vCenter VSC 外掛程式:Flash Accel 的組態和管理是透過在 VMware vCenter™ 中執行的 NetApp Virtual Storage Console (VSC) 外掛程式來進行。此外掛程式讓您可以:

  • 安裝和設定 ESX Hypervisor 外掛程式驅動程式。
  • 安裝和設定來賓 Flash Accel 代理程式。
  • 探索 ESX 主機上的 Flash SSD 裝置。
  • 設定 ESX 主機上的一或多個 SSD 或其他 Flash 裝置,以供 Flash Accel 使用。
  • 啟用 / 停用主機上的快取。
  • 調整來賓 VM 上的快取大小。
  • 報告目前的快取狀態和效能指標。

Flash Accel Hypervisor 外掛程式(安裝在 ESX 主機上):Hypervisor 外掛程式安裝在 ESX 主機上,可根據您定義使用 VSC 的組態,來控制本機連接的裝置(如 SSD)和儲存陣列路徑。此外掛程式會建立邏輯裝置,並以 SCSI 裝置的樣貌呈現給 ESX 儲存堆疊。若在多部 ESX 主機上以相同 WWN 建立邏輯裝置,ESX 可將它們視為共用裝置,因此使用這些裝置的 VM 就能參與 vMotion® 和 VMware HA 作業。除了能夠移轉 VM,Hypervisor 外掛程式還可管理 Flash 裝置,以及啟用動態資源共享和快取區塊重複資料刪除。

Windows VM 中的 Flash Accel 代理程式:這是在 Windows 來賓 VM 實作使用者層級的代理程式。此代理程式可以:

  • 傳遞組態給篩選器驅動程式。
  • 啟用 / 停用一或多個裝置或整個 VM 的快取。
  • 將效能指標傳達給 VSC。
  • 與其他資料管理軟體整合,例如 SnapDrive® 和 SnapManager® 技術。

服務代理程式會將網路服務匯出至 VSC,並透過 Windows PowerShell™ cmdlet 與磁碟機通訊。

Flash Accel 包含在每個 VM 中執行的代理程式以及VMware vSphere 的外掛程式,而且可從在 vCenter 中執行的 NetApp VSC 加以控制。它會使用 ESX 主機上任何可用的 PCI-e Flash 卡或 SSD。

圖 4)Flash Accel 包含在每個 VM 中執行的代理程式以及VMware vSphere 的外掛程式,而且可從在 vCenter 中執行的 NetApp VSC 加以控制。它會使用 ESX 主機上任何可用的 PCI-e Flash 卡或 SSD。

如圖 4 所示,Flash Accel 會使用 ESX 伺服器上的本機 Flash 資源來提供 Windows 虛擬機器的快取層。Flash 裝置可由 ESX 主機上的多個 VM 共享,讓每部 VM 都有自己的本機快取。

所有來自 VM 的讀取都會快取到本機以供重複使用,進而減輕未來從後端儲存設備讀取的負荷。寫入則是透過後端儲存設備寫入,但可以從快取重複寫入。

Flash Accel 快取分成兩個主要部分:快取作業和儲存管理程式。

  • 快取作業層負責實作透過快取傳送 I/O 要求的介面;包括將傳入的 I/O 要求轉譯為數個 4KB I/O 要求,在快取和(或)主要儲存伺服器之間進行往返傳送。整個快取作業層都在 Windows 篩選器驅動程式中實作。
  • 儲存管理程式負責在 Flash 上配置中繼資料和快取的資料區塊,以及持續實作。只有快取作業層能呼叫這個模組。儲存管理程式位於篩選器驅動程式中,由 Hypervisor 初始化、設定及管理 Flash 裝置。

資料一致性是 Flash Accel 最重要的特點。若在沒有通知 Flash Accel 的情況下變更後端資料,有可能使快取資料和後端資料不同步。這會導致快取傳回給應用程式 / 使用者的資料不正確,造成資料損毀。有兩種情況會產生資料一致性問題。

  • 線上資料修改(此時是在頻內修改資料):當裝置裝載 / 卸載 / 開機時,Flash Accel 會檢查不一致的狀況,其做法是比較快取的中繼資料與儲存系統中的資料,找出不一致之處,並且視情況讓區塊失效。NetApp 儲存設備上應用程式資料的 SnapRestore® 作業就是這種例子。在兩次檢查之間,因為 Data ONTAP 不會在 VM 主動使用資料時修改資料,所以不會發生不一致問題。不支援頻外修改(即系統管理員以儲存裝置不知道的方法更新執行中的 VM)。
  • 離線資料修改(例如 VMDK / LUN 還原):Flash Accel 採取相同的做法,比較快取的中繼資料和後端儲存設備上的資料,並在必要時讓區塊失效。使用 SnapRestore 還原整個 VM 就是其中一個例子。

在這種情況下,Flash Accel 的優點是它只會讓改變的區塊失效,而保留所有未變更的區塊。發生類似這樣的情況時,其他的解決方案會完全捨棄所有快取的資料,然後重新擷取整個快取。視資料而定,這可能花上數小時至數天不等,而這段期間的效能會大打折扣。

Flash Accel 的效能

我們在相同的組態下,比較在具有和沒有 Flash Accel 的情況下使用 JetStress 的效能,其中 JetStress 會模擬 Microsoft® Exchange 所建立的磁碟 I/O 負載。加入 Flash Accel 的結果顯示讀取和寫入的 I/O 效能約提升 77%。因為應用程式讀取主要是由 Flash Accel 負責,後端儲存設備較不易被讀取佔用資源,因此可提供更好的寫入效能,進而讓應用程式的整體效能大幅改善。結果如圖 5 所示。

使用 JetStress 模擬 Exchange 工作負載,Flash Accel 可使讀取和寫入 I/O 提升約 77%。

圖 5)使用 JetStress 模擬 Exchange 工作負載,Flash Accel 可使讀取和寫入 I/O 提升約 77%。

選擇 VST 選項

選出最適合的一或多個 VST 層級,可以最低的成本加速處理所有需要加速的工作負載,等同於讓您的 Flash 投資產生最大報酬。

  • 伺服器層級(Flash Accel):加速在特定 ESX 主機上執行的一或多個 VM。
  • 磁碟子系統層級(Flash Pool):加速處理每一個集合體的工作負載。
  • 控制器層級(Flash Cache):加速處理與儲存控制器有關的所有工作負載。

換句話說,在共享的儲存基礎架構中,伺服器層級的工作特異性最大,控制器層級則最少。若只需要加速處理一種工作負載,則伺服器層級的 VST 是不錯的選擇。若需要加速處理所有的工作負載(而且可能從效能導向轉為容量導向的磁碟),則應選擇磁碟子系統層級或控制器層級。

針對新的部署,建議從快閃快取或快閃集區技術著手,如果必須為對於延遲相當敏感的應用程式提供更高效能,可再加入 Flash Accel。

在面臨快閃快取和快閃集區的抉擇時,下列各點有助於總結二者的同異之處。

  • 快閃集區和快閃快取皆提供隨機讀取快取,皆可完全感知重複資料刪除以獲得最高的空間效率。
  • 快閃集區需要安裝,並以集合體為單位支援工作負載。快閃快取則可套用至控制器上的所有工作負載。
  • 快閃快取為隨插即用,快閃集區則需要一些簡單的設定,之後便可自我管理。
  • Flash Pool 快閃集區:
    • 將 I/O 負荷分攤到 SSD,以利重複的隨機讀取。
    • 受 RAID 保護。
    • 在接管事件後維持效能不變。
    • 支援整個 FAS 產品組合,包括 FAS2200 系列。

一般而言,快閃集區是任務關鍵應用程式的理想選擇,因為在接管事件後其優點仍然存在。它也是覆寫率高的應用程式所偏好的選擇,而且是 FAS2200 系列的唯一選項。因為與主要記憶體相似,快閃快取也具備高效能檔案服務的優勢。

雖然您可在同一個儲存系統上同時安裝快閃集區和快閃快取,但一般來說,這麼做的優點並不顯著。已啟用快閃集區的集合體中的資料區塊,絕對不會在快閃快取中快取。

結論

NetApp 為 VST 引進快閃集區和快閃快取,讓您有兩種 Flash 運用方法來最佳化 I/O 效能。總括而言,您只要記住:

  • 快閃快取讓一切變快。
  • 快閃集區讓集合體變快。
  • Flash Accel 讓應用程式變快。

您可以組合各種層級,以得到最好的整體效能,同時降低您的投資成本。不論選擇哪一種,一旦安裝了 VST,幾乎就沒什麼需要管理的地方。如果必要,您可以微調部署,但預設設定在大部分案例中都能運作得很好,而且成效卓著。

 對 VST 有任何意見?

您可以透過網路,在 NetApp 社群上提出問題、交換意見,並分享您的想法。

作者:Jay White 和 Chittur Narayankumar|技術行銷工程師

Kumar 已加入 NetApp 超過 11 年,目前是 Flash Accel 團隊的一員。他曾撰寫數篇與 NetApp 儲存設備的訊息傳遞及協同作業有關的技術報告和 Solution Builder 文件。

Jay 是 Data ONTAP 團隊的技術行銷工程師,負責快閃集區、系統效能、大量檔案環境。他曾撰寫過數篇與 NetApp 儲存子系統、恢復功能、RAID 及其他內容相關的技術報告和 FAQ。

Tech OnTap
立即訂閱
Tech OnTap 每月提供 IT 見解,並有大量可助您瞭解真實世界的最佳實務做法、工作祕訣與工具、幕後工程訪談、示範、同儕評論,及更多其他相關資訊。

請到 NetApp 社群中瀏覽 Tech OnTap,立即訂閱這份實用資訊。

瀏覽
瀏覽
Cluster-Mode 和虛擬儲存層

本文提及的 VST 技術可與以 Cluster-Mode 運作的 Data ONTAP 8 搭配使用,提供終極的擴充性、靈活度和高效能。本期 Tech OnTap 收錄 Vaughn Stewart 的文章,介紹如何使用 Cluster-Mode 將業務關鍵應用程式虛擬化。請閱讀有關 Cluster-Mode 的所有最新 Tech OnTap 文章。

瀏覽
 
TRUSTe
與我們連絡   |   如何購買   |   意見反應   |   工作機會  |   訂閱   |   隱私權政策   |   © 2012 NetApp