1. 程式人生 > >大資料儲存技術_磁碟與陣列技術

大資料儲存技術_磁碟與陣列技術

磁碟與陣列技術

2.1 磁碟HDD(Hard Disk Drive)

1.磁碟依舊佔外部儲存市場的主流

2.HDD新技術

  -HAMR技術(熱輔助磁記錄):提高單盤儲存容量(20TB起)

  -MACH.2(雙驅動臂):提高讀寫速度(480MB/s)

3.HDD大容量硬碟未衰反興

4.磁盤裡面的結構

  磁碟碟片:將硬磁材料塗敷、電鍍或沉積在金屬或玻璃材質的基板上,是記錄二進位制資訊的載體

  主軸:將磁碟碟片固定在磁碟內部,在電動馬達的驅動下,磁碟碟片以主軸為中心高速轉動。(指標是每分鐘的轉速)

 

 

  步進電機:控制磁頭精確定位到每個磁軌

  傳動手臂:

 

  讀寫磁頭:將電脈衝訊號轉換成介質上的磁化狀態,又將介質的磁化狀態轉換成電脈衝訊號,是電磁轉換的“橋樑”(將硬磁材料塗敷、電鍍或沉積在金屬或玻璃材質的基板上,是記錄二進位制資訊的載體)

  控制器:控制主軸電機的供電和速度、磁碟與主機CPU的通訊、如何移動激勵臂膀以控制讀寫、讀寫磁頭的轉換、資料訪問優化等等

5.磁碟的基本操作

  資料寫入:

    通過控制電路,驅動磁頭改變碟片上磁性粒子簇的極性來寫入資料。

  資料讀取:

    碟片上被極化的磁性粒子與磁頭上的磁感應物質相互作用,在磁頭上產生感應電壓,進一步被轉化為能夠被計算機處理的二進位制訊號。

 6.磁碟幾何

  - 每個磁面由許多磁軌構成

  - 每個磁軌又被分割為許多扇區

7.格式化磁碟

  允許控制器為每個區域留出備用的柱面,解釋“格式化容量”和“最大容量”之間的差異。

8. 柱面

  對齊的軌道形成柱面。

 

 

 9.實體地址與邏輯地址

實體地址 = CHS(柱面、磁頭、扇區)

邏輯地址= Block#

 

 10.磁碟容量

  確定容量的技術因素:

    記錄密度Recording density (bits/in):磁軌一英寸的段中可以放入的位數.

    磁軌密度Track density (tracks/in):從碟片中心出發半徑上一英寸的段內可以有的磁軌數.

    面密度Areal density (bits/in2):記錄密度與磁軌密度的乘積.

  注:由於外磁軌的長度大於內磁軌。現代磁碟不再把內外磁軌劃分為相同數目的扇區,而是利用外層磁軌容量較內層磁軌大的特點,將盤面劃分成若干條環帶。

  儲存容量 = 磁頭數 × 磁軌(柱面)數 × 每道扇區數 × 每扇區位元組數

11.磁碟定位

  平均訪問時間 = 平均尋道時間 + 平均旋轉延遲 + 平均轉換時間

  (一般平均尋道時間是8ms)

  訪問磁碟的時間主要開銷是尋道時間和旋轉延遲!

  • 最大旋轉延遲

     Tmax rotation=(1/RPM) * (60secs/1min)

  • 平均旋轉延遲
     Tavg rotation =(1/2)*Tmax rotation

  常見引數:

  

   

  一個400G磁碟的典型引數:

    (1)16,383 柱面,每個柱面24M位元組

    (2)8個雙面盤,共有16個讀寫頭

    (3)每分鐘7200轉

    (4)一個讀寫頭每秒可以讀寫 120 × 1.5 = 80MB/S

    (5)每個磁軌的資料位 24/16=1.5MB per track

12.磁碟驅動器效能:資料傳輸速率

 13.外部裝置互連

 

 14.磁碟訪問時間

  (1)IDE匯流排:66MB/S 是一個比較常見的速度

      電子裝置會成為66MB/S瓶頸

  (2)SATA3: 3GB/S

      機制會成為180MB/S的瓶頸

  (3)幾個關鍵點

    · 訪問時間是由尋道時延和旋轉時延決定的

    · 找到某個扇區上的第一位是最貴的,其餘位是免費的

    · 訪問8byte,SRAM的訪問時間是4ns

    · 訪問8byte,DRAM的訪問時間是60ns

    · 訪問512byte,磁碟要10ms, 因此磁碟的訪問速率比DRAM慢2500倍,比SRAM慢40000倍

15.驅動的可靠性:平均無故障時間

      MTBF:Mean Time Between Failure(裝置發生故障之前的執行時間)

2.2磁碟陣列RAID Arrays

1.背景

  (1)計算機系統總體效能的提高很不匹配
    · 處理器和主存效能改進快
    · 輔存效能改進慢

  (2)廉價磁碟冗餘陣列(Redundant Array of Inexpensive Disks,RAID)

    UC, Berkeley:David A. Patterson
    RAID0~RAID6

  

 2.RAID基本思想

  將多個具有獨立操作的廉價磁碟按某種方式組織成一個磁碟陣列(Disk Array),以增加容量,利用類似於主存中的多體交叉技術,將資料儲存在多個盤體上,讓這些盤並行工作來提高資料傳輸速度,並採用冗餘(redundancy)磁盤技術來進行錯誤恢復(error correction)以提高系統可靠性(reliability)。

  · RAID是一組物理盤,作業系統將其視為單個邏輯盤

  · 獨立冗餘磁碟陣列RAID:Redundant Arrays of Independent Disks,獨立磁碟構成的具有冗餘能力的陣列

3.NRAID

  (1) NRAID:Non-RAID

  (2) 所有磁碟的容量組合成一個邏輯盤,沒有資料塊分條(no block stripping)

    · NRAID不提供資料冗餘
    ·要求至少一個磁碟

  

 4.JOBD:Just a Bunch of Disks(磁碟簇)

  (1)一個在底板上安裝的、帶有多個磁碟驅動器的附件,與RAID陣列不同,沒有前端邏輯來管理磁碟上的資料分佈

  (2) 磁碟控制器把每個物理磁碟看作獨立的磁碟單獨定址,因此每個磁碟都是獨立的邏輯盤

  (3) JBOD也不提供資料冗餘

  (4)要求至少一個磁碟

5.RAID組成

  

 

 

 6.資料組織:條帶(stripe)

 

  (1)stripe是由多個磁碟上的stripes構成的資料條帶

  (2)stripe的width是指資料被劃分為了多少個併發的stripes

  (3)效能分析-條帶:

    · strip/block size可調:頻寬和吞吐率的折中
    · Small size : 高傳輸速度
       · Large size : 併發I/O

  

7.RAID 冗餘技術

  (1)映象

  

     通過映象來實現冗餘,儲存在磁碟A的內容,也儲存在B中。

  (2)副本

  

   用一個磁碟專門用來儲存前面幾個磁碟的副本

8.磁碟級別

  (1)RAID0:條帶陣列,無容錯

    

   (2)RAID1: 磁碟陣列

  

 

  優點:高資料可用性和高I/O率(小塊)。

  缺點:可用儲存容量為50%。

  效能:提高讀效能,但降低寫效能。

  資料保護:改進了raid0的容錯能力。

  應用:會計,支付,金融和需要高可靠性的應用

   (3)RAID 0+1

  

 

 

   (4)RAID 1+0

  

 重點:

  RAID 0+1 和 RAID 1+0 又有什麼區別呢?
  · RAID 0+1是先讓磁碟組內的成員組成RAID 0條帶化,然後磁碟組之間為RAID 1映象關係。    

  · RAID 1+0是先讓磁碟組內的成員組成RAID 1互為映象,然後磁碟組之間RAID 0條帶化。

  · 除了構成先後的差別外,主要的區別還表現在容錯性上。RAID 0+1 的損壞一塊磁碟之後,所在的RAID 0組即認為損壞,RAID 0+1 實際上已經退化為一個RAID 0 的結構,此時,上面那組RAID 0隨便壞一塊,整個RAID就崩潰了。

  · 相對來說,RAID 1+0 就不會有這個問題,只要同一個RAID 1組內硬碟不全部損壞,整個RAID就不會有問題,在圖中可以認為,只要右上角的那塊磁碟不壞,整個RAID就不會崩潰。

   (5)  RAID3: 帶奇偶校驗碼的並行傳送

        RAID 3總是在所有磁碟上讀取和寫入完整的資料條紋。至少需要3塊盤(2塊盤沒有校驗的意義)。將資料存放在n+1塊盤上,有效空間是n塊盤的總和,最後一塊儲存校驗資訊。資料被分割儲存在n塊盤上,任一資料盤出現問題,可由其他資料盤通過校正監測恢復資料(可以帶傷工作),換資料盤需要重新恢復完整的校驗容錯資訊。對陣列寫入時會重寫校驗盤的內容,對校驗盤的負載較大,讀寫速度相較於Raid0較慢,適用於讀取多而寫入少的應用環境,比如資料庫和web伺服器。使用容錯演算法和分塊的大小決定了Raid3在通常情況下用於大檔案且安全性要求較高的應用,比如視訊編輯、硬碟播出機、大型資料庫等。

  stripe size = logic block size of file system

  (6)RAID4: 帶奇偶校驗碼的獨立磁碟結構

  提供了非常好的讀效能,但單一的校驗盤往往成為系統性能的瓶頸。對於寫操作,RAID4 只能一個磁碟一個磁碟地寫,並且還要寫入校驗資料,因此寫效能比較差。而且隨著成員磁碟數量的增加,校驗盤的系統瓶頸將更加突出。正是如上這些限制和不足,所以不推薦 RAID4 在實際應用。RAID4和RAID3很象,不同的是,它對資料的訪問是按資料塊進行的,也就是按磁碟進行的,每次是一個盤。在圖上可以這麼看,RAID3是一次一橫條,而RAID4一次一豎條。它的特點的RAID3也挺象,不過在失敗恢復時,它的難度可要比RAID3大得多了,控制器的設計難度也要大許多,而且訪問資料的效率不怎麼好。 

  

  (7) RAID5:分散式奇偶校驗的獨立磁碟結構

  奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因為奇偶校驗碼在不同的磁碟上,所以提高了可靠性,允許單個磁碟出錯。RAID 5也是以資料的校驗位來保證資料的安全,但它不是以單獨硬碟來存放資料的校驗位,而是將資料段的校驗位互動存放於各個硬碟上。這樣,任何一個硬碟損壞,都可以根據其它硬碟上的校驗位來重建損壞的資料。硬碟的利用率為n-1。 但是它對資料傳輸的並行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次資料傳輸,需涉及到所有的陣列盤。而對於RAID 5來說,大部分資料傳輸只對一塊磁碟操作,可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。 RAID-5的話,優點是提供了冗餘性(支援一塊盤掉線後仍然正常執行),磁碟空間利用率較高(N-1/N),讀寫速度較快(N-1倍)。但當掉盤之後,執行效率大幅下降。

 

 

 特點:

  ·塊大小調整為典型的I/O對齊到單個磁碟上。

  ·每個條帶有一個校驗塊,但是不同條帶位置不同,在相鄰條帶間循環分佈,從而避免校驗寫的瓶頸

 

 (8)RAID6:帶有兩種分佈儲存的奇偶校驗碼的獨立磁碟結構

  名字很長,但是如果看到圖,大家立刻會明白是為什麼,請注意p0代表第0帶區的奇偶校驗值,而pA代表資料塊A的奇偶校驗值。它是對RAID5的擴充套件,主要是用於要求資料絕對不能出錯的場合。當然了,由於引入了第二種奇偶校驗值,所以需要N+2個磁碟,同時對控制器的設計變得十分複雜,寫入速度也不好,用於計算奇偶校驗值和驗證資料正確性所花費的時間比較多,造成了不必須的負載。我想除了軍隊沒有人用得起這種東西。

 

  (9)RAID技術比較

 

  (10)技術選擇路線

&n