转载vpsee

http://www.vpsee.com/2012/09/release-linux-system-disk-space-using-tune2fs/

大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监控系统和管理员一点时间去察觉。不过有时候这部分预留的硬盘空间不用的话有点浪费。如何释放这部分系统预留的空间呢?

在 Linux ext2/ext3/ext4 文件系统上通常默认预留5%的硬盘空间,如果硬盘是 4TB 的话就意味着有 200GB 的空间就这样浪费了,我们可以通过 tune2fs 来改变5%的默认设置,比如只预留1%的空间。可不可以设成0%呢?当然可以,但是不推荐。

查看当前硬盘空间情况:

# 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