金鑫
【摘要】當(dāng)今信息技術(shù)和存儲(chǔ)技術(shù)的不斷發(fā)展,作為數(shù)字化平臺(tái)的基礎(chǔ)“盤(pán)陣”的種類(lèi)越來(lái)越多,隨著SAS盤(pán)、近線SAS盤(pán)以及萬(wàn)兆NAS技術(shù)的逐步發(fā)展,光纖盤(pán)逐漸推出了舞臺(tái)。電視臺(tái)高清非編及媒資的存儲(chǔ)平臺(tái)有著極大的帶寬要求,如何選擇和實(shí)現(xiàn)高帶寬成為了難題。
【關(guān)鍵詞】盤(pán)陣 SAS 近線SAS 條帶
近年來(lái),磁盤(pán)陣列提供了各種磁盤(pán)種類(lèi)來(lái)滿(mǎn)足不同的需求,電視臺(tái)作為媒體資源的制作和發(fā)布者需要有大量的素材資源進(jìn)行編輯和存儲(chǔ),構(gòu)建非編或媒資網(wǎng)絡(luò)時(shí)選擇一款適合自己的盤(pán)陣以及提供穩(wěn)定的高帶寬至關(guān)重要。下面我將結(jié)合我臺(tái)的實(shí)際應(yīng)用來(lái)闡述幾個(gè)能影響磁盤(pán)陣列性能的因素:
一. SAS與SATA及近線SAS的區(qū)別
大家都知道SATA是Serial ATA的縮寫(xiě),即串行ATA,這是一種完全不同于并行ATA的新型硬盤(pán)接口類(lèi)型。SAS(Serial Attached SCSI)即串行連接SCSI;SAS是并行SCSI接口之后開(kāi)發(fā)出的全新接口,此接口的設(shè)計(jì)是為了改善存儲(chǔ)系統(tǒng)的效能、可用性和擴(kuò)充性,并且提供與SATA硬盤(pán)的兼容性。說(shuō)到這,大家也許就明白了,SATA接口的開(kāi)發(fā)是為了取代原有的ATA接口,支持熱拔插,提高傳輸速度等。而SAS是全新借口的SCSI,為企業(yè)級(jí)用戶(hù)設(shè)計(jì),SAS的接口技術(shù)可以向下兼容SATA。
近線SAS簡(jiǎn)單來(lái)講其實(shí)就是SAS接口,SATA的盤(pán)底。所以它的硬盤(pán)轉(zhuǎn)速是跟SATA一樣只有7200轉(zhuǎn),但是接口速度跟SAS一樣有6Gbps,所以還是有SAS的尋址迅速、傳輸率高的優(yōu)點(diǎn)。
SATA畢竟只是ATA,所以SATA雖然在單任務(wù)的測(cè)試中不比SCSI差,但面對(duì)大數(shù)據(jù)吞吐量的服務(wù)器,還是有差距的。除了速度之外,面對(duì)多任務(wù)數(shù)據(jù)讀取,硬盤(pán)磁頭頻繁地來(lái)回?cái)[動(dòng),使硬盤(pán)過(guò)熱是SATA最大的問(wèn)題。SAS具有強(qiáng)大SCSI指令集(包括SCSI指令隊(duì)列)、雙核處理器(對(duì)比SATA使用的單核處理器,即使有SATA硬盤(pán)使用雙核處理器,性能也相差甚遠(yuǎn)),以及對(duì)硬件順序流處理的支持。 SAS硬盤(pán)支持雙向全雙工模式,為同時(shí)發(fā)生的讀寫(xiě)操作提供了兩路活動(dòng)通道。相比之下,SATA只能提供單通道和半雙工模式,無(wú)疑弱了不少。如圖1:
我臺(tái)在對(duì)磁盤(pán)陣列的磁盤(pán)做測(cè)試時(shí):當(dāng)讀寫(xiě)線程少,近線SAS基本能和SAS提供相同的帶寬,且單塊盤(pán)波動(dòng)值范圍接近;當(dāng)同樣使用Sanagy客戶(hù)端50個(gè),每個(gè)寫(xiě)入為1G,單塊近線SAS盤(pán)的延時(shí)波動(dòng)明顯幅度高,而隨著數(shù)量逐步增加達(dá)到控制器緩存極限時(shí),總的輸出帶寬也沒(méi)有SAS高;當(dāng)寫(xiě)入和讀取同時(shí),延時(shí)會(huì)更高。如圖2:
經(jīng)過(guò)多次的類(lèi)似測(cè)試,我臺(tái)非編網(wǎng)使用了SAS盤(pán)的盤(pán)陣,媒資網(wǎng)采用了近線SAS的盤(pán)陣。主要依據(jù)是:SAS的雙工模式能更穩(wěn)定更持久的提供非編網(wǎng)反復(fù)讀寫(xiě)的帶寬,而近線SAS能提供媒資網(wǎng)近線存儲(chǔ)的大容量空間和相對(duì)少的并發(fā)讀寫(xiě)。
二. 條帶化的設(shè)置
盤(pán)陣中磁盤(pán)的讀寫(xiě)有別于單塊硬盤(pán)的讀寫(xiě),為了獲得高帶寬,對(duì)盤(pán)陣磁盤(pán)的讀寫(xiě)往往是通過(guò)條帶對(duì)整個(gè)條帶組中的盤(pán)進(jìn)行讀寫(xiě)。
條帶化(Striping)是把連續(xù)的數(shù)據(jù)分割成相同大小的數(shù)據(jù)塊,把每段數(shù)據(jù)分別寫(xiě)入到陣列中不同磁盤(pán)上的方法。目的是為了讓所有的磁盤(pán)均勻的活動(dòng),以避免出現(xiàn)單個(gè)磁盤(pán)或RAID可能 90%的busy,余下的可能低于10%的 busy。
首先我們來(lái)認(rèn)識(shí)下條帶,RAID級(jí)別也會(huì)出現(xiàn)條帶的概念,我們常用的raid1+0,其中的0指的就是條帶。RAID 0原理是把連續(xù)的數(shù)據(jù)分散到多個(gè)物理磁盤(pán)上存取。這樣,系統(tǒng)有數(shù)據(jù)請(qǐng)求就可以被多個(gè)磁盤(pán)并行的執(zhí)行,這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,比較顯著提高磁盤(pán)整體存取性能。當(dāng)用操作系統(tǒng)組建動(dòng)態(tài)磁盤(pán)時(shí)使用帶區(qū)卷方式,是由2個(gè)或多個(gè)磁盤(pán)中的空余空間組成的卷,在向帶區(qū)卷中寫(xiě)入數(shù)據(jù)時(shí),數(shù)據(jù)被分割成固定大小的數(shù)據(jù)塊,然后同時(shí)向陣列中的每一 塊磁盤(pán)寫(xiě)入不同的數(shù)據(jù)塊。這個(gè)過(guò)程顯著提高了磁盤(pán)效率和性能,但是,帶區(qū)卷 不提供容錯(cuò)性。也就是通常說(shuō)的軟RAID0。 .
盤(pán)陣的條帶化可以在做RAID的時(shí)候?qū)崿F(xiàn),但在電視臺(tái)非編網(wǎng)或者媒資網(wǎng)的SAN架構(gòu)中,往往是采用獨(dú)立的磁盤(pán)管理軟件來(lái)實(shí)現(xiàn)更好的帶寬質(zhì)量和負(fù)載均衡、多通道并發(fā),從而發(fā)揮SAN網(wǎng)絡(luò)架構(gòu)的優(yōu)勢(shì)。我臺(tái)非編網(wǎng)絡(luò)中使用了StorNext磁盤(pán)管理軟件,如圖3是StorNext下文件系統(tǒng):
結(jié)合臺(tái)里非編網(wǎng)絡(luò)的實(shí)際應(yīng)用情況,將Fsblock Size設(shè)置為16K,對(duì)應(yīng)的JournalSize應(yīng)為16M,更適合非編網(wǎng)絡(luò)視頻文件都是大文件的情況。如圖4:
同時(shí)將元數(shù)據(jù)、日志與數(shù)據(jù)在Raid Group層面進(jìn)行分離。讓其使用不同的Raid Group。因?yàn)樵獢?shù)據(jù)、日志都是很小的文件,讀寫(xiě)和較頻繁且不是連續(xù)的I/O,而數(shù)據(jù)都是大文件,其讀一般為連續(xù)I/O。元數(shù)據(jù)、日志信息存儲(chǔ)的LUN其Block size最好采用較小的數(shù)值如:512K。
三. 如何通過(guò)增加盤(pán)數(shù)量而提供更高的帶寬
從廣義上講,只要盤(pán)箱控制器能提供足夠的帶寬,盤(pán)的數(shù)量越多,讀寫(xiě)帶寬也會(huì)相應(yīng)增加。但實(shí)際操作中,由于RAID中的盤(pán)數(shù)量越大,所占控制器CPU資源也越多,一般單個(gè)RAID中不超過(guò)9塊硬盤(pán),想通過(guò)單個(gè)RAID的盤(pán)數(shù)量的增加來(lái)提高IO的帶寬是不現(xiàn)實(shí)的。
辦法是通過(guò)磁盤(pán)管理軟件中條帶組(StripeGroup)功能來(lái)實(shí)現(xiàn)。對(duì)多個(gè)LUN進(jìn)行綁定,進(jìn)行文件級(jí)的RAID,這樣既減少了控制器的負(fù)擔(dān),又提高了IO的效率。在我臺(tái)實(shí)際應(yīng)用中,我們發(fā)現(xiàn)StripeGroup下LUN的數(shù)量為2-4個(gè)最佳,LUN的大小盡量一致,這樣磁盤(pán)的性能能達(dá)到最佳。下圖是我臺(tái)其中一個(gè)文件系統(tǒng),文件系統(tǒng)中有3個(gè)StripeGroup,如圖5:
經(jīng)過(guò)長(zhǎng)期的測(cè)試,除了以上三種因素能影響盤(pán)陣的性能與帶寬,其它如盤(pán)陣的AV模式針對(duì)大文件讀寫(xiě)的優(yōu)化、盤(pán)陣的數(shù)據(jù)池(pooldata)等對(duì)盤(pán)陣性能與帶寬都有影響。因此,不同的硬件平臺(tái)、不同的磁盤(pán)管理軟件、不同的網(wǎng)絡(luò)壞境中往往具體參數(shù)都會(huì)根據(jù)自己的實(shí)際情況進(jìn)行調(diào)整。以上是吳江電視臺(tái)在非編媒資網(wǎng)絡(luò)應(yīng)用中的一點(diǎn)心得體會(huì),不當(dāng)之處敬請(qǐng)指正。B&P