20、【華為HCIE-Storage】--Smart Qos
------------------------------------重要說明------------------------------------
以下部分內容來網絡,部分自華為存儲官方教材
具體教材內容請移步華為存儲官網進行教材下載
網絡引用內容無法找到原創,如有侵權請通知
------------------------------------重要說明------------------------------------
Smart Qos特性,分配存儲系統關鍵資源來滿足某些應用程序的特定性能要求,從而保障不同業務的服務質量。
① 原理描述
存儲系統利用基於LUN的I/O優先級調度和應用程序I/O的隊列管理
系統關鍵資源包括:前端並發資源、後端硬盤並發資源、 CPU計算資源、緩存資源。
隨著存儲系統容量持續增大,將多個應用程序部署在同一臺存儲設備上的需求也在逐步增加。將多個應用程序部署在同一臺存儲設備可以簡化用戶的存儲系統架構,但多個應用程序並存相互爭搶資源,會導致各業務的性能都受到影響。通過SmartQos特性可以為不同的業務指定不同的性能目標,以滿足關鍵業務的運行。用戶可以通過設置I/O優先級,創建流量控制策略兩種方式來保證關鍵應用程序的性能。
a. IO優先級調度管理
IO優先級是基於LUN的優先級進行控制,LUN的優先級由用戶根據部署在該LUN上的業務重要性來制定。
每個LUN都有一個優先級屬性,這個屬性由用戶配置並保存在存儲系統中。當一個I/O進入存儲系統,這個I/O將會根據其所操作的LUN來獲得這個優先級屬性,並且在整個I/O下發過程中都攜帶這個優先級信息。
① 應用服務器下發I/O請求。
② 系統根據I/O所操作的LUN的優先級,將優先級屬性分配給I/O。
③ 系統將不同優先級的I/O分配至相應的隊列,即優先級為高的I/O進入高優先級I/O隊列;優先級為中的I/O進入中優先級隊列;優先級為低的I/O進入低優先級隊列。當系統資源緊張時,系統優先處理高優先級I/O,從而使高優先級應用程序獲得更好的性能。
④ 處理出隊的I/O請求。
I/O優先級調度主要是對存儲系統資源進行調度, 主要調度的資源包括並發資源、 CPU計算資源和緩存資源。
IO優先級調度主要是對關鍵系統資源進行調度,主要調度的資源包括前端主機並發資源,後端主機並發資源,後端硬盤並發資源,CPU計算資源和緩存資源。
前端主機並發資源:在並發資源不足時(如當前並發已占系統並發的90%),將優先接收高優先級的I/O,而拒絕低優先級的I/O,以保證高優先級業務獲得更多並發數。
後端硬盤並發資源:當硬盤占用率過高時,為保證硬盤可靠性,系統將給低優先級I/O加時延來控制,而盡量不影響高優先級I/O。
CPU計算資源: CPU計算資源的優先級調度主要通過CPU運行時間的分配來實現。系統會根據不同優先級LUN的權重來分配不同優先級的業務占用的CPU運行時間。當CPU成為系統性能瓶頸時,會通過優先級的調度滿足高優先級業務獲得更多的CPU運行時間。
緩存資源:系統會根據不同優先級LUN的權重對不同優先級的I/O請求進行調度,優先滿足較高優先級業務的緩存分配請求。
1) 前端並發資源的優先級控制
前端並發資源的優先級控制在讀寫請求分配系統資源之前進行。在系統中,SmartQos針對每一個優先級的並發數維護一個計數值,當一個IO請求進入存儲系統後,首先要從SmartQos申請並發數,SmartQos會根據其占用的並發資源折算出一個並發數,並將此並發數累加到這個IO對應的優先級並發計數值上。當此IO被系統處理完成,在返回主機之前,其占用的並發數會從相應的並發計數中減除。
Smart Qos會根據一定規則對優先級的並發進行動態調整,以最大化並發資源利用率。初始時,系統為每個優先級分配較少數量的並發,剩余的並發置於公共並發池當中,當某個優先級並發不夠時,可以從並發池中獲取,知道池中沒有並發為止;同時,各優先級多余的並發也會即使歸還到並發池中。當高優先級出現並發不足,且沒達到其對應的最大並發數時,會強制其他優先級歸還並發資源。
每個優先級對應的並發計數值反映了這個優先級的業務在存儲系統上占用的並發資源的數量。當每個優先級的並發計數值達到預設的最大值時, SmartQoS會將這個IO請求掛入對應的優先級隊列中排隊等待,直到有IO返回,有空閑的並發資源後,再從隊列中依次取出IO請求進行處理。同時,系統還維護了一個系統總並發計數和單個LUN的總並發計數,當其中一個達到最大限制時, SmartQoS會拒絕這個IO請求,系統返回給主機繁忙信息,告知主機當前存儲系統已經達到最大處理能力,此IO需要等待重試。
2) 硬盤資源優先級控制
Smart Qos特性對於磁盤資源的控制,主要是通過BDM(塊設備管理)側引入優先級調度機制,通過BDM的PEE(優先級向前電梯)算法,來保證高優先級的IO能夠被優先調度訪盤。
3) CPU計算資源優先級控制
計算資源主要指系統中CPU的運行時間。當一個IO請求在需要獲得CPU處理的時候,會根據其所攜帶的優先級信息被投入到相應的優先級等待隊列中去,Smart Qos根據IO調度算法每次從一個優先級等待隊列中取出一個IO請求進行處理。
Smart Qos對CPU計算資源的控制是基於權重的優先級調度策略來實現的,調度策略會優先從高優先級的非空等待隊列選擇出隊處理的IO,即如果高優先級隊列不為空,則從高優先級隊列選取,如果高優先級的出隊個數達到其權重值,則從下一個非空的優先級隊列選擇出隊的IO。按照個規則直到低優先級,如果低優先級隊列為空或低優先級隊列的出隊個數達到其權重值,則回到高優先級選擇。
4) 緩存資源優先級控制
緩存資源主要是指存儲系統內部的Cache頁面資源,由於寫入儲存系統的數據在寫入硬盤之前都是存放在頁面資源中的,因此緩存資源的優先級控制實際上就在IO申請頁面的時候對頁面的分配進行優先級控制。
b. 流控管理
SmartQoS流控管理是基於應用程序I/O的隊列管理,通過對I/O分類隊列管理、令牌分發和出隊控制三部分實現。
控制策略包括:帶寬、IOPS、時延控制;
基於應用程序I/O的隊列管理通過令牌機制實現存儲資源的分配,某個應用程序I/O隊列所擁有的令牌數越多,系統分配給這個應用程序I/O的資源也越多,存儲系統會優先處理該應用程序I/O隊列中的I/O請求。
① 應用服務器下發I/O請求後,存儲系統將I/O入隊到相應的應用程序I/O隊列中。
② 系統根據各應用程序I/O隊列的性能目標調整隊列所持有的令牌數,通過降低低性能目標隊列的令牌數, 保證高性能目標隊列可占有的系統資源, 優先保證高性能目標應用程序的運行(系統內部為I/O出隊操作)。
存儲系統內部會將每個應用程序的性能目標轉換成所需的令牌數。例如,實現應用程序A性能目標的令牌數為300,而實現應用程序B所需的性能目標的令牌數為200。當系統資源緊張時,由於應用程序B所擁有的令牌數少,存儲系統會限制應用程序B所占有的系統資源。這樣,應用程序A可以獲得更多的系統資源,從而獲得更好的性能。
③ 處理出隊的I/O請求。
② 配置流程
a. 檢查 License 信息
步驟1 進入“ License管理”界面。
1. 在右側導航欄上,單擊 。
2. 在左側功能展示區的“查看與設置”區域,單擊“更多設置”。系統進入“更多設置”界面。
3. 單擊“ License管理”。系統進入“ License管理”界面。
步驟2 瀏覽已激活License信息。
1. 在左側導航中,選擇“已激活License”節點。
2. 在中間信息展示區瀏覽存儲設備已激活的License文件信息。
b. 配置 LUN 的 I/O 優先級
LUN的I/O優先級由用戶根據部署在該LUN上的業務重要性來指定,目前系統支持高、中、低三個優先級。
l 用戶在創建LUN的時候可以指定所創建的LUN的優先級, 如果用戶不指定所創建的LUN的優先級,則所創建的LUN將被默認賦予低優先級。
l LUN創建後,其優先級屬性可以根據用戶的需要手動修改。
步驟1 進入“ SmartQoS”配置界面。
1. 在DeviceManager管理界面右側導航欄上單擊 。
2. 在資源分配管理界面的“查看與管理”區域框中單擊“資源調優”。
3. 在“資源調優”界面,單擊“ SmartQoS”。系統進入“ SmartQoS”配置界面。
步驟2 配置LUN的I/O優先級。
1. 在“ SmartQoS”配置界面,單擊“優先級控制”頁簽。
2. 在LUN列表中,選擇需要配置I/O優先級的LUN。
3. 單擊“修改IO優先級”。系統彈出“修改IO優先級”對話框。
4. 配置LUN的I/O優先級。目前系統支持高、中、低三個優先級。
5. 單擊“確定”。系統彈出“執行結果”對話框,提示操作成功。
c. 監控業務性能
步驟1 登錄DeviceManager管理界面。
步驟2 在右側導航欄上單擊 。
步驟3 在左側信息展示區,單擊“性能監控”。進入性能監控頁面。
d. 創建流量控制策略
SmartQoS流控策略是一組調控對象(應用程序所在的LUN)以及性能目標的組合。
SmartQoS流控策略實質是一系列指令, 可以告訴存儲系統每組調控對象的性能目標以及如何去實現該性能目標。
步驟1 登錄DeviceManager。
步驟2 進入“ SmartQoS”配置界面。
1. 在右側導航欄上單擊 。
2. 在資源分配管理界面的“查看與管理”區域框中單擊“資源調優”。
3. 在“資源調優”界面,單擊“ SmartQoS”。系統進入“ SmartQoS”配置界面。
步驟3 進入“創建流量控制策略向導”對話框。
1. 在“ SmartQoS”配置界面,單擊“流量控制”頁簽。
2. 單擊“創建”。系統彈出“創建流量控制策略向導”對話框
步驟4 在“名稱”中輸入SmartQoS策略的名稱,在“描述”中輸入對此策略的簡要描述。
步驟5 選擇調控對象和控制類型。
1. 在“設置名稱”頁面單擊“下一步”。系統進入“設置控制目標”頁面。
2. 可選: 在“應用場景”選擇業務的應用場景。在“應用場景”中,系統提供了三種預置控制目標參數的配置模板。
3. 在“控制類型”中選擇該策略調控的I/O類型。
SmartQoS策略可調控的I/O類型包括:“讀I/O”、“寫I/O”和“讀I/O和寫I/O”。
4. 在“控制目標”中選擇該策略調控的性能目標,並設置相應的數值。
可調控的控制目標包括:“帶寬”、“ IOPS”和“時延”。
步驟6 配置流量控制策略的觸發策略。
1. 單擊“下一步”。系統進入“設置觸發策略”對話框。
2. 在“開始日期”文本框中設置該策略開始執行的日期。
3. 在“運行周期”區域框中設置該策略執行的周期。
存儲系統支持的運行周期包括:
l 單次:流量控制策略只會在指定的日期當天生效。
l 每周:設置每周循環的周期後,流量控制策略會從“開始日期”指定的日期後每周循環生效。
4. 在“運行時間”區域框中設置該策略執行的開始時間和持續時間。需要設置策略的“運行時間”至少大於30分鐘。
步驟7 選擇控制對象。
1. 單擊“下一步”。系統進入“選擇控制對象”對話框。
2. 在“可選LUN” 區域框中選擇該策略調控的LUN,單擊 , 將選擇的LUN移到“已選LUN”區域框中。
步驟8 確認創建流量控制策略的操作。
1. 單擊“下一步”。系統進入“信息匯總”對話框。
2. 確認流量控制策略信息。如果創建的流量控制策略正確,單擊“完成”。
3. 在“執行結果”提示框中單擊“關閉”。
20、【華為HCIE-Storage】--Smart Qos