Quantcast
Channel: iThome
Viewing all articles
Browse latest Browse all 31362

儲存月報第3期:儲存服務品質管理(QoS)的進化

$
0
0

過去十多年來,企業儲存完成了從孤立的直連儲存(DAS),走向集中式網路儲存架構的轉型,SAN與NAS取代了伺服器個別連接的磁碟陣列,成為儲存架構的主流。

但是將儲存負載集中到單一的SAN或NAS設備以後,也帶來了如何在眾多前端應用之間分配硬體資源的問題。

在SAN與NAS架構下,儲存設備同一時間內會收到來自數個以至數百個不同用戶、不同應用程式的存取要求,如果沒有妥善的資源分配機制,那麼儲存設備就會依照先進、先處理(first-come, first-serve)的方式來回應前端的存取要求,這種方式表面上看起來公平,實際卻會造成真正需要效能的前端應用程式,無法獲得足夠的資源。

早期的儲存QoS管理功能

對於混雜了多重負載的儲存環境來說,服務品質管理(QoS)是不可或缺的功能,可以依照不同應用的重要性,設定使用儲存資源的優先順序。

不過在5、6年以前,QoS是只有高階儲存設備才提供的進階功能,而且多半是採用設定使用資源的優先順序,搭配分派快取記憶體的方式,提供粗略的QoS管理機制。

例如EMC的儲存旗艦產品Symmetrix,便提供了Symmetrix Priority Control(SPC)、Least Recently Used(LRU)與Dynamic Cache Partitioning(DCP)等幾種QoS功能。其中SPC可設定3種優先等級,藉以調整個別Device群組的存取優先順序;LRU與DCP都是關於Cache記憶體的使用權限設定,LRU可讓特定Device群組優先更新Cache,DPC則可藉由畫分Cache分割區,確保特定Device群組可得到足夠的Cache記憶體配置量。

其他廠商也有類似的QoS功能。例如,HDS的VSP也提供了Server Priority Manager與Cache Logical Partition功能,可為個別前端主機埠設定IOPS與傳輸率上限,以及固定使用的Cache記憶體容量。另外,NetApp也為FAS系列的Data ONTAP 7作業系統中,提供了Flexshare功能,可以個別Volume為單位設定5種I/O優先等級。

新一代的儲存QoS管理機制

雖然部分高階儲存產品幾年前就能提供QoS功能,但這些早期的QoS機制仍相當粗略,用戶需要的是可預測與可保證的效能輸出,而不僅僅是含糊的I/O優先等級設定。針對這樣的需求,近3、4年出現了新一代的QoS管理機制,便提供更精細、彈性的效能調節功能。

這些QoS管理機制有幾個共同特色,首先,管理目標可精細到以個別LUN或Volume為單位;其次,在效能設定方面,允許設定具體的IOPS或傳輸速率目標數值,而不僅只於籠統的「優先等級」;更進一步,有些QoS還允許同時設定多重效能管理政策,可為一個LUN設定多種分別適用不同情境的QoS政策。

例如EMC為VNX2提供的QoS Manager工具軟體,便允許用戶以個別LUN為單位套用QoS政策,並以3種方法來設定I/O效能指標—設定IOPS、傳輸率與回應時間目標值的Cruise Control模式與Limit模式(前者是一個允許一定百分比上下浮動的數值,後者則為固定值),與Fixed Queue Depth模式設定固定的I/O等級,而且還可區分讀取或寫入I/O。

NetApp也在ONTAP 8.2版作業系統中,提供了新的Storage QoS管理軟體,可為個別Vserver、Volume與LUN,設定IOPS與傳輸速率的目標值。

更具代表性的新世代QoS管理功能,是HPE在3PAR OS 3.1.3版作業系統軟體中提供的Priority Optimization功能,可為精細到個別Virtual Volume的儲存區,設定優先等級,以及IOPS、傳輸頻寬與回應時間的最大上限與最小目標值。

不過我們見過最精細的QoS管理功能,應該是剛為NetApp收購的SolidFire,為其SF系列全快閃儲存陣列提供的QoS功能,不僅可以個別Volume為單位設定IOPS與傳輸率效能,還細分為最小、最大與爆發(burst)等3種效能設定,可適用於更多樣化的情境。

HPE 3PAR的Priority Optimization是典型的新一代儲存QoS管理軟體,可允許用戶為個別Virtual Volume儲存區設定優先等級,以及IOPS、傳輸頻寬與回應時間的最大與最小目標值。

 

VM環境下的QoS管理

我們前面提到的儲存QoS管理,都是以儲存系統的LUN或Volume為管理目標,這對於一般實體環境應用來說沒有問題,但是在虛擬化環境下,就會遇到儲存端與VM端管理目標不匹配的問題——儲存端的管理目標是LUN或Volune,但VM端存取的目標是虛擬磁碟,兩者的粒度不同,所以,套用在儲存端LUN或Volume上的QoS政策,難以適合VM端的需求。

由於儲存設備中一個掛載到Hypervisor主機上的LUN,其中可能存放了數十臺不同VM的vDisk虛擬磁碟,如果整個LUN都套用同一個QoS政策,顯然難以符合個別VM的需求,在虛擬化環境下,需要的是以個別VM為目標的QoS管理功能。

為此,有些新創廠商可藉由自身獨特的系統架構,提供從儲存端直通到VM端的QoS功能,例如Tintri VMstore儲存設備使用的Tintri OS平臺,便具備以個別VM為單位,分別設定IOPS、傳輸率與回應時間上下限的QoS管理能力。

另外,VMware也透過與vSphere 6.0一同發表的Virtual Volumes(VVols)架構,提供了一種以個別VM為管理目標,直通後端儲存設備的QoS管理手段。只要儲存設備能支援VVols架構,就能實現以個別VM等級精細度、達到「VM感知(VM-Aware)」層次的儲存QoS管理。

至於在VVols下,用戶能為個別VM使用的VVols磁碟區設定的QoS管理項目,則視不同儲存設備而定。有一些產品只提供粗略的服務等級選擇,有些產品如SolidFire,則能提供精細的設定選項。

藉由VMware的VVols架構,可實現從VM端直通儲存設備端、以個別VM儲存區為粒度的QoS管理功能。

 


Viewing all articles
Browse latest Browse all 31362

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>