設備文件
在linux中一切皆文件,在linux之上所有的操作都是通過文件來實現的,每一個設備都有一個文件作爲他的訪問入口,此文件我們稱爲設備文件。
設備也分爲:
塊設備:block 單位爲 “塊” 磁盤
字符設備: char 單位爲 “字符” 鍵盤 設備號碼:用來標識設備。每一個設備都有不同的設備號
主設備號:major numbar,標識設備類型
次設備號:minor numbar,設備同一類型下不同的設備。
設備接口類型
並行:
IDE: 133MB/s
SCSI:640MB/s
串行:
SATA :6Gbps
SAS :6Gbps
USB : 480MB/s
機械硬盤和固態硬盤
- 機械硬盤(HDD)
即傳統的硬盤,構造一般由,盤片,軸,馬達,機械臂,磁頭組成。 - 固態硬盤(SSD)
用固態電子存儲芯片組成的硬盤,使用方法和普通的硬盤相同。
相較於HDD,SSD在防震抗摔、傳輸速率、功耗、重量、噪音上有明顯優勢,SSD傳輸速率性能是HDD的2倍
相較於SSD,HDD在價格、容量佔有絕對優勢
硬盤有價,數據無價,目前SSD不能完全取代HHD。設備文件
磁盤設備的設備文件命名:/dev/DEV_FILE
SCSI,SATA,SAS,IDE,USB:/dev/sd
一些虛擬磁盤: /dev/vd , /dev/xvd
不同磁盤標識:/dev/sda/, /dev/sdb, ...
同一設備上的不同分區:1. 2 .....
/dev/sda1, /dev/sda5
磁盤存儲術語:
head :磁頭
track:磁道
cylinder :柱面
sector :扇區 , 512baytes(字節)機械磁盤結構
固態磁盤和機械磁盤對比
硬盤存儲術語
區位記錄磁盤扇區結構
ZBR(Zoned Bit Recording)
- CHS
採用24bit位尋址
其中前10位表示cylinder,中間8位表示head,後6位表示sector
最大尋址空間8GB -
LBA
LBA是一個整數,通過轉換成CHS格式完成磁盤具體尋址
ATA-1規範中定義了28位尋址模式,以每扇區512位組來計算,ATA-1所定義的28位LBA上限達到128 GiB。2002年ATA-6規範採用48位LBA,同樣以每扇區512位組計算容量上限可達128 Petabytes由於CHS尋址方式的尋址空間在大概8GB以內,所以在磁盤容量小於大概8GB時,可以使用CHS尋址方式或是LBA尋址方式;在磁盤容量大於大概8GB時,則只能使用LBA尋址方式
分區
兩種分區方式: MBR , GPT .
MBR:1982年,使用32位表示扇區數,最大不超過2T
如何分區:按柱面
0磁道0扇區:512bytes
446bytes: boot loader
64bytes:分區表,其中每16bytes標識一個分區
2bytes: 55AA
MBR分區中一塊硬盤最多有4個主分區,也可以3個主分區加1個擴展分區。
MBR分區結構
硬盤主引導記錄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結構
MBR中DPT結構
GPT 分區
- GPT:支持128個分區 ,使用64位,支持8Z 64Z 容量
- 使用128位UUID 表示磁盤和分區GPT分區表,自動備份在頭尾兩份,並有crc校驗位
- UEFI: 硬件支持GPT ,使操作系統啓動
BIOS+MBR與UEFI+GPT
管理分區
- 列出塊設備 :lsblk
- 創建分區使用:
fdisk :創建MBR分區
gdisk :創建GPT分區
parted: 高級分區操作
重新設置內存中的內核分區表版本
partprobeparted命令
parted命令的操作都是實時生效的,一定要小心使用
用法:
parted /dev/sdb mklabel gpt|msdos parted /dev/sdb print
parted /dev/sdb mkpart primary 1 200(默認是M)
parted /dev/sdb rm 1
parted -l 列出分區信息
分區工具fdisk和gdisk
gdisk /dev/sdb 類fdisk的GPT分區工具
fdisk -l :查看分區
fdisk /dev/sdb 管理分區
子命令:
p :分區列表
t :更改分區類型
n :創建新分區
d :刪除分區
v :效驗分區
u :轉換單位
w :保存並退出
q :不保存退出
同步分區表
- 查看內核是否已經識別新的分區
cat/proc/partations - centos6通知內核重新讀取硬盤分區表
新增分區用:
partx -a /dev/DEVICE
kpartx -a /dev/DEVICE
刪除分區用
parts -d --nr M-N /dev/device
centos5和7:使用partprobe
partprobe /dev/device