Linux系統的磁碟管理

2021-09-18 06:11:12 字數 3226 閱讀 8756

1.11 檢視磁碟容量。

命令 #df

-i 檢視inode使用狀況,如果達到100%,即使磁碟有剩餘,也會提示磁碟已滿。

-h 表示使用合適的單位顯示。

-k -m 分別表示用kb或mb表示。

linux 系統中硬體裝置相關配置檔案存放在/dev/下,常見硬碟命名:/dev/hda、/dev/sda、/dev/sdb、/dev/sdc、/dev/vda。不同硬碟介面,在系統中識別的裝置名稱不一樣。ide 硬碟介面在 linux 中裝置名為/dev/hda,sas、scsi、sata 硬碟介面在 linux 中裝置名為 sda,高效雲盤硬碟介面會識別為/dev/vda 等。

硬碟的最小儲存單位叫做 sector(扇區),每個 sector 儲存 512 位元組。作業系統在讀取硬碟的時候,不會逐個 sector 的去讀取,這樣效率非常低,為了提公升讀取效率,作業系統會一次性連續讀取多個 sector,即一次性讀取多個 sector 稱為乙個 block(塊)。由多個 sector 組成的 block 是檔案訪問的最小單位。block 的大小常見的有 1kb、2kb、4kb,block 在 linux 中常設定為 4kb,即連續八個 sector 組成乙個 block。

/boot 分割槽 block 一般為 1kb,而/data/分割槽或者/分割槽的 block 為 4k。可以通過如下三種方法檢視 linux 分割槽的 block 大小:

1、dumpe2fs /dev/sda1 |grep 「block size」

2、tune2fs -l /dev/sda1 |grep 「block size」

3、stat /boot/|grep 「io block」

1.12 硬碟 block 及 inode 詳解

block:檔案系統中儲存資料的最小單元,ext3檔案系統中,建立時預設4k;

inode:記錄檔案的屬性,許可權,同時會記錄該檔案的資料所在的block編號

block:儲存檔案的內容,如果檔案超過預設 block 大小,會自動占用多個 block。

每個 inode 與 block 都有編號,而每個檔案都會占用乙個inode, 能夠找到檔案的 inode,就可以找到該檔案所放置資料的block 號碼,從而

讀取該檔案內容。

作業系統進行格式化分割槽時,作業系統自動將硬碟分成兩個區域。乙個是資料 block 區,用於存放檔案資料;另乙個是 inode table 區,用於存放 inode 包含的元資訊。每個 inode 節點的大小,可以在格式化時指定,預設為 128bytes 或 256bytes,/boot 分割槽 inode 預設為 128bytes,其他分割槽預設為 256bytes,檢視 linux 系統 inode 方法如下:

dumpe2fs -l /dev/sda1 |grep node tune2fs -l /dev/sda1 |grep node

stat /boot/|grep node

格式化磁碟時,可以指定預設 inode 和 block 的大小,-b 指定預設 block 值,-i 指定預設 inode 值,命令如下:

mkfs.ext4 -b 4096 -i 256 /dev/sdb

1.13、硬鏈結介紹

一般情況下,檔名和 inode 編號是一一對應的關係,每個 inode 號碼對應乙個檔名。但 unix/linux 系統多個檔名也可以指向同乙個 inode 號碼。這意味著可以用不同的檔名訪問同樣的內容,對檔案內容進行修改,會影響到所有檔名。但刪除乙個檔名,不影響另乙個檔名的訪問。這種情況就被稱為硬鏈結(hard link)。

建立硬鏈結的命令為:ln jf1.txt jf2.txt,其中 jf1.txt 為原始檔,jf2.txt 為目標檔案。如上命令原始檔與目標檔案的 inode 號碼相同,都指向同乙個 inode。inode 資訊中有一項叫做"鏈結數",記錄指向該 inode 的檔名總數,這時會增加 1,變成 2

刪除乙個 jf2.txt 檔案,就會使得 jf1.txt inode 節點中的"鏈結數"減 1。如果該 inode值減到 0,表明沒有檔名指向這個 inode,系統就會**這個 inode 號碼,以及其所對應block 區域,如圖所示:

注意:硬鏈結不能跨分割槽鏈結,硬鏈結只能對檔案生效,對目錄無效,也即是目錄不能建立硬鏈結。硬鏈結原始檔與目標檔案共用乙個 inode 值,從某種意義上來,節省 inode空間。不管是單獨刪除原始檔還是刪除目標檔案,檔案內容始終存在。同時鏈結後的檔案不占用系統多餘的空間。

1.14軟鏈結介紹

除了硬鏈結以外,還有一種鏈結-軟鏈結。檔案 jf1.txt 和檔案 jf2.txt 的 inode 號碼雖然不一樣,但是檔案 jf2.txt 的內容是檔案 jf1.txt 的路徑。讀取檔案 jf2.txt 時,系統會自動將訪問者導向檔案 jf1.txt。無論開啟哪乙個檔案,最終讀取的都是檔案 jf1.txt。這時,檔案 jf2.txt 就稱為檔案 jf1.txt的"軟鏈結"(soft link)或者"符號鏈結(symbolic link)。檔案 jf2.txt 依賴於檔案 jf1.txt 而存在,如果刪除了檔案 jf1.txt,開啟檔案 jf2.txt 就會報錯:「no such file or directory」。軟鏈結與硬鏈結最大的不同是檔案 jf2.txt 指向檔案 jf1.txt 的檔名,而不是檔案 jf1.txt的 inode 號碼,因此檔案 jf1.txt 的 inode 鏈結數不會發生變化,如圖所示:

注意:軟鏈結可以跨分割槽鏈結,軟鏈結支援目錄同時也支援檔案的鏈結。軟鏈結原始檔與目標檔案 inode 不相同,從某種意義上來,會消耗省 inode 空間。不管是刪除原始檔還是重啟系統,該軟鏈結還存在,但是檔案內容會丟失,一旦新建源同名檔名,軟鏈結檔案恢復正常。

Linux系統的磁碟管理

3 解決裝置正忙的情況 方法一 發現程序 fuser vm dev sdb1 終止程序 fuser kvm dev sdb1 方法二 發現程序 lsof dev sdb1 終止程序 kill 9 pid 有時解除安裝時顯示裝置正忙的原因 是因為你就在掛載目錄下,此時退出掛載目錄,就可以正常解除安裝了...

Linux系統 磁碟管理

磁碟結構 1 硬碟的物理結構 磁頭 每面乙個磁碟 碟片 硬碟有多個碟片,每個碟片2面 2 硬碟的資料結構 扇區 碟片被分為多個扇形區域,每個扇形區存放512位元組的資料 磁軌 統一碟片不同半徑的同心圓 柱面 不同碟片相同半徑構成的圓柱面 扇區縱截面 3 磁碟介面 1 ide 並口 2 sata 串列...

Linux系統下的磁碟管理

我們都知道windows系統下有磁碟管理功能,相對應的,linux系統下也會有磁碟管理功能。該部分內容需要準備乙個空的u盤,因為之後我們需要格式化該u盤,並且要保證u盤格式為fat格式,最好為fat32 注意 當u盤插入電腦時,我們需要選擇將u盤接入到linux系統下,而不是windows系統下。d...