Linux磁盤管理
硬盤基本知識
track:
磁道是有廠商劃分好的,一個磁道能存多少數據跟盤片的密度有關係。磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。
sector:
磁盤上的每個磁道被等分爲若干個弧段,這些弧段便是磁盤的扇區,每個扇區可以存放512個字節的信息,磁盤驅動器在向磁盤讀取和寫入數據時,要以扇區爲單位。
平均尋道時間:
磁盤是固定角速度的設備,所以在外道上掃過的時間比內道上長磁頭在任意磁道上的任意扇區,讀取的平均時間稱爲平均尋道時間。
柱面cylinder:
每個盤面都被劃分爲數目相等的磁道,並從外緣的"0"開始編號,具有相同編號的磁道形成一個圓柱,稱之爲磁盤的柱面。磁盤的柱面數與一個盤面上的磁道數是相等的。
分區:第0個扇區存放的是磁盤的分區信息
MBR:硬盤的0柱面、0磁頭、1扇區稱爲主引導扇區(也叫主引導記錄MBR)。
它由三個部分組成:主引導程序、硬盤分區表DPT(Disk Partition table)和分區有效標誌。
在總共512字節的主引導扇區裏主引導程序(boot loader)佔446個字節,第二部分是Partition table區(分區表),即DPT,佔64個字節,硬盤中分區有多少以及每一分區的大小都記在其中。第三部分是magic number,佔2個字節,固定爲0xAA55或0x55AA
512bytes:
bootloader: 446bytes引導加載區,用來引導啓動操作系統。
fat: 64bytes(文件系統分配標), 16bytes(每個分區16字節), 4(最多有4個主分區)
MBR有效性標記:5A
基本硬盤的分區:
1、最多4個主分區
2、可分3個主分,1個擴展分區,在擴展分區上創建多個邏輯分區
GPT:大於2TB使用的分區技術
磁盤接口類型:
IDE:(ATA): 133MB/s
SCSI: 320MB/s
SATA(Serial):串口,300Mbps, 600Mbps, 6Gbps
SAS: SAS:6Gbps
USB:
★:每個磁盤上可以劃分多個分區,每個分區在系統看來是一個獨立的設備。
被獨立控制和訪問,所以每個分區都有設備訪問入口(設備文件)。
硬盤設備文件: /dev/sd
標記不同的硬盤設備: /dev/sd[a-z]
標記同一設備上的不同分區: /dev/sd[a-z][1-n]
1-4: 主或擴展分區標識
5+: 邏輯分區標識
這些分區信息在一個硬盤設備接入當前系統以後,會被內核所識別,並保存在內核的文件當中。
/proc/partitions
設備文件:特殊文件
設備號:
major, minor
major: 設備類型
minor: 同一類型下的不同設備
分區:分隔符存儲空間爲多個小的空間,每個空間可獨立使用文件系統。
分區工具:fdisk、sfdisk、cfdisk
fdisk命令
功能
對硬盤進行創建分區、刪除分區,修改分區ID,查看硬盤的使用情況等
格式:
fdisk [options] <disk> change partition table
fdisk [options] -l <disk> list partition table(s)
d: 刪除分區
n: 新建分區
p: 列出已存在分區
t: 修改分區標記(ID)
l: 列出內核支持的分區ID
w: 保存退出
q: 不保存退出
實例:
//創建一個擴展分區,並在擴展分區上創建一個15G的邏輯分區
使用fdisk -l可列出當前系統上的硬盤已有分區
//鍵入fdisk 設備名,即可對硬盤操作,鍵入m顯示菜單幫助信息
//鍵入n 創建分區,之後會提示需要創建主分區還是擴展分區,鍵入e,創建擴展分區。
接下來提示起始輸入扇區。這裏直接把硬盤上所有剩餘空間都分配給擴展分區。
接下里鍵入p,可列出所有分區信息,最後鍵入w,保存並退出
//創建完擴展分區後,在擴展分區上新建邏輯分區,大小爲15G
//創建完成之後,查看內核是否已經識別新的分區:
# cat /proc/partitions,可見雖然分區已經創建,但是內核仍未識別到
//重讀分區表,讓內核能夠識別,partx -a 是讀取硬盤上的所有分區,
並把分區表信息傳遞給Kernel
在CentOS 5上常用命令: partprobe
在CentOS 6上常用: partx, kpartx