原文:http://czmmiao.iteye.com/blog/1749232html
tune2fs簡介
tune2fs是調整和查看ext2/ext3文件系統的文件系統參數,Windows下面若是出現意外斷電死機狀況,下次開機通常都會出現系統自檢。Linux系統下面也有文件系統自檢,並且是能夠經過tune2fs命令,自行定義自檢週期及方式。
tune2fs用法
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 ] [ -L volume-name ] [ -M last-mounted-directory ] [ -O [^]feature[,...] ] [ -T time-last-checked ] [ -U
UUID ] device
經常使用選項說明:
-l:查看文件系統信息
-c:max-mount-counts:設置強制自檢的掛載次數,若是開啓,每掛載一次mount conut就會加1,超過次數就會強制自檢
-C:mount-count:設置文件系統掛載的次數,若是同時對一個文件系統指定了-c選項且-c參數的值大於-C,則將在下次啓動時進行強制自檢
-i:interval-between-checks[d|m|w] 設置強制自檢的時間間隔[d天m月w周]
-m:reserved-blocks-percentage 保留塊的百分比
-j:將ext2文件系統轉換爲ext3類型的文件系統,ext2能夠轉ext3 但不能夠轉回,轉回數據丟失
-L:volume-label 相似e2label的功能,能夠修改文件系統的標籤
-r:reserved-blocks-count 調整系統保留空間
-o:[^]mount-option[,...] Set or clear the indicated default mount options in the filesystem. 設置或清除默認掛載的文件系統選項
-I:設置自檢天數
-m:設置預留空間
-U:要設定 UUID 可使用命令「tune2fs -U UUID 裝置檔案」,(要顯示各儲存裝置的 UUID,可使用命令
-e:error_behavior
下面列出3種發現錯誤後的行爲:
continue:繼續執行檢測
remount-ro:從新以只讀方式掛接
panic:產生一次系統崩潰(panic)
注意:默認狀況下若是系統檢測到文件系統有錯誤,會設置文件系統在下次啓動的時候執行fsck檢測。-c和-C參數能夠用來設置文件系統在下次重啓的時候強制繼續執行fsck。-i和-c參數也能夠同時設置在一個文件系統上。請注意,若是文件系統達成max_mount_counts或者check_interval的某一個條件,都會執行文件系統檢查。node
tune2fs -l的輸出介紹算法
tune2fs -l /dev/ram3dom
檔案系統 volume 名稱 (Filesystem volume name):便是檔案系統標籤 (Filesystem label),用做簡述該檔案系統的用途或其儲存數據。現時 GNU/Linux 都會用 USB 手指/IEEE1394 硬盤等可移除儲存裝置的檔案系統標籤做爲其掛載目錄的名稱,方便使用者識別。而個別 GNU/Linux distribution 如 Fedora、RHEL 和 CentOS 等亦在 fstab 取代傳統裝置檔案名稱 (即 /dev/sda1 和 /dev/hdc5 等) 的指定開機時要掛載的檔案系統,避免偶然由於 BIOS 設定或插入次序的改變而引發的混亂。可使用命令 e2label 或 tune2fs -L 改變。
上一次掛載於 (Last mounted on)' :上一次掛載檔案系統的掛載點路徑,此欄通常爲空,不多使用。可使用命令 tune2fs -M 設定。
檔案系統 UUID (Filesystem UUID):一個通常由亂數產生的識別碼,能夠用來識別檔案系統。個別 GNU/Linux distribution 如 Ubuntu] 等亦在 fstab 取代傳統裝置檔案名稱 (即 /dev/sda1 和 /dev/hdc5 等) 的指定開機時要掛載的檔案系統,避免偶然由於 BIOS 設定或插入次序的改變而引發的混亂。可使用命令 tune2fs -U 改變。
(Filesystem magic number):用來識別此檔案系統爲 Ext2/Ext3/Ext3 的簽名,位置在檔案系統的 0x0438 - 0x0439 (Superblock 的 0x38-0x39),現時一定是 0xEF53。
檔案系統版本編號 (Filesystem revision #) - 檔案系統微版本編號,只能夠在格式化時使用 mke2fs -r 設定。如今只支援[1]:
0 - 原始格式,Linux 1.2 或之前只支援此格式[2]
1 (dymanic) - V2 格式支援動態 inode 大小 (現時通常都使用此版本)
檔案系統功能 (Filesystem features):開啓了的檔案系統功能,可使用合令 tune2fs -O 改變。如今能夠有如下功能:
has_journal - 有日誌 (journal),亦表明此檔案系統必爲 Ext3 或 Ext4
ext_attr - 支援 extended attribute
resize_inode - resize2fs 能夠加大檔案系統大小
dir_index - 支援目錄索引,能夠加快在大目錄中搜索檔案。
filetype - 目錄項目爲否記錄檔案類型
needs_recovery - e2fsck 檢查 Ext3/Ext4 檔案系統時用來決定是否須要完成日誌紀錄中未完成的工做,快速自動修復檔案系統
extent - 支援 Ext4 extent 功能,能夠加快檔案繫系效能和減小 external fragmentation
flex_bg
sparse_super - 只有少數 superblock 備份,而不是每一個區塊組都有 superblock 備份,節省空間。
large_file - 支援大於 2GiB 的檔案
huge_file
uninit_bg
dir_nlink
extra_isize
檔案系統旗號 (Filesystem flags):signed_directory_hash
缺省掛載選項 (Default mount options):掛載此檔案系統缺省會使用的選項
檔案系統狀態 (Filesystem state):能夠爲 clean (檔案系統已成功地被卸載)、not-clean (表示檔案系統掛載成讀寫模式後,仍未被卸載) 或 erroneous (檔案系統被發現有問題)
錯誤處理方案 (Errors behavior):檔案系統發生問題時的處理方案,能夠爲 continue (繼續正常運做) 、remount-ro (從新掛載成只讀模式) 或 panic (即時當掉系統)。可使用 tune2fs -e 改變。
做業系統類型 (Filesystem OS type):創建檔案系統的做業系統,能夠爲 Linux/Hurd/MASIX/FreeBSD/Lites[1]
Inode 數目 (Inode count):檔案系統的總 inode 數目,亦是整個檔案系統所可能擁有檔案數目的上限
區塊數目 (Block count):檔案系統的總區塊數目
保留區塊數目 (Reserved block count):保留給系統管理員工做之用的區塊數目
未使用區塊數目 (Free blocks):未使用區塊數目
未使用 inode 數目 (Free inodes):未使用 inode 數目
第一個區塊編數 (First block):Superblock 或第一個區塊組開始的區塊編數。此值在 1 KiB 區塊大小的檔案系統爲 1,大於1 KiB 區塊大小的檔案系統爲 0。(Superblock/第一個區塊組通常都在檔案系統 0x0400 (1024) 開始)[1]
區塊大小 (Block size) - 區塊大小,能夠爲 1024, 2048 或 4096 字節 (Compaq Alpha 系統可使用 8192 字節的區塊)
Fragment 大小 (Fragment size):實際上 Ext2/Ext3/Ext4 未有支援 Fragment,因此此值通常和區塊大小同樣
保留 GDT 區塊數目 (Reserved GDT blocks) - 保留做在線 (online) 改變檔案系統大小的區塊數目。若此值爲 0,只能夠先卸載纔可脫機改變檔案系統大小[3]
區塊/組 (Blocks per group):每一個區塊組的區塊數目
Fragments/組 (Fragments per group):每一個區塊組的 fragment 數目,亦用來計算每一個區塊組中 block bitmap 的大小
Inodes/組 (Inodes per group):每一個區塊組的 inode 數目
Inode 區塊/組 (Inode blocks per group):每一個區塊組的 inode 區塊數目
(Flex block group size):16
檔案系統創建時間 (Filesystem created):格式化此檔案系統的時間
最後掛載時間 (Last mount time):上一次掛載此檔案系統的時間
最後改動時間 (Last write time):上一次改變此檔案系統內容的時間
掛載次數 (Mount count):距上一次做完整檔案系統檢查後檔案系統被掛載的次數,讓 fsck 決定是否應進行另外一次完整檔案系統檢查
最大掛載次數 (Maximum mount count):檔案系統進行另外一次完整檢查能夠被掛載的次數,若掛載次數 (Mount count) 大於此值,fsck 會進行另外一次完整檔案系統檢查
最後檢查時間 (Last checked):上一次檔案系統做完整檢查的時間
檢查間距 (Check interval):檔案系統應該進行另外一次完整檢查的最大時間距
下次檢查時間 (Next check after):下一次檔案系統應該進行另外一次完整檢查的時間
保留區塊使用者識別碼 (Reserved blocks uid):0 (user root)
保留區塊羣組識別碼 (Reserved blocks gid):0 (group root)
第一個 inode (First inode):第一個能夠用做存放正常檔案屬性的 inode 編號,在原格式此值必定爲 11, V2 格式亦能夠改變此值[1]
Inode 大小 (Inode size):Inode 大小,傳統爲 128 字節,新系統會使用 256 字節的 inode 令擴充功能更方便
(Required extra isize):28
(Desired extra isize):28
日誌 inode (Journal inode):日誌檔案的 inode 編號
缺省目錄 hash 算法 (Default directory hash):half_md4
目錄 hash 種子 (Directory Hash Seed):17e9c71d-5a16-47ad-b478-7c6bc3178f1d
日誌備份 (Journal backup):inode blocks
日誌大小 (Journal size):日誌檔案的大小
使用示例flex
設置強制檢查前文件系統能夠掛載的次數ui
tune2fs -c 30 /dev/hda1spa
關閉強制檢查掛載次數限制
tune2fs -c -l /dev/hda1.net
10天后檢查
tune2fs -i 10 /dev/hda1unix
1天后檢查
tune2fs -i 1d /dev/hda1日誌
3周後檢查
tune2fs -i 3w /dev/hda1
半年後檢查
tune2fs -i 6m /dev/hda1
禁用時間檢查
tune2fs -i 0 /dev/hda1
添加日誌功能,將ext2轉換成ext3文件系統
tune2fs -j /dev/hda1
調整/dev/hda1分區的保留空間爲40000個磁盤塊
tune2fs -r 40000 /dev/hda1
調整/dev/hda1分區的保留空間爲10%
tune2fs -m 10 /dev/hda1
設置/dev/hda1掛載選項,啓用Posix Access Control Lists和用戶指定的擴展屬性
tune2fs -o acl,user_xattr /dev/hda1
開機取消自檢
tune2fs -l /dev/sdb1 | grep -E 'Maximum mount count:|Check interval'
tune2fs -i 0 -c 0 /dev/sdb1
更改設備爲指定的uuid
tune2fs -U 51f7e9a4-5154-4e29-a7a6-208417290b85 /dev/sda1
-U 的參數若是爲 random 表示直接產生一個隨意的新 UUID:
tune2fs -U random /dev/sda1
-U 的參數若是爲 time 表示直接依當前時間產生一個新的 UUID:
tune2fs -U time /dev/sda1
-U 的參數若是爲 clear 表示清除檔案系統的 UUID:
tune2fs -U clear /dev/sda1
縮小保留空間已擴大使用容量
#tune2fs -l /dev/sdd12|grep -i 'reserved block count'
Reserved block count: 7984
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 289G 5.6G 268G 3% /
tmpfs tmpfs 633M 0 633M 0% /dev/shm
/dev/sdd12 ext3 38M 4.5M 26M 15% /mnt
# tune2fs -m 1 /dev/sdd12
tune2fs 1.39 (29-May-2006)
Setting reserved blocks percentage to 1% (399 blocks)
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 289G 5.6G 268G 3% /
tmpfs tmpfs 633M 0 633M 0% /dev/shm
/dev/sdd12 ext3 38M 4.5M 33M 13% /mnt
參考至:http://space.itpub.net/35489/viewspace-670297
http://bian5399.blog.51cto.com/3848702/1065473
http://blog.tektea.com/archives/1749.html
http://blog.sina.com.cn/s/blog_6bbd0a5501015y8d.html
http://blog.chinaunix.net/uid-7530389-id-2050094.html