我的磁盘使用率为 100%
/dev/xvda1
哪个是系统分区,所以我决定挂载
/var/lib
在另一个分区上
/dev/xvdf
因为 /var/lib 下的 docker 文件占用了很多空间。
我一直100%使用根分区。
udev 2.0G 12K 2.0G 1% /dev
tmpfs 396M 336K 395M 1% /run
/dev/xvda1 99G 99G 0 100% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdf 296G 765M 280G 1% /var/lib
和
lsof | grep deleted
什么也没显示
这是的输出du -sh
52M /admin
9.6M /bin
25M /boot
12K /dev
5.9M /etc
11M /home
0 /initrd.img
61M /lib
4.0K /lib64
16K /lost+found
4.0K /media
4.0K /mnt
4.0K /opt
du: cannot access '/proc/3945/task/3945/fd/4': No such file or directory
du: cannot access '/proc/3945/task/3945/fdinfo/4': No such file or directory
du: cannot access '/proc/3945/fd/4': No such file or directory
du: cannot access '/proc/3945/fdinfo/4': No such file or directory
0 /proc
15M /root
336K /run
9.4M /sbin
4.0K /srv
0 /status
0 /sys
8.5M /tmp
1016M /usr
877M /var
0 /vmlinuz
索引节点的使用:
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 504621 397 504224 1% /dev
tmpfs 505859 315 505544 1% /run
/dev/xvda1 6553600 684402 5869198 11% /
none 505859 10 505849 1% /sys/fs/cgroup
none 505859 1 505858 1% /run/lock
none 505859 1 505858 1% /run/shm
none 505859 1 505858 1% /run/user
/dev/xvdf 19660800 202 19660598 1% /var/lib
你看到什么解决办法了吗?
答案1
正如其他人所建议的,您可能在下面有原始文件/var/lib
。如果您没有(或不能)有效地将系统引导到单用户模式,您也可以使用“绑定安装”来访问它们:
mkdir -p -m700 /mnt/dsk
mount --bind / /mnt/dsk
cd /mnt/dsk/var/lib
/var/lib
您现在位于隐藏在“新”下方的“旧”中/var/lib
,您可以根据需要删除或将文件移出此处。
重要的下面的文件/mnt/dsk
是相同的文件如下所示/
。它们不是副本。如果删除这些文件,您实际上是在删除根文件系统上的文件。
答案2
这是因为“迁移”/var/lib
到另一个分区不会自动清理您的原始文件。
诀窍是从另一个系统(可能是 livecd)启动,从那里安装/dev/xvda1
并删除其中的文件。
请小心,并确保在尝试此操作之前,新分区中的所有文件实际上都可用。
答案3
/ ( ) 的总和是多少du -sh /
?和99G一样吗df
?我认为文件/var/lib
仍在/dev/xvda1
分区上。它们“隐藏”在已安装的分区下/dev/xvdf
。您必须启动 live cd(例如 sysrescure),然后:
mkdir /test
mount /dev/xvda1 /test
并尝试
du -sh /test/var/
您应该看到您的“隐藏”空间。您必须删除该文件。