Linux磁盤管理(一)
磁盤管理主要包括以下內容:
-
磁盤結構
-
分區介紹
-
管理分區
-
管理文件系統
-
掛載設備
-
管理虛擬內存
此篇主要介紹磁盤結構和分區介紹,剩余內容將在後續篇中介紹
磁盤結構
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磁盤管理(一)