一、raid解析
1.raid 0
(1)將幾塊磁碟並行組合,橫向寫資料
(2)併發io,寫資料最快
缺點:不提供資料冗餘,如果其中一塊磁碟廢掉,則資料全毀
詳細:條帶深度大時,一次io只能從一塊磁碟上讀取,無效能提公升。要在某種程度上提公升效能,需要減小條帶深度。
2.raid 1
(1)一塊磁碟寫,另一塊作為備份,也在相同的位置寫。
(2)當一塊磁碟廢掉或者磁碟某區域壞掉,則讀取另外乙個磁碟。
(3)寫效能等於最低那塊硬碟的寫效能。
優點:(1)提供初步資料保護
(2)雖然額外多了乙個操作,但是寫速度也很快
缺點:速度太慢,乙個寫另乙個也必須寫
與raid 0的不同:
raid 0沒有資料保護措施,raid 1資料有兩份
3.raid 2
(1)每兩塊資料盤就有一塊校驗盤(海明校驗碼)
(2)當資料損壞時通過校驗碼可恢復損壞磁碟上的數字,每次只能傳輸2路資料,因資料盤就兩塊。
(3)並存並取
缺點:(1)資料儲存時資料位被強行打散在兩塊磁碟上,每次讀取資料都要兩塊磁碟聯動
(2)利用海明碼開銷太大
詳細:4塊資料盤,3塊校驗盤。假設raid 2條帶大小為4b(1b*4塊),控制器接收到io的資料之後第一塊磁碟寫入1 5 9 13等位,第二塊磁碟寫入2 6 10 14等位,第三第四塊磁碟相同,此時全盤讀寫,資料物理不連續,邏輯連續,導致對非事務性io效率低下。適合連續,大塊io的情況
與raid 0的不同:
不能併發,每次io都佔據了所有磁碟;每次都保證所有磁碟執行
4.raid 3
(1)只留一塊校驗盤,將資料
每一位之間做異或xor運算,任何乙個扇區損壞通過剩餘未和校驗位一同進行異或運算,得到丟失位,8位一起校驗則得到損壞的乙個位元組。
(2)條帶深度小,將io分成小塊每個塊4kb,讓每個磁碟都有機會儲存這些小塊,這樣多磁碟並行讀寫,效能高。
(3)xor只能判斷資料是否有誤,不能修正資料
缺點:校驗盤會成為熱點盤;每次io都需要牽動所有磁碟,和raid 一樣,不適合併發io
詳細:每乙個條帶設計為os系統塊的大小,深度隨磁碟數量而定,最小為1個扇區;每個條帶一般為os系統塊長度,寫資料時按資料塊分散到各個磁碟。
優化方案raid 30採用8個資料盤,2個校驗盤可以支援2個io併發。
與raid 2的不同:
raid 2對扇區進行分散,raid 3保留了扇區的物理連續,以乙個或多個扇區為單位來分散資料。
5.raid 4
(1)為了實現併發io,需要保證有空閒的磁碟未被io占用,以便其他的io進行訪問。
(2)如果io塊小於raid 3的條帶深度(
橫向寫),則資料縱向寫,只放在乙個磁碟上。
缺點:校驗盤無法併發,每次都讀寫,會成為熱點盤,損壞機率大;寫速度很慢
6.raid 5
(1)是raid 0和raid 1的折中方案。
(2)將校驗盤打散到各個盤之中,併發io可以同時訪問校驗盤,克服了校驗盤不能併發成為熱點盤的缺點。
缺點:寫懲罰高,根本原因在於每次扇區都要產生其校驗區寫入校驗盤;每一次寫都要先讀出老資料,然後讀校驗資料,然後寫新資料和校驗資料;只能壞一塊磁碟
詳細:校驗segment迴圈分布在相鄰條帶上。為保證併發io,將條帶做的較大,以保證每次io資料不會佔滿整個條帶,造成其他io等待。要保證高併發率,否則會轉成讀改寫,寫懲罰高。
7.raid 6
(1)為了解決兩塊資料盤損壞無法恢復的情況
(2)布林運算兩個方程式,x xor y = 1,ax xor bx = 0,求解
缺點:比raid 5多兩個操作,多讀乙個校驗資料,計算後還要寫一次
二、整條寫、重構寫和讀改寫
1.整條寫
每個條帶上的segment都更新,不需要額外的讀寫操作,寫效能最好
2.重構寫
當需要寫入的磁碟數目超過陣列磁碟的一半時採取該方式
(1)從不需要修改的segment中讀取原來的資料,再和本條帶中所有需要修改的segment上的新資料一起計算xor校驗值
(2)將新的segment資料和沒有更新過的segment資料以及新的xor校驗值一起寫入
例如:
資料盤為8塊,某個時刻乙個io只更新了乙個條帶的6個segment,剩餘兩個沒有更新。在重構寫模式下,會將沒有更新的兩個segment資料讀出,和需要更行的前6個segment計算出校驗資料,然後資料和校驗資訊一起寫入磁碟
與整條寫的比較:
多出讀segment資料操作和寫校驗資料操作
3.讀改寫
當需要寫入的磁碟數目不超過一半時採取
(1)從需要修改的segment中讀取舊資料,再從條帶上讀取舊的奇偶校驗值(讀)
(2)根據舊資料、舊校驗值和需要修改的segment上的新資料計算這個條帶上的新校驗值(改)
(3)寫入新的資料和校驗值(寫)
大話儲存 3 七種磁碟RAID技術
由獨立的磁碟組成的具有冗餘特性的陣列。有兩個特性 陣列 需要很多磁碟來組成 冗餘 允許某塊磁碟損壞之後,資料仍然可用 目前,單塊磁碟容量只有幾t,對於現代應用程式來說遠遠不夠。為了提供容量更大的磁碟,發明了raid技術。io可以分為讀寫io 大小塊io 連續 隨機io 順序 併發io 穩定 突發io...
七種排序演算法總結
根據排序過程中借助的主要操作,將7種內排序演算法按照下圖所示進行分類。將7種演算法的各種指標進行對比,如下表所示。從平均情況來看,顯然最後3種改進演算法要勝過希爾排序,並遠遠勝過前3種簡單演算法。從最好情況看,反而冒泡和直接插入排序要更勝一籌,也就是說,如果待排序列總是基本有序,反而不應該考慮四種複...
七種排序方式總結
2018.01.23 a yuan t 其中排序演算法 氣泡排序,簡單排序,直接插入排序,希爾排序,堆排序,歸併排序,快速排序 include include include define maxsize 10000 define false 0 define true 1 typedef stru...