天天看點

Linux基礎指令---tune2fs

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       //設定最大挂載次數

        Setting maximal mount count to 30

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

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

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

        [root@localhost ~]#       

繼續閱讀