Linux下磁盤保留空間的調整,解決df看到的空間和實際磁盤大小不一致的問題

linux的硬盤分區程序會自動爲root或指定的用戶保留一定的磁盤空間默認是5%,在較大的分區或是不重要的分區上這種設置會佔據過多不必要的空間, 利用mke2fs的-m reserved-percentage選項可以調整這個設置來獲得更多的磁盤空間且不影響性能。而在創建了文件系統之後,用戶可以用tune2fs來修 改這個設置比如tune2fs -m 1 /dev/sda4 可以將保留的空間設置爲1%

看 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用戶維護系統或者記錄系統關鍵日誌的時候使用(比如磁盤使用空間已經100%的情況下的處理),這也就是導致普通用戶無法使用部分磁盤空間的原因了。

如:

$ df -hl /dev/sda6
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 42G 34G 5.8G 86% /linux/sda6

$ tune2fs -m 0 /dev/sda6
tune2fs 1.41.3 (12-Oct-2008)
Setting reserved blocks percentage to 0% (0 blocks)

$ df -hl /dev/sda6
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 42G 34G 7.9G 81% /linux/sda6

另外一個具體操作過程如下,已經加了詳細註釋:

--之前的保留區有 732463 塊
# tune2fs -l /dev/sda7 | grep "Reserved block count"
Reserved block count:     732463

--已用空間+可用空間 和 總空間 相比,還少了近3個G
# df
文件系統             1K-塊      已用      可用 已用% 掛載點
/dev/sda7             57677500  47662588   7085060  88% /home

--調整:
# tune2fs -r 25600 /dev/sda7
tune2fs 1.41.9 (22-Aug-2009)
Setting reserved blocks count to 25600

--再來看看空間
# df
文件系統             1K-塊      已用      可用 已用% 掛載點
/dev/sda7             57677500  47662584   9912516  83% /home

--確認調整成功
# sudo tune2fs -l /dev/sda7 | grep "Reserved block count"
Reserved block count:     25600
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章