Symmetrix性能平衡管家Optimizer的原理與配置方法

楓林 發表于:13年11月05日 16:48 [原創] 存儲在線

  • 分享:
[導讀]本文對Symmetrix Optimizer的作用和工作原理以及配置方法進行介紹,幫助讀者了解高端存儲內部的優化機制。

Symmetrix作為一個多控制器,內部安裝了上千個物理磁盤的巨無霸級存儲陣列,可以同時為幾百臺物理或者虛擬主機提供數據存取服務。而如何保證所有被服務的主機都處于最優的性能狀態,除了在鏈接主機的時候遵循“平衡”分配的原則。實際投入生產以后,Symmetrix自身也存在多種機制,保證陣列端的數據處理資源的“平衡”,Symmetrix Optimizer就是其中之一,本文對Symmetrix Optimizer的作用和工作原理以及配置方法進行介紹,幫助讀者了解高端存儲內部的優化機制。

Symmetrix Optimizer的工作原理:

Symmetrix Optimizer(后文簡稱Optimizer)的主要作用是監控Symmetrix中的邏輯卷(Device)的訪問狀態,然后將邏輯卷在不同的物理磁盤之間進行遷移,從而達到優化性能,實現陣列中分布的物理磁盤之間的性能“平衡”。它解決的問題是顯而易見,即使存儲實施前期有比較好的規劃,但是由于業務變化,可能導致某些邏輯卷的數據訪問量增大,而碰巧這些邏輯卷被創建在相同的物理磁盤上面。這里有必要再提一下Symmetrix中Hyper Volumes的概念,下圖顯示了Symmetrix中創建邏輯卷(Device),也就是通常所說的LUN,Symmetrix的做法是以將物理磁盤切片成Hyper Volume的方式,然后將Hyper Volume根據不同的RAID保護級別,圖中的八個Hyper Volume可以和其他物理磁盤上切割出來的Hyper Volume組成不同RAID級別的邏輯卷(LUN)供主機訪問。Optimizer的作用就是將Hyper Volume在物理磁盤之間進行移動,平衡負載,優化性能。

Optimizer的工作組件包含兩個部分:

•運行與Symmetrix陣列中管理服務器Service Processor中的引擎。

•用來控制Optimizer參數的管理接口,提供給Symmetrix的命令行SYMCLI和GUI的管理工具訪問。

Optimizer的工作方式分為以下幾個步驟:

1. 收集Symmetrix后端的I/O統計信息,并建立數據庫。在這個階段,Optimizer會記錄以下的性能信息:

1.邏輯卷的讀寫數量

2.邏輯卷的預讀數量

3.每秒邏輯卷的數據讀寫KB數量

這個過程中,Optimizer會記錄下所有的物理磁盤的平均服務時間。平均服務時間 = 尋址時間(Seek Time)+ 延遲(Latency)+ 傳輸時間(Transfer Time)。尋址時間(Seek Time)指得是磁頭移動到需要讀取磁道的時間。延遲(Latency)指得是磁盤旋轉所需要的時間。傳輸時間(Transfer Time)則指得是數據磁盤讀取和寫入的時間。

2. 根據上一步收集的數據,Optimizer會對物理磁盤總服務時間進行排序,確定最繁忙的物理磁盤為優先執行的候選。然后,Optimizer算法會根據邏輯卷和對應的后端物理磁盤位置,算法會嘗試通過在不同的物理磁盤上平衡I/O來最小化磁盤平均服務器時間,主要的方法有三種:

•將I/O負載在不同的物理磁盤上進行平衡。

•將負載較高的邏輯卷集中在一起,縮小尋址時間。

•將負載較高的邏輯卷移動到磁盤的外圈,而加快數據傳輸的速度。

3. 確定候選設備以后,開始執行后端的物理磁盤位置的交換。下圖演示了整個交換過程的四個步驟。這個例子中需要將011也1CF這兩個邏輯卷進行交換。第一步,DRV卷會介入,第二步,011被轉換到DRV卷上面。第三步,1CF轉移到原來011的位置。第四步,從DRV卷將011轉移到原先1CF的位置。

4. 當交換完成以后,Optimizer對下一次交換進行分析,反復這個同樣的過程。

Optimizer的配置方法:

用戶可以使用SYMCLI的命令來管理和配置Optimizer,而在這之前,需要有幾個前提:

•Symmetrix陣列內部配置了Dynamic Reallocation Volume(DRV),DRV是一個只限陣列內部使用,用戶不可訪問的邏輯卷。但是用戶可以手動創建這種設備。

•Symmetrix的邏輯卷上有空余的Mirror Position,Mirror Position是Symmetrix Enginuity用來操作邏輯卷的指針,每個邏輯卷默認有四個Mirror Position。

•Optimizer做設備交換的時候,需要加載配置鎖(Configuration Lock)保證設備交換時候的一致性。

用戶可以使用symoptmz命令來配置Optimizer,以下是一些命令的用法:

啟用和禁用Optimizer的命令:

symoptmz enabler/disable

顯示Optimizer的參數使用命令:

symoptmz -sid xxx show -parms –dp

顯示待交換的邏輯卷列表:

symoptmz show -swap_list -sid xxx -v

清除物理磁盤的性能統計信息:

symoptmz -sid xxx clear_stats

使用symoptmz結合配置文件的方式,對Optimizer進行配置,創建opt_config.txt文件,并且在文件內輸入配置命令:

set control_parms [start_mode=AUTO | MANUAL>,] [swap_mode=AUTO | USER_OK,] [min_perf_period=min_perf,] [workload_period=workload,] [max_simult_swaps=max_simult,] [swap_rate=max_swaps];

其中start_mode決定是否Optimizer會在開始以后自動運行,swap_mode指的是交換是否為自動或者用戶確認的模式,min_perf_period決定性能統計信息收集的最短時間,workload_period決定兩次交換的間隔時間,max_simult_swaps決定最大同時運行的交換活動,swap_rate指定每日允許的交換次數。

然后使用symoptmz命令進行提交:

symoptmz –file opt_config.txt commit

為特定的物理磁盤設置交換優先級別,創建opt_config.txt文件,在文件中鍵入,下面的例子中將DEV 020這個邏輯卷的交換優先級設置成HIGH。

set swap_priority HIGH for dev 020

手動進行交換動作,使用命令,比如把DEV 030和040進行交換,opt_config.txt文件中的命令為:

set dev_swap 0030 with 0040;

然后使用symoptmz命令進行提交:

symoptmz –file opt_config.txt commit

本文作者為EMC中文技術社區(https://community.emc.com/go/chinese)技術版主。如果您對本文有任何疑問和不同見解,也歡迎到EMC中文支持論壇參與討論。

[責任編輯:楓林]
楓林
存儲I/O(后文簡稱I/O)的處理過程就是計算機在存儲器上讀取數據和寫入數據的過程。本文從I/O(Block)的流向介紹,試圖解讀整個I/O流與存儲性能之間的些許聯系。本文作為一篇存儲基礎的介紹文章,幫助讀者了解看似簡單的數據讀寫中的更多細節。
官方微信
weixin
精彩專題更多
華為OceanStor V3系列存儲系統是面向企業級應用的新一代統一存儲產品。在功能、性能、效率、可靠性和易用性上都達到業界領先水平,很好的滿足了大型數據庫OLTP/OLAP、文件共享、云計算等各種應用下的數據存儲需求。
12月15日,中國閃存聯盟成立,同時IBM Flash System卓越中心正式啟動
DOIT、DOSTOR、易會移動客戶端播報中國存儲峰會盛況。
 

公司簡介 | 媒體優勢 | 廣告服務 | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯系我們 | 會員注冊 | 訂閱中心

Copyright © 2013 DOIT Media, All rights Reserved.

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走