linux的文件系統管理(ext4-tune2fs-e2fsck-xfs文件系統)


文件系統管理

文件系統是Linux系統存放文件的空間。文件系統的類型有很多種,CentOS支持多種文件系統,目前常用的是ext4和xfs文件系統。我們以ext4文件系統為例來說明對文件系統的管理。

UFS —— Unix Filesystem

1.ext4文件系統

1.基本概念

軟件包:e2fsprogs

ext4文件系統是Linux上主要的文件系統,它的早期是ext2文件系統,ext2全稱第二代擴展文件系統(Second Extended filesystem),是為了替代早期ext文件系統開發的。ext2發展后的文件系統是ext3,ext3發展后的文件系統是ext4。

人們在存儲文件時,有各種不同的需求,為了滿足不同的需求,文件系統有各種不同的屬性,對這種不同屬性的設置、修改就是對文件系統的管理。

文件系統的所有屬性都有缺省值,

文件系統的屬性有很多,我們不可能對所有的屬性進行探討。我們只討論實際中常用的屬性。其他屬性請參看man ext4及文件系統命令的幫助。

2.使用的命令:

mkfs.ext4  —創建ext4文件系統會。調用mke2fs — 創建 ext2/ext3/ext4 文件系統

tune2fs   — 調整、顯示文件系統參數

dumpe2fs   — 列出並轉儲文件系統的信息,可用於查看文件系統的屬性。

e2fsck     — 檢查修復文件系統

resize2fs    --重置LV大小,自動把新增空間制作文件系統   同時i-node也會變化

e2label   --設置卷標

3.屬性:

1、塊大小

2、inode

文件系統可以存儲的文件的數量不能超過inode的值,即使還有空間,但文件個數=inode值,文件系統仍然是滿的。

3、mount選項

文件系統在掛載時,缺省的掛載選項,這些選項不是在執行mount命令時制定,而是在文件系統自己具有。/etc/fstab文件中的第四字段為'defaults'就是標明使用文件系統自帶的掛載選項。

卷標用於標示該文件系統的字符串。是由人為指定的。

 

塊大小和i-node:只能在創建文件系統時指定。一旦文件系統創建完成,塊大小不能更改。

2.查看文件和文件系統

1.查看文件占據占據塊大小

文件系統存儲文件是按塊(block)存放文件的,給文件分配的最小空間單位就是塊。文件系統在創建時,會按照一個統一的大小,把空間划分成N多的存儲塊。存儲文件時,分區會根據文件的大小,給其分配足夠多的block塊,若塊中空間未能存滿,也不再存其他我文件。

我們使用

ls  -l    --查看到的是文件的實際大小

但使用

du  f1   --查看文件占據的分區空間大小,即塊

du  /var --查看目錄及其內容占的塊大小

du  -s  /var    --只查看目錄

ext4系統在分區格式化時默認設置的塊大小和空間大小有關,超1G時是4KB。

文件系統的信息可使用tnue2fs命令查看:

tune2fs -l 設備名

注:塊的大小只能在格式化時做設置,之后不可更改,除非重新格式化

2.dumpe2fs查看文件系統的超級塊和塊組的信息

dumpe2fs 命令可列出磁盤設備上文件系統的超級塊和塊組的信息,並轉儲(Dump)文件系統信息。

dumpe2fs 命令格式如下:

dumpe2fs <參數> <設備>

主要參數說明如下:

* -h — 只顯示超級塊中的信息,不顯示塊組信息

-i — 從指定的文件系統image 文件中讀取文件系統信息

-x — 顯示詳細的塊分組信息,塊號使用十六進制格式

-f — 強制顯示文件系統的信息,即使文件系統中含有無法識別的信息

-b — 顯示文件系統中保留做壞塊的信息

-V — 顯示版本號

3.Inode節點:

1.基本概念

inode節點簡稱i節點

文件系統創建時,會把所有的block,划分成兩大區域:inode區、數據區

inode區:一個inode對應一個文件,即一個文件會占用一個inode,inode會占用一定的空間用於存儲該文件的元數據信息。

文件元數據:權限、大小、所屬、創建時間、更改時間、地址指針(指向文件在數據IO區占用的空間的地址編號)等。

數據區,根據文件的大小,給其分配足夠多的block,存儲文件內容

2.查看命令

ls  -i   ---查看的文件的inode編號

stat  f1   ---查看文件的屬性,即inode節點中的信息

df  -h   ---查看各分區數據區的使用率

df  -i   ---查看各分區inode區的使用率,顯示單位:個數

注:每個文件系統的第一個inode,不用與存儲文件屬性,專用於存儲本分區的屬性,如:分區大小,地址范圍,使用率等

該塊稱為 超級塊(supper  block)

31個inode,作為超級的備份塊,稱為次超級塊

 

 

 

4.mke2fs命令創建文件系統

1.主要參數說明如下:

mkfs.ext4  -b 塊值      -- 指定文件系統數據塊的大小,有效的值為1024、2048和4096。

mke2fs <參數> <設備>      --參考man  mkfs.ext4

*  -N — 指定 inode 數量,覆蓋使用-i定義計算出的值。

*  -L — 設置所創建文件系統的標簽

-c — 在創建文件系統之前檢查指定的設備上是否有壞快。如果連定義2次該參數,系統將采用慢速的讀/寫方式來代替較快的讀方式來檢查壞快

-i — 定義多少字節使用一個inode,即bytes/inode,值越大,文件系統上的 inode越少。該值不能比塊大小小,因為1個塊不能被2個文件用。

-I — 每個inode所使用的字節數。缺省512,不能比128小,太大會影響空間使用率,

-j — 創建使用ext3 卷號的文件系統

-J <擴展參數>—為使用ext3 卷號的文件系統指定一些擴展參數

-D — 使用直接IO讀寫

-n — 演習創建文件系統

-F — 強制執行

2.ext4配置文件和ext文件系統的缺省特性

/etc/mke2fs.conf  --創建ext4文件系統的參數文件

可以再該文件中修改創建時的缺省值

ext2文件系統的缺省特性:

ext_attr resize_inode dir_index filetype sparse_super

ext3文件系統的缺省特性:

has_journal ext_attr resize_inode dir_index filetype sparse_super

ext4文件系統的缺省特性:

has_journal ext_attr resize_inode dir_index filetype sparse_super needs_recovery extent 64bit flex_bg  huge_file uninit_bg dir_nlink extra_isize

5.tune2fs 命令調整文件系統參數

對於已創建的文件系統,可使用tune2fs 命令來調整某些參數。

1.tune2fs 命令格式

tune2fs <參數> <設備>      --具體參數請參考man  tune2fs

主要參數說明如下:

-j — 調整文件系統為ext3 類型,為系統增加ext3 的日志

-J — 更詳細的日志控制

*  -l — 列出文件系統supper block 的內容,經常用於查看文件系統的元數據。

*  -L — 為文件系統設置卷標

-m — 指定文件系統保留的塊,百分比表示

*  -o[^] — 設置或取消掛載參數

-O — 設置文件系統特性,如ext3轉ext4,增加特性即可

*  -c max-mount-counts   --滿足掛載次數就檢查

*  -C mount-count--掛載次數

*  -i interval-between-checks  d天m月 w周 --距離下次檢查的時間

-U clear — 清除文件系統的 UUID

-U random — 為文件系統產生隨機的UUID

-U time — 為文件系統產生基於時間的 UUID

tune2fs -O extents,uninit_bg,dir_index   --增加系統特性

2.掛載參數

掛載說明

兩個分區掛載到同一目錄下,后掛的生效,先掛的被隱藏在內部,卸載先卸載后掛的分區允許掛載到非空目錄下,原目錄下內容會被隱藏,只有卸載分區后,才會顯現建議:掛載前,一定確認掛載點是空目錄

tune2fs  -o  ^acl  /dev/sdb1   --取消用戶acl擴充特性

user_xattr  使能用戶設置的擴充特性。

acl         使能擴充的訪問控制。

3.示例

tune2fs  -c  5  /dev/sdb1   ---設定掃描頻率,該分區每掛載5次后,自動檢查一次

tune2fs  -i  5d  /dev/sda7   ---設定每5天掃描一次   5m  月    5w 周

tune2fs  -c  -1  /dev/sda7   ---設置為負一 ,表示取消

tune2fs  -i  0  /dev/sda7   ---設置為0 零 ,表示取消

tune2fs  -o ^acl  /dev/sdb1   --取消用戶acl擴充特性

tune2fs  -O  extents,uninit_bg,dir_index   --增加系統特性

6.e2fsck命令修復文件系統

如果文件系統出現問題,可以使用e2fsck 工具檢查並修復。

1.e2fsck格式與參數

e2fsck 命令格式如下:

e2fsck <參數> <設備>

 

主要參數說明如下:

-p — 自動修復

-a — 同-p

-B — 指定區塊的大小,單位為字節

-c — 一並執行badblocks,以標示損壞的區塊

-d — 顯示排錯信息

-f — 即使文件系統沒有錯誤跡象,仍強制地檢查正確性

-F — 執行前先清除設備的緩沖區

-y — 以非交互方式執行,所有問題均設置以“yes”回答

 

2.傳統的UFS檢查方式和mkfs與mke2fs

fsck  -t  ext4   /dev/sda7   ---掃描分區

 

7.文件系統下的文件擴充特性

1.查看特性及特性說明 lsattr 文件名

lsattr  文件名

 

特性說明:有用 ASacdisu 表示的幾種特性

A   它的atime(訪問時間)記錄不會改變。這可以在電腦系統中避免某些磁盤I/O處理.

a   只能在添加模式下打開用於寫入。只有超級用戶可以設置或清除該屬性。

d   文件不能對其運行 dump(8) 程序進行備份。

i   文件不能進行修改:你既不能刪除它, 也不能給它重新命名,你不能對該文件創建硬鏈接, 而且也不能對該文件寫入任何數據。只有超級用戶可以設置或清除該屬性.

S   對文件的修改會同步寫入到磁盤上。和 sync掛載選項有相同的效果。

E   擴充特性

2.修改屬性:chattr

chattr [-RV] +-=屬性  文件名

R:遞歸  v:verbose

 

8.xfs系統的一些命令

man -k xfs   --查看有那些命令

mkfs.xfs    --創建xfs文件系統

xfs_info    --查看

xfs_admin   --管理

xfs_growfs  --擴充

xfs_repair  --檢查


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM