本篇文章主要描述了Linux硬盤分區的過程,及其為何這樣分區的原理。
文件系統重點:inode(索引節點),block(邏輯區塊),superblock(每個檔案系統開始的位置的那個block,用於存儲像是檔案系統的大小,空的或填滿的區塊,以及它各自的總數等等信息)
磁盤的物理組成:
圓形的磁盤盤
機械手臂,與在機械手臂上的磁盤讀取頭(可擦寫磁盤盤上的數據)
主軸馬達,可以轉動磁盤盤,讓機械手臂的讀取頭在磁盤盤上讀寫數據
磁盤盤的物理組成:
扇區(sector)為最小的物理儲存單位,每個扇區為512bytes
將扇區組成一個圓,那就是磁柱,磁柱是分區的最小單位
第一個扇區最重要,裡面有mbr(主要開機區)及分割表,其中mbr占有446bytes,而分區表則占有64bytes
磁盤分區:指定分區的起始與結束磁柱
分區的磁柱范圍記錄在第一個扇區的分割表中
Inode:存放權限與屬性,有:
1.該檔案的擁有者與群組(owner/group);
2. 該檔案的存取模式(read/write/excute);
3. 該檔案的類型(type);
4. 該檔案建立或狀態改變的時間(ctime)、近一次的讀取時間(atime)、近修改的時間(mtime);
5. 該檔案的容量;
6.定義檔案特性的旗標(flag),如 SetUID...;
7. 該檔案真正內容的指向 (pointer);
Data block:存放實際數據
Superblock:記錄整個文件系統的整體信息,包括inode與block的總量,使用量,剩余量等
由於ext2是索引式文件系統,通常情況下不需要常常進行碎片整理
如果硬盤文件系統高達數百gb,將所有的inode與block通通放置在一起將是很不智的決定,因為inode與block的數量太龐大,不容易管理;因此ext2文件系統在格式化的時候基本上是區分為多個區塊群組(block group)的,每個區塊群組都有獨立的inode/block/superblock系統
一個文件系統僅有一個superblock;除了第一個block group內會含有superblock之外,後續的block group不一定含有superblock,而若含有superblock則該superblock主要是作為第一個block group內superblock的備份,可以進行superblock的救援
Dumpe2fs /dev/hda2:查看hda2分區與superblock的信息
目錄並不只會占用一個block而已,就是說:在目錄底下的檔案數如果太多而導致一個block無法容納下所有的檔名與inode對照表時,linux會給予該目錄多一個block來繼續記錄先關的數據
如果檔案太過離散,可以將文件系統內的數據全部復制出來,然後將文件系統重新格式化,再講數據復制回去就可以解決問題
日志式文件系統:ext3:
預備:當系統要寫入一個檔案是,會現在日志記錄區塊中記錄某個檔案准備要寫入的信息
實際寫入:開始寫入當時的權限與數據;開始更新metadata的數據
結束:完成數據域metadata的更新後,在日志記錄區塊當中完成該檔案的記錄
當文件系統出現不一致的情況後,系統只需要去檢查日志記錄區塊,就可以找到異常的檔案,然後針對該檔案進行一致性檢查即可,而不必針對整塊filesystem去檢查,達到快速修復filesystem的能力
常見的支持文件系統有:
傳統文件系統:ext2,mimix,ms-dos,fat(用vfat模塊),iso9660(光盤)等等
日志式文件系統:ext3,reiserfs,windows’sntfs,ibm’s jfs,sgi’s xfs
網絡文件系統:nfs,smbfs
Linux的標准文件系統是ext2
查看linux支持的文件系統:ll /lib/modules/$(uname -r)/kernel/fs
查看系統目前已加載到內存中支持的文件系統:cat /proc/filesystems
硬連結(不能跨filesystem,不能link目錄):通過文件系統的inode連結來產生新檔名,而不是產生新檔案
軟連結:相當於windows下的快捷方式
建立連結文件:Ln [-sf] 源文件目標文件
Linux重新分區後,可能需要重新啟動來更新核心的分割表;在不重啟的情況下,也可以通過下面的命令來執行:partprobe;partprobe的作用是高職核心必須要讀取新的分割表而已
硬盤分區時,最好在單人維護模式下比較安全一些;在進行fdisk的時候,如果該硬盤的某個partition還在用當中,那麼很有可能使系統核心無法重載硬盤的partition table,解決的方法是敬愛那個該使用中的partition給卸除,然後再重新進入fdisk一遍,重新寫入partition table,就可以成功了。
以上便是Linux硬盤分區注意事項及操作步驟,希望能幫助到大家,謝謝。