Linux 磁盤管理
I/O ports: I/O設(shè)備地址
在Linux上一切皆是文件洛史,每一個設(shè)備也都是一個文件腊状,設(shè)備文件的類型包括:
塊設(shè)備: block 存儲單位是塊, 例如磁盤設(shè)備;
字符設(shè)備: char 存儲單位是"char", 例如鍵盤設(shè)備;
設(shè)備文件
作用: 設(shè)備文件用來關(guān)聯(lián)一個設(shè)備的驅(qū)動程序,從而能夠和與之對應(yīng)的硬件設(shè)備進行通信昌粤。不同的硬件設(shè)備需要不同的設(shè)備文件既绕。
每一個設(shè)備都需要一個設(shè)備號碼,從而能夠被識別到涮坐。
設(shè)備號
主設(shè)備號: major number凄贩,用來標識設(shè)備類型
次設(shè)備號: minor number, 標識同一類型下的不同設(shè)備
說明: 使用ls -l 查看到的c/b類型的文件,其文件大小由兩位數(shù)字構(gòu)成袱讹,第一位是主設(shè)備號疲扎,第二位是次設(shè)備號,沒有大小捷雕。
設(shè)備文件
為了讓用戶識別椒丧,Linux將設(shè)備文件路徑的形式進行展示。 設(shè)備文件位于/dev/目錄下非区。
硬盤設(shè)備的接口類型包括:
并行: IDE/SCSI/
串口: DATA/SAS/USB
硬盤設(shè)備的文件名命名規(guī)則如下:
IDE: /dev/hd
SCSI/DATA/SAS/USB: /dev/sd
不同的塊設(shè)備命名: a-z, 例如: sda,sdb...
同一個設(shè)備上的不同分區(qū)使用數(shù)字1...n...來標識瓜挽, 例如: sda1, sda2...
磁盤結(jié)構(gòu)
在磁盤的0磁道0扇區(qū),大小為512bytes,用來存放特殊信息:
mbr: master boot record 主引導(dǎo)記錄征绸,包括如下內(nèi)容:
446bytes: boot loader 引導(dǎo)器
64bytes: 分區(qū)表
一個分區(qū)用16bytes來表示久橙,因此基于mbr的早期硬盤最多只能分4個主分區(qū)俄占。 如果需要分多個區(qū)可以使用擴展分區(qū)來實現(xiàn)。擴展分區(qū)內(nèi)的分區(qū)叫邏輯分區(qū)淆衷。另外基于mbr機制的磁盤管理機制不能識別超過2t的磁盤缸榄。 因此就需要GTP/UEFI來實現(xiàn)。
2bytes: 55AA(16進制), 表示存儲信息的有效性祝拯。
磁盤參數(shù):
rpm: rotations per minute 每分鐘轉(zhuǎn)速
磁盤分區(qū)
磁盤分區(qū)工具: fdisk, parted, sfdisk
fdisk:
fdisk: 對于一個磁盤來說甚带,最多只能管理15個分區(qū);
用法:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v
fdisk -h
fdisk /dev/DEVICE 的分區(qū)子命令
p: print 顯示已有分區(qū)
n: new 創(chuàng)建分區(qū)
d: delte 刪除分區(qū)
w: write 寫入磁盤并退出
q: quit 放棄修改退出
m: 獲取幫助
l: 列出分區(qū)id
t: 調(diào)整分區(qū)id
查看內(nèi)核是否已經(jīng)識別新的分區(qū):
cat /proc/partitions
通知內(nèi)核重新獲取分區(qū)列表:
partx 命令 和 kpartx 命令 可以實現(xiàn)重新獲取分區(qū)列表
partx -a /dev/DEVICE
partx -m m:n 指定范圍