磁盤及文件管理系統入門(一)
linux磁盤及文件系統管理初步
目錄
1.磁盤及文件系統管理 2.機械磁盤結構 3.mknod命令 4.parted命令 5.GPT分區&UEFI 6.二進制單位
Linux系統管理
磁盤分區及文件系統管理
RAID
LVM
網絡屬性管理
程序包管理
sed and awk
進程查看和管理
內核管理(編譯和安裝)
系統啟動流程
定制、編譯內核、busybox
系統安裝:kickstart,dhcp,pxe
shell腳本編程
1.磁盤及文件系統管理
cpu、內存、I/O
IO:ram,disk,NIC(network interface card)
鍵盤鼠標:南橋
ram:北橋
|———————|
|北橋 |ram
|--------------|------------------------
|CPU |
|--------------|------------------------
| 南橋 |鍵盤,鼠標,硬盤
|--------------|
硬盤接口:
IDE接口:133MB/s
並行總線,雙向四車道
//並行數據容易產生幹擾,導致數據損壞重傳,因此效率低
//並行越高,幹擾頻率越高
SCSI:並口,Ultrascci320,320MB/s
Ultrascci640,640MB/s
SCSI的費用更高
sata接口:6Gbps
串行總線,有前後,不能並行傳輸
SAS:串口時的scsi技術6Gbps
USB:串口3.0,480MB/s 理論
並口:同一線纜可以接多塊硬盤
IDE:兩個,主、從
SCSI:
寬帶:16-1個設備
窄帶:8-1個設備
串口:同一線纜,只可以接一個設備
IOps //IO per second
IDE:100次左右IO
SCSI:150左右
SATA:100多
SAS:100多到200
固態硬盤:400左右
7200 rpm的磁盤 IOPS = 1000 / (9 + 4.17) = 76 IOPS
10000 rpm的磁盤IOPS = 1000 / (6+ 3) = 111 IOPS
15000 rpm的磁盤IOPS = 1000 / (4 + 2) = 166 IOPS
PCI-E接口的固態硬盤IOPS都是
440k IOPS //44萬
硬盤:機械硬盤,固態硬盤
固態硬盤:類似於U盤,內部是多個並行
CPU和硬盤設備之間的 連接器:適配器
負責硬盤控制芯片和CPU之間信號的翻譯與轉換
2.機械硬盤結構
多塊盤片
track:磁道一個同心圓
角速度一致,
每一個盤片的雙面都可以讀取//每一個盤片的每一面都有磁頭
rpm:rotation per minute //一分鐘
5400rpm,7200rpm,10000rpm
每個磁道的周長是不一樣的,因此不能按照磁道進行存儲,不便於管理
磁道劃分扇區:更容易管理
//扇區大小一般是固定的,一般為512字節
Cylinder:柱面:不同盤面的同一個編號的磁道上,就成為一個柱面
//第一個盤面的1號磁道,第二個盤面的1號磁道,第三個盤面的1號磁道,稱為一個柱面
//磁頭是固定的,上下兩個,多個盤面
分區:基於柱面進行
越靠近外部磁道的分區,性能越好
//單位時間內劃過的距離教程,獲取的數據較多
//C盤及時最外面的分區
track磁道:同心圓,從外圈開始,磁道被分成0磁道,1磁道,2磁道
Cylinder:柱面,具有相同磁道編號的同心圓組成柱面,那麽這柱面就像一個沒了底的鐵桶
柱面數:就是磁盤上的磁道數
磁面數==磁頭數
不同盤片相同半徑構成的圓柱面即柱面
扇區sector:扇區就是每一個磁道中被分成若幹等分的區域.相鄰磁道是有間隔的,這是因為磁化單元太近會產生幹擾.
每個柱面包括512個字節。固定值
硬盤的容量=柱面數(CYLINDER)*磁頭數(HEAD)*扇區數(SECTOR)*512B.
存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數
Linux的哲學思想:一切皆文件
設備類型:
塊(block):隨機訪問,數據交換單位是“塊”
//sda,sdb
字符(character):線性訪問,數據交換單位是字符
//tty1,tty2,pts
設備文件:FHS
/dev目錄下
設備文件:用於實現將設備關聯至其驅動程序
//任何時候打開一個設備文件,其實相當於打開該文件的驅動程序
設備號:major :主設備號,區分設備類型,用於標明設備所需要的驅動程序
minor:次設備號,區分同種類型下的不同設備;是特定設備的訪問入口
3.mknod命令
mknod命令
創建塊設備和字符設備
mknod [OPTION] ... NAME TYPE [MAJOR MINOR]
mknod /dev/testdev c 111 1
-m MODE 直接指定其權限 //調用系統調用來實現權限修改
TYPE:
b 塊設備
c,u 字符設備,(unbuffered)
p FIFO設備
設備文件名:是統一定義的,ICANN
磁盤:
IDE:/dev/hd
SCSI,SATA,USB,SAS :/dev/sd[a-z]
引用設備的方式:
設備文件名
卷標
UUID//128位
分區:
/dev/sda[1-4]
註意:Centos6和7統統將硬盤設備文件表示為/dev/sd[a-z]#
硬盤分區:MBR,GPT
MBR:0 sector//0扇區,
master boot record//主引導記錄
512字節
446字節:bootloader,程序,引導啟動操作系統的程序
64字節:分區表,每16bytes標識一個分區,最多4個分區
2字節:MBR區域的有效性,55AA為有效
//假如要實現更多的分區,
//例如:用其中一個主分區不用來標識分區的開始和結束為止,而是指向一個存儲空間,當做新的分區表
//這個用來指向其他分區表的成為擴展分區,但是擴展分區需要再次分區才能使用
例如:
4主分區:
3擴展分區:
擴展分區:
n個邏輯分區
主分區和擴展分區的標識:1-4
邏輯分區:5+
fdisk 命令分區
-l 列出信息
centos6:start。。end:柱面
centos7:start。。end:扇區
2.管理分區
fdisk /dev/sdb
fdisk提供了交互式接口來管理分區,它有很多子命令,分別用於不同的管理功能,所有操作均在內存中完成,沒有直接同步磁盤
直到w保存
n:創建新分區
d:刪除新分區
4.parted命令
parted 分區命令
help COMMAND//獲取幫助信息
print [devices|all|free] //查看所有細膩
mkpart PARTTYPE [FSTYPE] START END
PARTTYPE:primary,extended,logical,
mkpart primary ext4 30G 50G
select /dev/sdb //選中
set NUMBER FLAG STATE
FLAG:boot引導,hidden隱藏,raid軟raid,LVM等
STATE:on/off
set 1 boot on
unit UNIT //設置默認輸出時表示磁盤大小的單位
MB,GB,%占用百分比,compat人類易讀方式,
s扇區,cy柱面,chs柱面磁頭扇區的地址
mkfs NUMBER FS-TYPE //對指定編號NUMBER的分區創建指定FS-TYPE的文件系統
print //查看信息
resize 1 //重新修改分區
rm 2 //刪除2分區
check NUMBER //檢查指定編號NUMBER分區中的文件系統是否有什麽錯誤
resize NUMBER START END //調整分區大小
move NUMBER START END //分區移動到其他位置
只能移動到空閑分區上
雖然分區被移動了,但是分區的編號不會變動
cp [FROM-DEVICE] FROM-NUMBER NUMBER-TONUMBER
復制文件系統到分區
5.GPT分區&UEFI
GPT分區:
GPT硬盤中,分區表的位置存儲在GPT頭中,處於兼容性考慮,硬盤的第一個扇區仍用MBR
之後才是GPT頭
MBR最多支持2TB
GPT支持18EB
每個磁盤128個分區//windows只認,默認不受限
更安全,分區表會備份,且加入校驗算法,一旦病毒感染,及時使用備份恢復
硬盤容量的識別,更安全,分區數量上
與 MBR 分區的磁盤不同,GPT的分區信息是在分區中,而不象MBR一樣在主引導扇區。
為保護GPT不受MBR類磁盤管理軟件的危害,GPT在主引導扇區建立了一 個保護分區 (Protective MBR)的MBR分區表,
這種分區的類型標識為0xEE,
這個保護分區的大小在Windows下為128MB,Mac OS X下為200MB,
在Window磁盤管理器裏名為GPT保護分區,
可讓MBR類磁盤管理軟件把GPT看成一個未知格式的分區,而不是錯誤地當成一個未分 區的磁盤。
另外,GPT 分區磁盤有多余的主要及備份分區表來提高分區數據結構的完整性。
UEFI:是bios的一種替代方案
UEFI已經具備文件系統的支持,能夠直接讀取FAT分區表中的文件
而在UEFI下,不再需要主引導記錄,不再需要活動分區,不需要任何工具,
只要復制安裝文件到一個FAT32(主)分區/U盤中,然後從這個分區/U盤啟動,安裝Windows就是這麽簡單。
PMBR
GPT分區表
備份GPT分區表
可以看到,在GTP磁盤的第一個數據塊中同樣有一個與MBR(主引導記錄)類似的標記,叫做PMBR。
PMBR的作用是,當使用不支持GPT的分區工具時,整個硬盤將顯示為一個受保護的分區,以防止分區表及硬盤數據遭到破壞。
UEFI並不從PMBR中獲取GPT磁盤的分區信息,它有自己的分區表,即GPT分區表。
GPT的分區方案之所以比MBR更先進,是因為在GPT分區表頭中可自定義分區數量的最大值,也就是說GPT分區表的大小不是固定的。
Windows中,微軟設定GPT磁盤最大分區數量為128個。另外,GPT分區方案中邏輯塊地址(LBA)采用64位二進制數表示,
可以計算一下2^64是一個多麽龐大的數據,以我們的需求來講完全有理由認為這個大小約等於無限。
除此之外,GPT分區方案在硬盤的末端還有一個備份分區表,保證了分區信息不容易丟失。
6.二進制單位
MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB
磁盤及文件管理系統入門(一)