硬盘基础知识&&分区
學(xué)習(xí)記錄的筆記,雖然毫無章法
硬盤基礎(chǔ)知識
磁盤的物理組成
如下圖所示:
有關(guān)磁盤物理知識的詳細(xì)介紹請看硬盤的存儲原理和內(nèi)部架構(gòu)這篇博文
硬盤接口類型
IDE
SATA
SCSI
SAS
光纖通道
IDE(Integrated Drive Electronic,電子集成驅(qū)動器)
用途:家用+部分服務(wù)器
特點:價格低、兼容性強
傳輸模式:PIODMAUDMA
如下圖所示:
SATA(Serial Advanced Technology Attachment,串行高級技術(shù)附件)
用途:PC機主流趨勢
特點:可以對傳輸指令進(jìn)行檢查,具備自動糾錯能力。
如下圖所示:
SCSI(Small Computer System Interface,小型計算機系統(tǒng)接口)
用途:服務(wù)器
特點:應(yīng)用范圍廣、多任務(wù)、帶寬大、CPU占用率低、熱插拔
如下圖所示:
SAS(Serial Attached SCSI,串行連接SCSI接口,串行連接小型計算機系統(tǒng)接口)
介紹:新一代的SCSI的技術(shù)
用途:服務(wù)器
特點:改善存儲系統(tǒng)的效能、可用性和擴充性,與SATA硬盤的兼容性
如下圖所示:
光纖通道(Fiber Channel)
用途:專門為網(wǎng)絡(luò)系統(tǒng)設(shè)計的接口技術(shù)
特點:熱插拔性、高速帶寬、遠(yuǎn)程連接、連接設(shè)備數(shù)量大等
如下圖所示:
硬盤種類
SSD
HHD
HDD
SSD(Solid State Drive,固態(tài)硬盤)
優(yōu)點:讀寫速度快;防震抗摔性;低功耗;無噪音;工作溫度范圍大;輕便
缺點:容量小;壽命有限;售價高
HHD(hybrid hard drive,混合硬盤)
優(yōu)點:
1. 系統(tǒng)啟動時間減少
2. 功耗降低
3. 生成熱量減少
4. 硬盤壽命延長
5. 筆記本和PAD的電池壽命延長
6. 工作噪聲級別降低
缺點:
1. 硬盤中數(shù)據(jù)的尋道時間更長
2. 硬盤的自旋變化更頻繁
3. 閃存模塊處理失敗,不可能進(jìn)行其中的數(shù)據(jù)恢復(fù)
4. 系統(tǒng)的硬件總成本更高
HDD(Hard Disk Drive,傳統(tǒng)硬盤)
優(yōu)點:略
缺點:略
磁盤分區(qū)
磁盤分區(qū)類型
MBR
GPT
MBR
第一分區(qū)
開機管理程序(Bootloader)(512bytes,開機記錄區(qū)[446bytes]+存放表[64bytes])
例如/dev/sda[1,2,3,4]
主分區(qū)、延伸分區(qū)
四個主分區(qū)或延伸分區(qū)
邏輯分區(qū)
由延伸分區(qū)繼續(xù)分割出的分區(qū)
下標(biāo)從5開始,如/dev/sda[5,...]
分區(qū)的最小單位是:柱面
總結(jié)
主分區(qū)與延伸分區(qū)最多可以有四筆(磁盤的限制);
延伸分區(qū)最多只能有一個;
邏輯分區(qū)是由延伸分區(qū)持續(xù)切割出來的分割槽;
能夠被格式化后,作為資料存取的分割槽為主分區(qū)與邏輯分區(qū)。延伸分區(qū)無法格式化;
邏輯分區(qū)的數(shù)量因操作系統(tǒng)而不同,在Linux系統(tǒng)中SATA硬盤已經(jīng)可以突破63個以上的分割限制。
GPT
以LBA(Logical Block Address)分區(qū)
LBA默認(rèn)扇區(qū)大小為512bytes,目前有4K大的扇區(qū)
前34個LBA(即LBA(0~33))記錄分區(qū)信息表,最后33個LBA用來備份分區(qū)信息,如下圖所示:
LBA0:開機管理程序+GPT分區(qū)標(biāo)識
LBA1:分區(qū)表位置、大小、備份GPT分區(qū)位置、分區(qū)表檢驗機制碼(CRC32)
LBA2~LBA32:記錄分區(qū)信息處
從LBA2開始:每個LBA可以記錄4筆分區(qū)記錄,4*32=128筆。512bytes=128bytes(分區(qū))+相關(guān)信息+64bytes(記錄開始/結(jié)束扇區(qū)號碼)
開機啟動程序
文件系統(tǒng)
磁盤格式
Windows98之前: FAT (或 FAT16)
Window2000之后:NTFS
Linux:Ext2(正統(tǒng)文件系統(tǒng))
相關(guān)概念
superblock:記錄此 filesystem 的整體資訊,包括inode/block的總量、使用量、剩餘量, 以及檔案系統(tǒng)的格式與相關(guān)資訊等;
inode:記錄檔案的屬性,一個檔案佔用一個inode,同時記錄此檔案的資料所在的 block 號碼;
block:實際記錄檔案的內(nèi)容,若檔案太大時,會佔用多個 block 。[目錄block記錄了該目錄下文件名和inode編號]
分類
索引式文件系統(tǒng)
日志式文件系統(tǒng)
Ext2文件系統(tǒng)介紹
Ext2格式化后如下圖所示:
block group下內(nèi)容介紹
data block
原則上,block 的大小與數(shù)量在格式化完就不能夠再改變了(除非重新格式化);
每個 block 內(nèi)最多只能夠放置一個檔案的資料;
承上,如果檔案大於 block 的大小,則一個檔案會佔用多個 block 數(shù)量;
承上,若檔案小於 block ,則該 block 的剩餘容量就不能夠再被使用了(磁碟空間會浪費)
inode table
inode存放內(nèi)容
該檔案的存取模式(read/write/excute);
該檔案的擁有者與群組(owner/group);
該檔案的容量;
該檔案建立或狀態(tài)改變的時間(ctime);
最近一次的讀取時間(atime);
最近修改的時間(mtime);
定義檔案特性的旗標(biāo)(flag),如 SetUID...;
該檔案真正內(nèi)容的指向 (pointer);
總結(jié)
每個 inode 大小均固定為 128 bytes (新的 ext4 與 xfs 可設(shè)定到 256 bytes);
每個檔案都僅會佔用一個 inode 而已;
承上,因此檔案系統(tǒng)能夠建立的檔案數(shù)量與 inode 的數(shù)量有關(guān);
系統(tǒng)讀取檔案時需要先找到 inode,並分析 inode 所記錄的權(quán)限與使用者是否符合,若符合才能夠開始實際讀取 block 的內(nèi)容。
inode記錄一個block編號需要4bytes
思考:如果一個文件有400M,假設(shè)默認(rèn)block大小為1K,磁盤是如何讀取這個文件的?
inode 記錄 block 號碼的區(qū)域定義為12個直接,一個間接, 一個雙間接與一個三間接記錄區(qū)
12個直接: 121K = 12K;1個間接:(1K/4bytes)1K = 256K;1個雙間接:((1K/4bytes)^2)1K = (2562)K;1個三間接:(((1K/4bytes)2)256)1K = (256^3)K; 12 + 256 + 256256 + 256256256 (K) = 16GB
2K,4K不能這么計算,因為會受到Ext2文件系統(tǒng)的限制
Superblock(1024bytes)
block 與 inode 的總量;
未使用與已使用的 inode / block 數(shù)量;
block 與 inode 的大小 (block 為 1, 2, 4K,inode 為 128bytes 或 256bytes);
filesystem 的掛載時間、最近一次寫入資料的時間、最近一次檢驗磁碟 (fsck) 的時間等檔案系統(tǒng)的相關(guān)資訊;
一個 valid bit 數(shù)值,若此檔案系統(tǒng)已被掛載,則 valid bit 為 0 ,若未被掛載,則 valid bit 為 1 。
Filesystem Description
描述每個 block group 的開始與結(jié)束的 block 號碼,以及說明每個區(qū)段 (superblock, bitmap, inodemap, data block) 分別介於哪一個 block 號碼之間
block bitmap
未使用中,使用中,空的
inode bitmap
記錄使用與未使用的 inode 號碼
創(chuàng)建一個文件的流程
先確定使用者對於欲新增檔案的目錄是否具有 w 與 x 的權(quán)限,若有的話才能新增;
根據(jù) inode bitmap 找到?jīng)]有使用的 inode 號碼,並將新檔案的權(quán)限/屬性寫入;
根據(jù) block bitmap 找到?jīng)]有使用中的 block 號碼,並將實際的資料寫入 block 中,且更新 inode 的 block 指向資料;
將剛剛寫入的 inode 與 block 資料同步更新 inode bitmap 與 block bitmap,並更新 superblock 的內(nèi)容。
問題:寫入文件時,第三步執(zhí)行完畢后,突然斷電了,該怎么解決?
<table>
<tr>
<td>1.索引式文件系統(tǒng)</td>
<td>2.日志式文件系統(tǒng)</td>
</tr>
</table>
XFS文件系統(tǒng)介紹
資料區(qū) (data section)
一個檔案系統(tǒng)活動登錄區(qū) (log section)
即時運作區(qū) (realtime section)
資料區(qū)
inode/data block/superblock
登錄區(qū)
即時運作區(qū)
命令xfs_info
類似 ext家族的 dumpe2fs命令
磁盤分區(qū)、格式化
分區(qū)類型
查看設(shè)備列表lsblk
查看設(shè)備唯一號blkid
查看文件系統(tǒng)分區(qū)類型parted device_name print
分區(qū)工具
gdisk:xfs分區(qū)
fdisk:ext分區(qū)
parted:兩者都可以
格式化
xfs分區(qū):mkfs.xfs
Ext4分區(qū):mkfs.ext4
通用:mkfs -t
| mkfs -t vfat /dev/sda5 | mkfs -t ext2 /dev/sda5 |
檢驗文件系統(tǒng)
xfs:xfs_repair dev_name
ext4:fsck.ext4 dev_name
總結(jié)
以上是生活随笔為你收集整理的硬盘基础知识&&分区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA圣诞代码,圣诞节(示例代码)
- 下一篇: 【交换机】交换机RLDP(环路检测&am