1. 程式人生 > >通過tune2fs釋放Linux系統預留的硬碟空間

通過tune2fs釋放Linux系統預留的硬碟空間

大多數檔案系統都會預設保留一部分空間用於緊急情況時用(比如硬碟空間滿了),這樣能保證有些關鍵應用(比如資料庫)在硬碟滿的時候有點餘地,不致於馬上就 crash,如果Linux系統有做檔案系統使用率監控的話,那麼這時就會有告警上報了,從而給系統維護人員爭取一點時間去察覺。但如果你覺得這部分預留的硬碟空間不用有點浪費的話,是否有辦法釋放這部分檔案系統預留的空間呢?

在 Linux ext2/ext3/ext4 檔案系統上預設預留5%的硬碟空間,如果硬碟是 4TB 的話就意味著有 200GB 的空間就這樣浪費了,我們可以通過 tune2fs 來改變5%的預設設定,比如只預留1%的空間。可不可以設成0%呢?當然可以,但是不推薦。

首先我們看看Linux系統對tune2fs命令的介紹:

# man tunefs
tune2fs – adjust tunable filesystem parameters on ext2/ext3 filesystems

其大致意思就是tune2fs命令的作用就是可調整ext2/ext3檔案系統的引數,當然就包括設定檔案系統塊預留空間的百分比,其引數是-m,-m引數描述如下:

-m reserved-blocks-percentage
Set the percentage of reserved filesystem blocks.

 

下面我們來做個實驗,當前硬碟空間情況如下:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  797G  17% /var/cloud

調整釋放/dev/sdd1裝置,只預留1%的空間:

# tune2fs -m 1 /dev/sdd1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (2684381 blocks)

調整後檢視釋放後的硬碟空間,發現多出了 838-797=41GB 的空間:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  838G  17% /var/cloud