大數據存儲技術_磁盤與陣列技術


磁盤與陣列技術

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)技術選擇路線

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM