Linux基礎命令—tune2fs

一生有你llx發表於2018-11-07

tune2fs

      tune2fs允許系統管理員在Linux ext2、ext3或ext4檔案系統上調整各種可調的檔案系統引數。這些選項的當前值可以使用-l選項顯示,也可以通過使用dumpe2fs (8)程式顯示。

      此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

     tune2fs [選項]  device

     tune2fs [ -l ]  [ -c max-mount-counts ]  [ -e errors-behavior ]  [ -f ]  [ -i interval-between-checks ]  [ -j ]  [ -J journal-options ]  [ -m reserved-blocks-percentage ]  [-o [^]mount-options[,…]  ]  [ -r reserved-blocks-count ]  [ -s sparse-super-flag ]  [ -u user ]  [ -g group ]  [ -C mount-count ]  [ -E extended-options ]  [ -L  volume-name  ]  [  -M last-mounted-directory  ]  [ -O [^]feature[,…]  ]  [ -T time-last-checked ]  [ -U UUID ]  device

 

2、選項列表

選項

說明

-l

顯示裝置的詳細資訊

-c max-mount-counts

檢查檔案系統之前,調整最大掛載次數。如果最大掛載計數為0或-1,e2fsck(8)和核心將忽略檔案系統的掛載次數。如果對強制檢查檔案系統的掛載計數,將避免在使用日誌檔案系統時一次檢查所有檔案系統。

-C mount-count

設定檔案系統的掛載次數,如果設定為比-c選項設定的max-mount-counts引數更大的值,e2fsck(8)將在下次重新啟動時檢查檔案系統。

-e error-behavior

當檢測到錯誤時,更改核心程式碼的行為。在任何情況下,檔案系統錯誤都會導致e2fsck(8)在下一次引導時檢查檔案系統。錯誤行為可以是下列行為之一:

continue,繼續執行正常執行。

remount-ro,重新以只讀的方式掛載。

panic,產生kernel panic。

-E extended-options

為檔案系統設定擴充套件選項。擴充套件選項是逗號分隔的,可以使用相等號(‘=’)符號進行引數化。支援下列擴充套件選項:

stride=stride-size,為RAID陣列配置具有步長檔案系統塊的檔案系統。這是在移動到下一個磁碟之前讀取或寫入磁碟的塊數。這主要影響檔案系統後設資料(如點陣圖)在mke2fs(2)時間的放置,以避免將它們放置在單個磁碟上,這可能會損害效能。它也可以被塊分配器使用。

stripe_width=stripe-width,為RAID陣列配置檔案系統,每條頻寬的檔案系統塊。這通常是stride-size *N,其中N是RAID中資料磁碟的數目(例如RAID 5 N+1,RAID 6 N+2)。這允許塊分配器在寫入資料時防止對RAID條中的奇偶性進行讀-修改-寫入(如果可能的話)。

hash_alg=hash-alg,設定用於具有雜湊b樹目錄的檔案系統的預設雜湊演算法。接受的有效演算法有:legacy、half_md4和tea。

mount_opts=mount_option_string,設定一組預設的掛載選項,這些選項將在掛載檔案系統時使用。與使用-o選項指定的基於位掩碼的預設掛載選項不同,mount_option_string是最大長度為63位元組的任意字串,儲存在超級塊中。ext 4檔案系統驅動程式將首先應用基於位掩碼的預設選項,然後在解析從mount (8)程式傳遞的掛載選項之前解析mount_option_string。此超級塊設定僅在2.6.35以上核心中執行,而ext2和ext3檔案系統驅動程式則完全不執行。

test_fs,在檔案系統超級塊中設定一個標誌,指示可以使用試驗性核心程式碼(如ext4dev檔案系統)掛載它。

^test_fs,清除test_fs標誌,指示僅使用production-level檔案系統程式碼掛載檔案系統。

-f

強制執行。當從具有外部日誌的檔案系統(或損壞到似乎有外部日誌)而外部日誌不可用的檔案系統中刪除Has_Journal檔案系統特性時,此選項非常有用。

-g group

設定可以使用保留檔案系統塊的組。group引數可以是數值gid或組名。如果給定組名,則在將其儲存在超級塊之前,將其轉換為數字gid。

-i  interval-between-checks[d|m|w]

調整兩個檔案系統檢查之間的最大時間。沒有字尾或d將數字間隔檢查解釋為天,m為月,w為周.值為零將禁用與時間相關的檢查。強烈建議啟用-c(mount-count-dependent)檢查或-i(time-dependent)檢查,以強制對檔案系統進行定期完整的e2fsck(8)檢查。如果不這樣做,可能會導致檔案系統損壞(由於磁碟、電纜、記憶體或核心錯誤)而忽略,最終導致資料丟失或損壞。

-j

向檔案系統新增ext3日誌,如果沒有指定-J選項,則將使用預設日誌引數來建立儲存在檔案系統中的適當大小的日誌(給定檔案系統的大小)。請注意,您必須使用具有ext3支援的核心才能實際使用日誌。

如果此選項用於在已安裝的檔案系統上建立日誌,則將在檔案系統的頂層目錄中建立一個不可變的檔案,即日誌,因為它是在安裝檔案系統時建立日誌inode的唯一安全方法。雖然ext 3日誌是可見的,但在安裝檔案系統時刪除它或修改它是不安全的;因此,檔案被標記為不可變。在檢查未掛載的檔案系統時,e2fsck(8)將自動將.Journal檔案移動到不可見的保留日誌inode。對於除根檔案系統以外的所有檔案系統,這應該在下一個重新啟動週期中自動和自然地發生。由於根檔案系統是隻讀安裝的,因此必須從救援軟盤上執行e2fsck(8)才能完成此轉換。

-J journal-options

重寫預設ext 3日誌引數。日記選項是逗號分隔的,可以使用相等號(‘=’)符號進行引數化。支援下列日誌選項:

size=journal-size,建立一個儲存在檔案系統中的日誌,大小journal-size。日誌的大小必須至少為1024個檔案系統塊(如果使用1k塊,則為1MB;如果使用4k塊,則為4MB)。並且可能不超過102,400個檔案系統塊。檔案系統中必須有足夠的空閒空間來建立這樣大小的日誌。

device=external-journal,將檔案系統附加到位於外部日誌上的日誌塊裝置上。外部日誌必須已使用以下命令建立“mke2fs  -O  journal_dev  external-journal”。注意,外部日誌必須與將要使用的檔案系統以相同的塊大小進行格式化。此外,雖然支援將多個檔案系統附加到單個外部日誌,但Linux核心和e2fsck(8)目前還不支援共享外部日誌。除了直接指定裝置名稱之外,還可以通過LABEL=label或UUID=UUID指定外部日誌,以便通過儲存在日誌開頭的ext2超級塊中的卷標籤或UUID來定位外部日誌。使用dupe2fs(8)顯示日誌裝置的卷標籤和UUID。

size和device只能有一個。

-L volume-label

設定檔案系統卷標。ext2檔案系統標籤最多可以長達16個字元;如果卷標籤超過16個字元,tune2fs將截斷它並列印警告。卷標籤可由mount(8)、fsck(8)和/etc/fstab(5)(可能還有其他)使用,方法是指定LABEL=volume_label,而不是/dev/hda 5這樣的塊特殊裝置名。

-m  reserved-blocks-percentage

設定只能由特權程式分配的檔案系統百分比。保留一些檔案系統塊以供特權程式使用是為了避免檔案系統碎片,並允許系統守護程式(如syAdd.1-d(8)在非特權程式被阻止寫入檔案系統之後繼續正確執行。通常,保留塊的預設百分比是5%。

-M last-mounted-directory

設定最後的掛載目錄

-o [^]mount-option[,…]

在檔案系統中設定或清除指定的預設掛載選項。預設的掛載選項可以被“/etc/fstab”(5)中指定的掛載選項覆蓋,也可以在命令列引數上覆蓋mount(8)。舊核心可能不支援此特性;特別是,在2.4.20之前的核心幾乎肯定會忽略超級塊中的預設掛載選項欄位。可以通過用逗號分隔功能來清除或設定多個掛載選項。以插入字元(‘^’)為字首的掛載選項將在檔案系統的超級塊中清除;沒有字首字元的掛載選項或以‘+’作為字首的掛載選項將新增到檔案系統中。可以使用tune2fs設定或清除下列掛載選項:

debug,bsdgroups,user_xattr,acl,uid16,journal_data,journal_data_ordered,journal_data_writeback,nobarrier,block_validity,discard,nodelalloc

-O[^]feature[,…]

設定或清除檔案系統中指定的檔案系統特性(選項)。多個檔案系統特性可以通過用逗號分隔特性來清除或設定。以插入字元(‘^’)為字首的檔案系統特性將在檔案系統的超級塊中清除;沒有字首字元或字首為‘+’的檔案系統特性將新增到檔案系統中。可以使用tune2fs設定或清除下列檔案系統特性:dir_index,filetype,flex_bg,has_journal,large_file,resize_inode,sparse_super,uninit_bg。

-r reserved-blocks-count

設定保留檔案系統塊的數目

-T time-last-checked

使用e2fsck設定上次檢查檔案系統的時間。時間使用當前(本地)時區進行解釋。這在使用邏輯卷管理器對檔案系統進行一致快照的指令碼中很有用,然後在空閒時間檢查檔案系統,以確保它沒有因為硬體問題而損壞,等等。如果檔案系統是乾淨的,那麼這個選項可以用來設定原始檔案系統上的最後一次檢查時間。最後一次檢查的格式是國際日期格式,有一個可選的時間說明符,即YYYYMMDD[HH[MM[SS]。關鍵字Now也被接受,在這種情況下,上一次檢查時間將設定為當前時間。

-u user

設定可以使用保留檔案系統塊的使用者。使用者可以是uid或使用者名稱。如果給定使用者名稱,則將其轉換為數字uid,然後將其儲存在超級塊中。

-U UUID

將檔案系統的通用唯一識別符號(UUID)設定UUID。UUID的格式是由連字元分隔的一系列十六進位制數字,如“c1b9d5a2-f162-11cf-9ece-0020afc76f16”。UUID引數也可能是以下內容之一:

clear,清除UUID。

random,產生一個隨機的UUID。

time,產生一個基於時間的UUID。

 

3、例項

1)檢視sdb4的詳細資訊 

[root@localhost ~]# tune2fs -l /dev/sdb4

tune2fs 1.41.12 (17-May-2010)

Filesystem volume name:   hello

Last mounted on:          <not available>

Filesystem UUID:          e2a0cb30-f3ca-47de-92b8-780296960d93

First inode:              11

Inode size:             128

Default directory hash:   half_md4

Directory Hash Seed:     4930bf0f-771e-4940-9255-bee40d138079

2)設定最大掛載次數 

[root@localhost ~]# tune2fs -c 30 /dev/sdb4       //設定最大掛載次數

tune2fs 1.41.12 (17-May-2010)

Setting maximal mount count to 30

You have new mail in /var/spool/mail/root

[root@localhost ~]# tune2fs -l /dev/sdb4         //檢視詳細資訊

tune2fs 1.41.12 (17-May-2010)

Filesystem volume name:   hello

Maximum mount count:      30                         //最大掛載次數已經修改為30

Directory Hash Seed:     4930bf0f-771e-4940-9255-bee40d138079

[root@localhost ~]#       

相關文章