楓林 發(fā)表于:13年08月26日 00:14 [原創(chuàng)] DOIT.com.cn
介紹
通常在討論不同RAID保護類型的性能的時候,結(jié)論都會是RAID-1提供比較好的讀寫性能,RAID-5讀性能不錯,但是寫入性能就不如RAID-1,RAID-6保護級別更高,但寫性能相對更加差,RAID10是提供最好的性能和數(shù)據(jù)保護,不過成本最高等等。其實決定這些性能考慮的因素很簡單,它就是RAID Write Penalty(寫懲罰)。本文從原理上解釋了不同RAID保護級別的寫懲罰,以及通過寫懲罰計算可用IOPS的方法。
更多信息
RAID-5 Write Penalty的例子:
存儲方案規(guī)劃的過程中,最基本的考慮因素有兩個,性能和容量。性能上的計算看可以分為IOPS和帶寬需求。計算IOPS,拋開存儲陣列的緩存和前端口不談。計算后端物理磁盤的IOPS不能簡單的把物理磁盤的最大IOPS相加而獲得。原因是,對于不同的RAID級別,為了保證當有物理磁盤損壞的情況下可以恢復(fù)數(shù)據(jù),數(shù)據(jù)寫入的過程中都需要有一些特別的計算。比如對于RAID-5,條帶上的任意磁盤上的數(shù)據(jù)改變,都會重新計算校驗位。如下圖所示,一個7+1的RAID-5的條帶中,七個磁盤存儲數(shù)據(jù),最后一個磁盤存儲校驗位。
對于一個數(shù)據(jù)的寫入,我們假設(shè)在第五個磁盤上寫入的數(shù)據(jù)為1111,如下圖所示。那么整個RAID-5需要完成寫入的過程分為以下幾步:
1.讀取原數(shù)據(jù)0110,然后與新的數(shù)據(jù)1111做XOR操作: 0110 XOR 1111 = 1001
2.讀取原有的校驗位0010
3.用第一步算出的數(shù)值與原校驗位再做一次XOR操作: 0010 XOR 1001 = 1011
4.然后將1111新數(shù)據(jù)寫入到數(shù)據(jù)磁盤,將第三步計算出來的新的校驗位寫入校驗盤。
由上述幾個步驟可見,對于任何一次寫入,在存儲端,需要分別進行兩次讀+兩次寫,所以說RAID-5的Write Penalty的值是4。
不同RAID級別的Write Penalty:
下表列出了各種RAID級別的Write Penalty值:
RAID-0:直接的條帶,數(shù)據(jù)每次寫入對應(yīng)物理磁盤上的一次寫入
RAID-1和10:RAID-1 和RAID-10的寫懲罰很簡單理解,因為數(shù)據(jù)的鏡像存在的,所以一次寫入會有兩次。
RAID-5:RAID-5由于要計算校驗位的機制存在,需要讀數(shù)據(jù)、讀校驗位、寫數(shù)據(jù)、寫校驗位四個步驟,所以RAID-5的寫懲罰值是4。
RAID-6:RAID-6由于有兩個校驗位的存在,與RAID-5相比,需要讀取兩次校驗位和寫入兩次校驗位,所以RAID-6的寫懲罰值是6。
計算IOPS:
根據(jù)上文的描述,在實際存儲方案設(shè)計的過程中,計算實際可用IOPS的過程中必須納入RAID的寫懲罰計算。計算的公式如下:
物理磁盤總的IOPS = 物理磁盤的IOPS × 磁盤數(shù)目
可用的IOPS = (物理磁盤總的IOPS × 寫百分比 ÷ RAID寫懲罰) + (物理磁盤總的IOPS × 讀百分比)
假設(shè)組成RAID-5的物理磁盤總共可以提供500 IOPS,使用該存儲的應(yīng)用程序讀寫比例是50%/50%,那么對于前端主機而言,實際可用的IOPS是:
(500 ×50% ÷ 4)+ ( 500 * 50%) = 312.5 IOPS
本文作者為EMC中文技術(shù)社區(qū)(https://community.emc.com/go/chinese)技術(shù)版主。
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.