亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

一些你不知道的RAID存儲知識解析
2010-02-05   網絡

早在我還是一個服務技術新手的時候,我對系統管理一無所知,我們一直想要了解的話題之一就是RAID——廉價冗磁盤陣列(Redundant Array of Inexpensive Disks)。

它是解決我們所有存儲難題的鑰匙。有了RAID,我們可以擴大文件系統,獲得更好的吞吐量甚至是增加冗余性,讓我們幸免于磁盤丟失事件,尤其是在那 些經常發生此類事件的日子里。

隨著NAS和SAN存儲應用的出現,使用物理存儲的技巧和利用這些技巧來滿足系統需求快速地消失了。這并不是一件好事。因為我們將存儲卸載到外置設 備上的做法并沒有改變這樣一個事實,我們需要從根本上了解我們的存儲情況,通過配置存儲來滿足系統的特定需求。

最近五到十年似乎出現這樣一種誤解,認為RAID可以等同于系統備份。而事實并非如此。RAID只是容錯的一種形式。

備份和容錯從概念上來講是完全不同的。備份讓我們可以在災難發生之后實施恢復。而容錯旨在降低災難發生的幾率。容錯就像是在懸崖上搭建一個防護網, 而備份就像是懸崖下面建造一座醫院。你恐怕永遠也不像想既沒有防護網也沒有醫院,但他們是完全不同的兩個事物。

一旦我們為驅動器部署了RAID,不管是本地附加還是在存儲網絡中的遠程應用,現在我們有四種主要的RAID解決方案可以用于業務中:RAID 1(鏡像)、RAID 5(帶校驗的磁盤條帶)、RAID 6(帶雙重校驗的磁盤條帶)以及RAID 10(帶有條帶的鏡像)。

還有其他類型的等解決方案,例如RAID 0,但如果你真正了解你的驅動器子系統需求,那么你就知道這些只能用于少數環境中。另外人們使用的還有RAID 50和RAID 51,但是更加少見,而且效率并不那么高。十年前,RAID 1和RAID 5是很常見的,但是今天我們已經有了更多的選擇。

下面讓我們來逐個分析這些選擇并討論一些基本的數據。在我們的例子中,我們將使用“n”來代表陣列中的驅動器數量,“s”代表任何單個驅動器的大 小,以此來表示一個陣列的可用存儲空間,更直觀地進行存儲容量對比。

RAID 1

這種類型的RAID是對驅動器進行鏡像。你有兩個驅動器,它們同時在一起做所有事情,因此稱做“鏡像”。因為這個過程非常簡單,所以鏡像是非常穩定 的,但是如果你之前從來沒有使用過RAID的話,這就要求你必須購買是實際需要兩倍的驅動器,因為第二個驅動器作為冗余之用。

RAID 1的好處在于你可以確保寫入到磁盤中的每個字位都被寫入兩遍以達到保護的目的。因此,使用RAID 1我們的存儲容量應該是(n*s/2)。RAID 1比非RAID驅動器性能要略高一些,寫入速度接近于非RAID系統,而讀取速度幾乎是大多數情況下的兩倍,因為在讀取操作過程中驅動器可以并行地進行訪 問,從而提高了吞吐量。RAID 1限制于兩個驅動器。

RAID 5

帶校驗的磁盤條帶。在這種類型的RAID中,數據以復雜條帶的形式寫入到陣列中的所有驅動器中,同時所有驅動器中都有分布數校驗塊。這樣RAID 5就可能使用三個或者更多磁盤組成的任意大小的陣列,只犧牲相當于一個磁盤的存儲容量用于校驗。但是這種校驗是分布式的,并不單獨存在于任何一個物理磁盤 中。

RAID 5由于在大型陣列中犧牲的存儲容量較少,所以它具有成本效益的特點,從而被人們所廣泛使用。與鏡像不同的是,帶有校驗的條帶要求必須在磁盤之間進行針對每 個寫入條帶的計算,這造成了一部分的開銷。因此,吞吐量并不總是一個容易計算的項目,它在很大程度上取決于系統在做校驗計算時候的計算能力。

計算RAID 5的容量非常簡單:就是((n-1)*s)。RAID 5陣列可以避免這列中任何單個磁盤的丟失。

RAID 6

帶雙重校驗的磁盤條帶。RAID 6與RAID 5非常相似,但它的每個條帶使用兩個校驗塊,而不是一個,這加強了應對磁盤故障的保護能力。

RAID 6是RAID家族中的新成員。RAID 6是其他幾個RAID類型實現標準化幾年之后增加的。RAID 6比較特殊,因為它可以承受陣列中任意兩個驅動器的故障,同時防止數據丟失。但是為了配合額外的冗余度,RAID 6陣列需要犧牲陣列中相當于兩個驅動器的容量,并要求真列中最少有四個驅動器。RAID 6的容量可以用((n-2)*s)來計算。

RAID 10

帶條帶的鏡像。從技術上來說,RAID 10是一種混合的RAID,包括存在于一個非校驗條帶(RAID 0)中的一對RAID鏡像。

當一個陣列中只有兩個驅動器的時候,很多廠商會稱其為RAID 10(或者RAID 10+),但從技術上來說這應該是RAID 1,因為陣列中至少有四個驅動器才會發生條帶化。對于RAID 10來說,驅動器必須是一對一對添加的,因此陣列中的驅動器數量只可能是偶數。

RAID 10可以在丟失近半數驅動器組的情況下正常運轉,同是最多只能承受每個驅動器中一個驅動器發生故障或者丟失。RAID 10不包含校驗計算,這使得它相對RAID 5和RAID 6來說具有一定的性能優勢,而且陣列對計算能力的要求也更低。RAID 10提供了超過任何一種常見類型RAID的讀取性能,因為在讀取操作中陣列中的所有驅動器都可同時使用。但是RAID 10的寫入性能要低很多。RAID 10的容量計算方法和RAID 1相同,都是(n*s/2)。

在當今的企業中,很少有IT部門有迫切的需要考慮除了上述這四種RAID之外的驅動器配置,不管他們是否已經部署RAID軟件或者硬件。以 前,RAID陣列決策中最主要的一個考慮因素是可用容量。這是因為以前驅動器不僅昂貴而且容量很小。

現在,驅動器都很大因此存儲容量基本不是什么問題,至少不再像幾年前那樣,而且成本也大幅度降低,購買更多驅動器以獲得更高冗余度也不是什么難事。 當容量是主要考慮因素的時候,RAID 5是一個比較受歡迎的選擇,因為相比其他陣列類型來說,RAID 5損失的容量最少。

現在我們還有其他方面的顧慮,主要集中在數據安全和性能方面。多花一些錢來加強數據保護應該是一個顯而易見的選擇。RAID 5只能接受損失一個驅動器。對于只有三個驅動器的陣列來說,這相比RAID 1所提供的保護能力來說還要更危險一些。

我們可以接受三個驅動器中丟失任何一個驅動器。與丟失兩個驅動器中任何一個相比這并沒有那么令人害怕。但如果是一個大型陣列呢,例如16個驅動器? 能夠安全地損失16個驅動器中的一個,這的確會讓我們質疑可靠性。

這時候RAID 6填補了這一空白。RAID 6常被用于大型陣列中,損失的存儲容量和性能非常小,而且接受丟失任何兩個驅動器。帶校驗碼的條帶化RAID的支持者經常引用這些數字來安撫管理層,稱 RAID 5/6可以提供足夠“物廉價美”的存儲子系統。但是用戶還有其他因素需要考慮。

RAID 10應用

在談論RAID可靠性(很少被提及的一個話題)中,有一個幾乎被忽略掉的問題,那就是校驗計算可靠性。

對于RAID 1和RAID 10來說,不需要通過計算來創建帶校驗的條帶。數據只是以一種穩定的方式被寫入。當一個驅動器發生故障,它的另一個配對驅動器就會接過負載,在更換驅動器 之前驅動器性能可能會有一些降低。既沒有影響現有驅動器數量的重建流程,也沒有校驗條帶的重建。

帶校驗的RAID陣列操作中包括計算出結果是什么以及應該把哪些放到驅動器上。雖然這種計算很簡單,但是也有可能出錯。

RAID 1或者RAID 10出現陣列控制故障從理論上來說可能是向驅動器內容中寫入壞數據,但是控制器中并沒有一個能對其本身進行驅動器更改的流程。因此這種情況發生的幾率非常 低,因為除了創建鏡像之外系統沒有一個“重建”流程。

當帶有檢驗的陣列執行重建操作的時候,他們通常會實施一個復雜的流程,逐步檢查陣列的所有內容,將丟失數據寫回到被替代的驅動器上。對其本身來說這 是非常簡單的,而且不需要有什么擔心。

我和其他人首先注意到一個有些不同的場景,由于與陣列的連接器松動所導致的磁盤連接性的丟失。隨著時間的推移,服務器中的驅動器有可能會松動,尤其 是在一個持續運行的系統中服務好幾年以后。

在極端的情況下,當陣列控制器認為一個或者多個驅動器連續發生故障,驅動器的好數據會被壞校驗數據所覆蓋,然后重新在線并進行重建。在這種情況下, 驅動器本身并沒有發生故障,而且也沒有數據丟失。理論上來時需要的只是重新調整驅動器的位置就可以。

在熱插拔系統中,驅動器重建管理往往是根據故障驅動器的移除或者更換規則而實現自動化的。因此,這種丟棄和更換驅動器的流程可以在沒有任何人為干預 的情況下進行。在這個過程中,驅動器系統面臨風險,如果驅動器陣列再次發生這種情況,根據驅動器的狀況,系統開始對壞數據進行條帶化,覆寫好的文件系統。

對于服務器管理員來說,最令人沮喪的事恐怕是看到沒有驅動器故障的系統僅僅因為不必要的重建操作而丟失整個陣列。

從理論上來說,這種情況是不會發生的,而且有專門的人員會預防這種情況的發生。但是判斷底層驅動器控制器當前和過去的情況以及保存數據的質量并非表 面上看到的那樣容易,而且有可能會發生錯誤。

雖然不太可能,但是這種情況還是會發生的,同時也讓RAID 5和RAID 6系統風險計算變得難上加難。除了陣列可以接受驅動器故障之外,我們必須考慮校驗故障的風險。隨著驅動器可靠性不斷提高,校驗故障風險的重要性也突顯出 來。

除此之外,因為校驗計算的緣故,RAID 5和RAID 5校驗還給系統帶來更多開銷。校驗計算一般是通過高級RAID硬件來處理的。這種計算給驅動器子系統帶來了延遲,這種延遲很大程度上取決于硬件和軟件兩個 方面。這使得不同類型RAID之間性能水平對比變得更加困難,因為每一種部署都是獨一無二的。

現在,RAID選擇中一個最大的問題可能就是我們可以方便地獲得存儲效率和驅動器容錯的測量標準,但是可靠性和性能方面的指標卻非常幾乎沒有。測量 標準所帶來的危險之一就是,人們將重點關注那些很容易測量的項目上,而忽略了那些不方便測量的項目,盡管這些因素可能會有很重要的影響。

雖然現在所有類型的RAID都找到了自己的一席之地,但關鍵的是要結合使用背景以及可接受的風險范圍來進行考慮。我們應該努力將整個行業從默認 RAID 5引導到默認RAID 10上來。驅動器很便宜了,但是數據丟失的代價很高。

熱詞搜索:

上一篇:甲骨文數據庫曝漏洞 黑客可遠程控制權
下一篇:4種固態存儲補充企業級存儲系統方法

分享到: 收藏