充分利用磁盘空间,打开ext文件系统的保留区块
今天,吼吼来找我说,他的硬盘,有个分区一共有234G,但是只用了222G,就报满了,无法继续使用了。
其实这个问题,我不久前刚看过一下,只要你仔细看 mkfs.ext3 的man page,就可以知道原因了,其中有这么一句:
-m reserved-blocks-percentage Specify the percentage of the filesystem blocks reserved for the super-user. This avoids fragmentation, and allows root-owned daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. The default percentage is 5%. |
也就是说,ext文件系统,包括ext2、ext3、ext4都会默认预留5%的磁盘空间,留给root用户维护系统或者记录系统关键日志的时候使用,这也就是导致普通用户无法使用部分磁盘空间的原因了。
我个人觉得,这个选项用在根分区或者/var之类的分区,还是有一定的必要性的。但是如果是/home、/opt或者干脆是/data之类的数据分区,就显得有点多此一举了。而且,现在的磁盘空间越来越大,5%往往会有10多G,都可以存一部高清了。这么多空间浪费了,是不是太可惜了呢?
于是,就去找相关资料,看能可否在不格式化的情况下改变保留区块的大小。
吼吼找到了这个,比我想像得还要简单,甚至都不需要umount分区,就可以进行修改。
具体操作过程如下,已经加了详细注释:
#之前的保留区有 732463 块 lily@LLY:~$ sudo tune2fs -l /dev/sda7 | grep "Reserved block count" Reserved block count: 732463 #已用空间+可用空间 和 总空间 相比,还少了近3个G lily@LLY:~$ df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda7 57677500 47662588 7085060 88% /home #调整: lily@LLY:~$ sudo tune2fs -r 25600 /dev/sda7 tune2fs 1.41.9 (22-Aug-2009) Setting reserved blocks count to 25600 #再来看看空间,哈哈 lily@LLY:~$ df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda7 57677500 47662584 9912516 83% /home #确认调整成功 lily@LLY:~$ sudo tune2fs -l /dev/sda7 | grep "Reserved block count" Reserved block count: 25600 |
看到了吧?就一眨眼的功夫,我就多了3G多的空间,哈哈。而且我还不是直接完全去掉保留区块呢,也留了百多兆以防不时之需呢,呵呵。
算了一下,吼吼那个3.4T的磁盘阵列,省出来的空间居然比我的整个硬盘都大。嗨。。。
Tweets that mention I am LAZY bones ? : 充分利用磁盘空间,打开ext文件系统的保留区块 -- Topsy.com 在 2010年01月08日 21:33 说:【 】
[…] This post was mentioned on Twitter by 渔船阵, 渔船阵. 渔船阵 said: 很好用,谢谢,mark@bones7456 li2z新文章: 充分利用磁盘空间,打开ext文件系统的保留区块 (http://cli.gs/ypTee) […]
lfeng 在 2010年01月08日 23:24 说:【 】
3.4T的磁盘阵列…
膜拜中….
gDD 在 2010年01月09日 11:48 说:【 】
共同膜拜啊……
吼吼 在 2010年01月09日 12:58 说:【 】
好文,要收藏。
bones7456 在 2010年01月09日 20:40 说:【 】
哈哈~
xiooli 在 2010年01月09日 14:42 说:【 】
不错,我给自己的home又挤出2个多G的空间,呵呵
Joe 在 2010年01月09日 17:15 说:【 】
我的硬盘啊,太小!
hb 在 2010年08月05日 11:17 说:【 】
reiserfs的如何调整呢?
bones7456 在 2010年08月09日 08:42 说:【 】
并不是所有文件系统都有保留空间的啊。
hb 在 2010年08月09日 09:52 说:【 】
reiserfs其实也有保留空间的呀。
优化Ext4分区格式化后占用空间 | 七星庐 在 2011年03月27日 12:57 说:【 】
[…] 我第一时间想到是保留空间,但经过我大胆假设小心求证后,得出结论,这个保留空间依然算在未使用里面的。保留空间意思是给root账户保留的空间,比如保留空间是100M,当一个分区用得差不多后,剩下100M了,那么普通用户就无法继续建立新文件了,提示空间不足了。换到root账户后,就能继续使用这100M。而格式化后这30G,可是实打实的已经被使用掉。 […]
优化 Ext4 分区格式化后占用空间 | 世界是平的 在 2013年11月16日 02:07 说:【 】
[…] 保留空间, […]
优化 Ext4 分区格式化后占用空间(通过降低inode数来节省磁盘空间) – 狐窝 在 2017年08月06日 11:26 说:【 】
[…] 我第一时间想到是 保留空间,但经过我大胆假设小心求证后,得出结论,这个保留空间依然算在未使用里面的。保留空间意思是给 root 账户保留的空间,比如保留空间是 100M,当一个分区用得差不多后,剩下 100M 了,那么普通用户就无法继续建立新文件了,提示空间不足了。换到 root 账户后,就能继续使用这 100M。而格式化后这 30G,可是实打实的已经被使用掉。 […]