释放 Linux 系统预留的硬盘空间
2012年09月17日 | 标签: linux, tune2fs | 作者:vpsee
大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 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
如果硬盘被塞满了,想清理硬盘那是另外一回事,可以参考:什么吃掉了我的硬盘?
学习了。
嗯,真不错。我上次做实验碰到一个没想通的问题:
我在RHEL 6.3上用命令touch {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}_{1,2,3,4,5,6,7,8,9,0}_{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}{1,2,3,4,5,6,7,8,9,0}_{1,2}创建了N个空文件,把所有的Inodes都占用了,但下面两个地方显示相矛盾,不知什么原因……
[root@kashu a]# df -i(这里的IFree为0,且IUse为100%)
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 128016 128016 0 100% /boot
[root@kashu a]# tune2fs -l /dev/sda1 | grep ‘Free inodes’(但这里显示的Free inodes还这么多)
Free inodes: 127978
XFS文件系统呢?