您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Linux 中怎么管理磁盤(pán)與文件系統(tǒng),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
磁盤(pán)分區(qū)表主要有兩種格式,一種是限制較多的 MBR 分區(qū)表,一種是較新且限制較少的 GPT 分區(qū)表。 MBR 分區(qū)表中,第一個(gè)扇區(qū)最重要,里面有:(1)主要開(kāi)機(jī)區(qū)(Master boot record, MBR)及分區(qū)表(partition table), 其中 MBR 占有 446 Bytes,而 partition table 則占 有 64 Bytes。 GPT 分區(qū)表除了分區(qū)數(shù)量擴(kuò)充較多之外,支持的磁盤(pán)容量也可以超過(guò) 2TB。
文件系統(tǒng)通常會(huì)將這兩部份的數(shù)據(jù)分別存放在不同的區(qū)塊,權(quán)限與屬性放置到 inode 中,至于實(shí)際數(shù)據(jù)則放置到 data block 區(qū)塊中。 另外,還有一個(gè)超級(jí)區(qū)塊 (superblock) 會(huì)記錄整個(gè)文件系統(tǒng)的整體信息,包括inode 與 block 的總量、使用量、剩余量等。
superblock:記錄此 filesystem 的整體信息,包括inode/block的總量、使用量、剩余量,以及文件系統(tǒng)的格式與相關(guān)信息等。
inode:記錄文件的屬性,一個(gè)文件占用一個(gè)inode,同時(shí)記錄此文件的數(shù)據(jù)所在的 block號(hào)碼。
block:實(shí)際記錄文件的內(nèi)容,若文件太大時(shí),會(huì)占用多個(gè) block 。
Ext2 格式化后有點(diǎn)像下面這樣:
每一個(gè)區(qū)塊群組(block group)的六個(gè)主要內(nèi)容說(shuō)明如下:
data block (數(shù)據(jù)區(qū)塊) data block 是用來(lái)放置文件內(nèi)容數(shù)據(jù)地方,在 Ext2 文件系統(tǒng)中所支持的 block 大小有 1K, 2K及 4K 三種而已。在格式化時(shí) block 的大小就固定了,且每個(gè) block 都有編號(hào),以方便 inode的記錄啦。
inode table (inode 表格)
inode 的內(nèi)容在記錄文件的屬性以及該文件實(shí)際數(shù)據(jù)是放置在哪幾號(hào) block 內(nèi)! 基本上,inode 記錄的文件數(shù)據(jù)至少有下面這些: 該文件的存取模式(read/write/excute); 該文件的擁有者與群組(owner/group); 該文件的容量; 該文件創(chuàng)建或狀態(tài)改變的時(shí)間(ctime); 最近一次的讀取時(shí)間(atime); 最近修改的時(shí)間(mtime); 定義文件特性的旗標(biāo)(flag),如 SetUID...; 該文件真正內(nèi)容的指向 (pointer);
Superblock (超級(jí)區(qū)塊) Superblock 是記錄整個(gè) filesystem 相關(guān)信息的地方, 沒(méi)有 Superblock ,就沒(méi)有這個(gè)filesystem 了。他記錄的信息主要有:
block 與 inode 的總量; 未使用與已使用的 inode / block 數(shù)量; block 與 inode 的大小 (block 為 1, 2, 4K,inode 為 128Bytes 或 256Bytes); filesystem 的掛載時(shí)間、最近一次寫(xiě)入數(shù)據(jù)的時(shí)間、最近一次檢驗(yàn)磁盤(pán) (fsck) 的時(shí)間 等文件系統(tǒng)的相關(guān)信息; 一個(gè) valid bit 數(shù)值,若此文件系統(tǒng)已被掛載,則 valid bit 為 0 ,若未被掛載,則 valid bit 為 1 。
Filesystem Description (文件系統(tǒng)描述說(shuō)明) 這個(gè)區(qū)段可以描述每個(gè) block group 的開(kāi)始與結(jié)束的 block 號(hào)碼,以及說(shuō)明每個(gè)區(qū)段 (superblock, bitmap, inodemap, data block) 分別介于哪一個(gè) block 號(hào)碼之間。這部份也能 夠用 dumpe2fs 來(lái)觀察的。
block bitmap (區(qū)塊對(duì)照表) 如果你想要新增文件時(shí)總會(huì)用到 block 吧!那你要使用哪個(gè) block 來(lái)記錄呢?當(dāng)然是選擇“空 的 block ”來(lái)記錄新文件的數(shù)據(jù)啰。 那你怎么知道哪個(gè) block 是空的?這就得要通過(guò) block bitmap 的輔助了。從 block bitmap 當(dāng)中可以知道哪些 block 是空的,因此我們的系統(tǒng)就能夠 很快速的找到可使用的空間來(lái)處置文件啰。 同樣的,如果你刪除某些文件時(shí),那么那些文件原本占用的 block 號(hào)碼就得要釋放出來(lái), 此 時(shí)在 block bitmap 當(dāng)中相對(duì)應(yīng)到該 block 號(hào)碼的標(biāo)志就得要修改成為“未使用中”啰!這就是 bitmap 的功能。
inode bitmap (inode 對(duì)照表) 這個(gè)其實(shí)與 block bitmap 是類似的功能,只是 block bitmap 記錄的是使用與未使用的 block 號(hào)碼, 至于 inode bitmap 則是記錄使用與未使用的 inode 號(hào)碼啰!
dumpe2fs /dev/vda5
日志式文件系統(tǒng) (journal) 會(huì)多出一塊記錄區(qū),隨時(shí)記載文件系統(tǒng)的主要活動(dòng),可加快 系統(tǒng)復(fù)原時(shí)間;
將文件系統(tǒng)與目錄樹(shù)結(jié)合的動(dòng)作我們稱為“掛載”。重點(diǎn)是:掛載點(diǎn)一定是目錄,該目錄為進(jìn)入該文件系統(tǒng)的入口。因此并不是你有任何文件系統(tǒng)都能使用,必須要“掛載”到目錄樹(shù)的某個(gè)目錄后,才能夠使用該文件系統(tǒng)的。
df:列出文件系統(tǒng)的整體磁盤(pán)使用量; du:評(píng)估文件系統(tǒng)的磁盤(pán)使用量(常用在推估目錄所占容量)
實(shí)體鏈接與符號(hào)鏈接: ln
Hard Link (實(shí)體鏈接, 硬式鏈接或?qū)嶋H鏈接)
假設(shè)我系統(tǒng)有個(gè) /root/crontab 他是 /etc/crontab 的實(shí)體鏈接,也就是說(shuō)這兩個(gè)文件名鏈接到同一個(gè) inode 。
Symbolic Link (符號(hào)鏈接,亦即是捷徑)
這個(gè) Symbolic Link 與 Windows 的捷徑可以給他劃上等號(hào),由Symbolic link 所創(chuàng)建的文件為一個(gè)獨(dú)立的新的文件,所以會(huì)占用掉 inode 與 block。
如果我們想要在系統(tǒng)里面新增一顆磁盤(pán)時(shí),應(yīng)該有哪些動(dòng)作需要做的呢:
對(duì)磁盤(pán)進(jìn)行分區(qū),以創(chuàng)建可用的 partition ;
對(duì)該 partition 進(jìn)行格式化 (format),以創(chuàng)建系統(tǒng)可用的 filesystem;
若想要仔細(xì)一點(diǎn),則可對(duì)剛剛創(chuàng)建好的 filesystem 進(jìn)行檢驗(yàn);
在 Linux 系統(tǒng)上,需要?jiǎng)?chuàng)建掛載點(diǎn) (亦即是目錄),并將他掛載上來(lái);
觀察磁盤(pán)分區(qū)狀態(tài)
lsblk 列出系統(tǒng)上的所有磁盤(pán)列表
blkid 列出設(shè)備的 UUID 等參數(shù)
parted 列出磁盤(pán)的分區(qū)表類型與分區(qū)信息
磁盤(pán)分區(qū): gdisk/fdisk
磁盤(pán)格式化(創(chuàng)建文件系統(tǒng))
XFS 文件系統(tǒng) mkfs.xfs
XFS 文件系統(tǒng) for RAID 性能優(yōu)化 (Optional)
EXT4 文件系統(tǒng) mkfs.ext4
其他文件系統(tǒng) mkfs
文件系統(tǒng)檢驗(yàn)
xfs_repair 處理 XFS 文件系統(tǒng)
fsck.ext4 處理 EXT4 文件系統(tǒng)
文件系統(tǒng)掛載與卸載
mount
單一文件系統(tǒng)不應(yīng)該被重復(fù)掛載在不同的掛載點(diǎn)(目錄)中;
單一目錄不應(yīng)該重復(fù)掛載多個(gè)文件系統(tǒng);
要作為掛載點(diǎn)的目錄,理論上應(yīng)該都是空目錄才是。
設(shè)置開(kāi)機(jī)掛載
開(kāi)機(jī)掛載 /etc/fstab 及 /etc/mtab,其實(shí) /etc/fstab (filesystem table) 就是將我們利用 mount 指令進(jìn)行掛載時(shí), 將所有的選項(xiàng)與參數(shù)寫(xiě)入到這個(gè)文件中就是了。
內(nèi)存交換空間(swap)之創(chuàng)建
使用實(shí)體分區(qū)創(chuàng)建swap
使用文件創(chuàng)建swap
關(guān)于Linux 中怎么管理磁盤(pán)與文件系統(tǒng)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。