3.9 磁碟管理 (Disk Management)

目錄

  • Free space management
    • Link list
    • Combination
    • Counting
  • Allocation Method (配置方法)
    • 連續性配置 (contiguous allocation)
    • 鏈結式配置 (linked allocation)
      • FAT (file allocation table)
    • 索引配置 (index allocation)
      • i-node
  • Disk structure**
  • Disk access time**
  • Disk scheduling**
    • FCFS
    • SSTF
    • SCAN
    • C-SCAN
    • LOOK
    • C-LOOK
  • 補充
  • RAID
  • RAID 的種類
    • RAID1
    • RAID0+1
    • RAID2
    • RAID3 vs RAID4
    • RAID5
    • RAID6
  • Summary

RAID Redundant Array of Independent Disks 磁碟陣列

  • Why RAID?
    1. CPU 和 disk I/O 速度不對等
    2. 資料安全性, 可靠性議題
  • Solution:
    • 採用 “data striping” 資料切割:指將 data 分成幾個等分, 同時存到不同 disk 之中, 以達平行 I/O 之效
  • RAID:
    • Def: 指將多顆 physical disk, 組成一顆 logical disk 之後, 以達提高 I/O 效能跟增加資料的可靠性
    • 圖:

RAID 的種類

  1. RAID 0 (striping RAID)
  • 以效能導向
  • 速度最快的 RAID
  • 沒有 fault tolerant
  • Cost 低
  • 至少需 2 顆 disk
  • 圖:
  1. RAID 1 (mirror RAID)
  • 至少有 ≥ 2 顆 disk 存相同的 data
  • fault tolerant 特色
  • Cost 高 (浪費一半 space)
  • Read 效益不佳, write 較差
  • 至少需 2 顆 disk (資料保護)
  • 圖:
  1. RAID 0+1 (01) speed 快 > RAID 10
  • 兼具 speed up + fault tolerant
  • Cost 極高
  • 至少需 4 顆 disk
  • 補充:RAID 1+0 (10)
    • 先做 mirror, 在做 striping
    • 相較下, 此種方法可靠性更佳, 故現在較常用此
  • 圖:
  1. RAID 2 (被 RAID 3 ~ 5 取代)
  • 採用 “ECC” (Error Correcting Code) 技術, 達容錯效果
  1. RAID 3 vs RAID 4
    |RAID 3|RAID 4|
    |–|–|
    |以 “bit” 為切割單位 (太頻繁)|以 “block” 為單位|
    |效能較差|效能較好|
  • 共同特色:
    • parity check 做 data 的可靠性機制
    • 會有一顆專門放 parity 的 disk => 會成為效能上的瓶頸
    • 同時允許一顆 disk 損壞依舊可以復原
  • 圖:
  1. RAID 5 => 同 RAID 4, 但將 parity data 平均在各 disk 之上
  • 圖:
  • 小比較:
    RAID Speed 單位 parity data
    3 bit 集中
    4 block 集中
    5 block 分散
  1. RAID 6
  • 採 “parity check” + “read soloman code” => 可允許同時 2 顆 disk 損壞, 仍可恢復
  • 可靠性優於 RAID 3 ~ 5

Summary

RAID 至少 disk 數 Speed Cost
0 2 低 -> striping
1 2 高 -> mirror
0+1 4 最高
3 3 居中 居中 -> parity check
4 3 居中 居中 -> parity check
5 3 居中 居中 -> parity check