더 이상 디스크 공간이 없으며 디스크를 차지하는 것도 없습니다. 왜?

더 이상 디스크 공간이 없으며 디스크를 차지하는 것도 없습니다. 왜?

디스크 사용량이 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. 라이브 CD(예: sysrescure)를 부팅한 후 다음을 수행해야 합니다.

mkdir /test 
mount /dev/xvda1 /test

그리고 시도해 보세요

du -sh /test/var/

당신은 당신의 "숨겨진" 공간을 볼 수 있습니다. 이 파일을 제거해야 합니다.

관련 정보