1. 程式人生 > >Linux磁盤管理(一)

Linux磁盤管理(一)

整數 linux 擴展 mbr 設備驅動 邏輯 每分鐘 功耗 結束

磁盤管理主要包括以下內容:

  • 磁盤結構

  • 分區介紹

  • 管理分區

  • 管理文件系統

  • 掛載設備

  • 管理虛擬內存

此篇主要介紹磁盤結構和分區介紹,剩余內容將在後續篇中介紹

磁盤結構

1.設備文件

設備類型:

  • 塊設備:block,存取單位“塊”,如磁盤
  • 字符設備:char,存取單位“字符”,如鍵盤

設備文件:

關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信

設備號碼:

  • 主設備號:major number, 標識設備類型
  • 次設備號:minor number, 標識同一類型下的不同設備

技術分享圖片

磁盤設備的設備文件命名:/dev/DEV_FILE

  • SCSI, SATA, SAS,IDE,USB: /dev/sd(在centos5上IDE接口的硬盤被命名為/dev/hd)
  • 虛擬磁盤:/dev/vd
  • 不同磁盤標識:a-z,aa,ab… 例如 /dev/sda, /dev/sdb, ...
  • 同一設備上的不同分區:1,2, ... 例如 /dev/sda1, /dev/sda5...

2.硬盤接口類型

並行:

  • IDE:133MB/s
  • SCSI:640MB/s

串口:

  • SATA:6Gbps
  • SAS:6Gbps
  • USB:480MB/s

rpm:

rotations per minute,機械硬盤每分鐘轉速,常見的轉速有5400,7200,10000,15000

3.機械硬盤和固態硬盤

機械硬盤(HDD):

Hard Disk Drive,即是傳統普通硬盤,主要由:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成。機械硬盤中所有的盤片都裝在一個旋轉軸上,每張盤片之間是平行的,在每個盤片的存儲面上有一個磁頭,磁頭與盤片之間的距離比頭發絲的直徑還小,所有的磁頭聯在一個磁頭控制器上,由磁頭控制器負責各個磁頭的運動。磁頭可沿盤片的半徑方向運動,加上盤片每分鐘幾千轉的高速旋轉,磁頭就可以定位在盤片的指定位置上進行數據的讀寫操作。數據通過磁頭由電磁流來改變極性方式被電磁流寫到磁盤上,也可以通過相反方式讀取。硬盤為精密設備,進入硬盤的空氣必須過濾

固態硬盤(SSD):

Solid State Drive,用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。固態硬盤在接口的規範和定義、功能及使用方法上與普通硬盤的完全相同,在產品外形和尺寸上也與普通硬盤一致

兩者對比:

  • 相較於HDD,SSD在防震抗摔、傳輸速率、功耗、重量、噪音上有明顯優勢,SSD傳輸速率性能是HDD的2倍
  • 相較於SSD,HDD在價格、容量、使用壽命上占有絕對優勢
  • 硬盤有價,數據無價,目前SSD不能完全取代HHD

技術分享圖片

本篇以介紹機械硬盤為主

4.機械硬盤結構

硬盤存儲術語

  • 磁頭(head):對磁盤的數據進行讀寫
  • 磁道(track):當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。 磁盤上的磁道是一組記錄密度不同的同心圓
  • 扇區(sector):磁盤上的每個磁道被等分為若幹個弧段,這些弧段便是硬盤的扇區。硬盤的第一個扇區,叫做引導扇區。 一個扇區的大小為512個字節
  • 柱面(cylinder):在有多個盤片構成的盤組中,由不同盤片的面,但處於同一半徑圓的多個磁道組成的一個圓柱面

技術分享圖片

技術分享圖片

5. 尋址方式:CHS和LBA

CHS

  • 采用24bit位尋址
  • 其中前10位表示cylinder,中間8位表示head,後面6位表示sector
  • 最大尋址空間8GB

LBA(logical block addressing)

  • LBA是一個整數,通過轉換成CHS格式完成磁盤具體尋址
  • LBA采用48個bit位尋址
  • 最大尋址空間128PB

由於CHS尋址方式的尋址空間在大概8GB以內,所以在磁盤容量小於大概8GB時,可以使用CHS尋址方式或是LBA尋址方式;在磁盤容量大於大概8GB時,則只能使用LBA尋址方式

分區介紹

1.為什麽分區

  • 優化I/O性能
  • 實現磁盤空間配額限制
  • 提高修復速度
  • 隔離系統和程序
  • 安裝多個OS
  • 采用不同文件系統

2.兩種分區方式:MBR和GPT

(1)MBR: Master Boot Record,主引導記錄,使用32位表示扇區數,分區不超過2T

  • 如何分區:按柱面
  • 0磁道0扇區:512bytes

446bytes: boot loader
64bytes:分區表
16bytes: 標識一個分區
2bytes: 55AA

  • 4個主分區;3主分區+1擴展(N個邏輯分區)

技術分享圖片

硬盤主引導記錄MBR由4個部分組成

  • 主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,並運行系統引導程序
  • 出錯信息數據區,偏移地址0089H--00E1H為出錯信息,00E2H--01BDH全為0字節
  • 分區表(DPT,Disk Partition Table)含4個分區項,偏移地址01BEH--01FDH,每個分區表項長16個字節,共64字節為分區項1、分區項2、分區項3、分區項4
  • 結束標誌字,偏移地址01FE--01FF的2個字節值為結束標誌55AA

技術分享圖片

MBR中DPT(分區表)結構

技術分享圖片

(2)GPT : GUID(Globals Unique Identifiers)partition table 支持128個分區,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)

  • 使用128位UUID(Universally Unique Identifier) 表示磁盤和分區GPT分區表自動備份在頭和尾兩份,並有CRC校驗位
  • UEFI (統一擴展固件接口)硬件支持GPT,使操作系統啟動

EFI部分又可以分為4個區域:EFI信息區(GPT頭)、分區表、GPT分區、備份區域

技術分享圖片

技術分享圖片

Linux磁盤管理(一)