Ken*_* S. 1 linux ubuntu ext3 rackspace-cloud
我在 Rackspace 的 CloudServers 之一上托管了一台 linux 服务器,它显示我没有可用空间,但也显示我有 12GB 未在根分区上使用。该服务器的唯一工作是每晚通过 rsync 从另一台服务器 rsync 文件,并保留这些文件的紧急备份。
我找到了一个目录,其中包含一些不需要的备份文件,因此删除了这些文件,这就是给我 12GB 未使用空间的原因。删除文件会缩小“已用”空间,但不会给“可用”空间带来任何影响。
lsof
没有表明它坚持任何东西,并df -i
说我有很多空闲的 inode。
我也多次重新启动此服务器,但问题仍然存在。我什至重新启动到救援模式并fsck
在设备上运行,但没有看到任何明显的错误:
root@RESCUE-nightly-snapshot:~# fsck /dev/xvdb1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/xvdb1: recovering journal
Setting free inodes count to 20630768 (was 20630766)
Setting free blocks count to 2845985 (was 2755815)
/dev/xvdb1: clean, 340752/20971520 files, 81040087/83886072 blocks
root@RESCUE-nightly-snapshot:~#
Run Code Online (Sandbox Code Playgroud)
所以我有点卡住了,因为普通用户不能创建任何新文件,而 syslog 用户不能附加到任何日志文件。
最后,文件系统是 ext3,我脑子里的某个东西在说日志可能有些奇怪。我不知道这个空间是否可以被期刊占用,或者如何判断。
如果您有任何有关如何重新获得本应释放的空间的提示,我将不胜感激。
root@nightly-snapshot:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 315G 303G 0 100% /
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 1.6G 244K 1.6G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
overflow 1.0M 0 1.0M 0% /tmp
/dev/md0 5.0T 4.2T 593G 88% /mnt/raid
root@nightly-snapshot:~# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 20971520 340750 20630770 2% /
udev 1016188 422 1015766 1% /dev
tmpfs 1018170 319 1017851 1% /run
none 1018170 3 1018167 1% /run/lock
none 1018170 1 1018169 1% /run/shm
overflow 1018170 1 1018169 1% /tmp
/dev/md0 167772160 12607068 155165092 8% /mnt/raid
root@nightly-snapshot:~#
root@nightly-snapshot:~# lsof | grep -i deleted
root@nightly-snapshot:~#
Run Code Online (Sandbox Code Playgroud)
这个空间有可能是为 root 用户保留的。请检查为 root 保留了多少空间,使用:
tune2fs -l /dev/xvda1
这将为您提供为 root 用户保留的块数,将其乘以块大小,您将获得保留空间的大小(以字节为单位)。
您可以使用以下方法修改保留空间:tune2fs -m 1 /dev/xvda1
后面的数字-m
是应保留的磁盘空间百分比。在这个例子中,它是 1%。