Ubuntu 18.04 서버를 스토리지 서버로 실행
그래서 실행하면 df -h
루트 디스크가 100% 가득 차고 231MB가 남아 있는 것을 볼 수 있습니다. 그런데 방금 한 달 전에 새로 설치했는데 smb 외에는 아무것도 설치되어 있지 않습니다.
~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 769M 6.8M 762M 1% /run
/dev/sda2 219G 208G 231M 100% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/8268
/dev/loop1 90M 90M 0 100% /snap/core/8213
/dev/sda1 511M 6.1M 505M 2% /boot/efi
/dev/sdd1 2.7T 2.3T 346G 87% /media/data1
그래서 실행해보니 sudo du -ch --exclude=./media
7.3G가 출력되었습니다.
누구든지 나를 도와줄 수 있나요? 나는 이것을 전에 본 적이 없습니다.
:/$ sudo du -ch --exclude=./media
7.3G .
7.3G total
sudo ncdu --exclude /media
동일한 결과를 제공합니다. 그 공간이 어디에 사용되고 있는지 찾을 수 없는 것 같습니다.
sudo du -hs --exclude=./media
일부 파일이 비활성 상태이고 동일한 7.3G를 사용하고 있는 경우.
답변1
일부 프로세스에 의해 열려 있는 일부 삭제된 파일이 있을 수 있습니다.
한 가지 가능성은 다시 시작하는 것입니다(모든 프로세스가 종료되고 파일을 닫아 공간을 확보합니다).
그렇지 않으면 이렇게 할 수 있습니다. (거의 확실히 더 좋은 방법이 있지만 요청하신 대로 Ubuntu 18.04-LTS에서 테스트했습니다.)
find /proc -type l -exec ls -la \{\} \; 2>&1 | grep "/proc/[0-9]*/fd/.*deleted"
그러면 다음과 유사한 내용이 표시됩니다.
lrwx------ 1 root root 64 Nov 18 08:16 /proc/1708/fd/139 -> /run/dovecot/login-master-notifycd7e64fd0dc27812 (deleted)
lrwx------ 1 root root 64 Nov 18 08:16 /proc/1708/fd/172 -> /run/dovecot/login-master-notify5d694b1832885980 (deleted)
lrwx------ 1 root root 64 Nov 18 08:16 /proc/1708/fd/177 -> /run/dovecot/login-master-notify03874675ec133d66 (deleted)
lrwx------ 1 root root 64 Nov 17 20:09 /proc/2160/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 root root 64 Dec 16 06:39 /proc/10669/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 root root 64 Dec 16 06:39 /proc/10670/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 root root 64 Dec 16 06:39 /proc/10671/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 root root 64 Dec 16 06:39 /proc/10672/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 root root 64 Dec 17 00:01 /proc/10673/fd/9 -> /tmp/.ZendSem.3acXWO (deleted)
lrwx------ 1 mysql mysql 64 Dec 17 00:01 /proc/24928/fd/5 -> /tmp/ibZsXZWE (deleted)
lrwx------ 1 mysql mysql 64 Dec 17 00:01 /proc/24928/fd/6 -> /tmp/ibY4kIrj (deleted)
lrwx------ 1 mysql mysql 64 Dec 17 00:01 /proc/24928/fd/7 -> /tmp/ibhdYqWX (deleted)
lrwx------ 1 mysql mysql 64 Dec 17 00:01 /proc/24928/fd/8 -> /tmp/ib1PJXXg (deleted)
lrwx------ 1 mysql mysql 64 Dec 17 00:01 /proc/24928/fd/12 -> /tmp/ibuELYLV (deleted)
이는 MySQL과 비둘기장이 "숨겨진 공간"을 먹고 있음을 알려줍니다. 따라서 이 예에서는 먼저 Dovecot을 다시 시작한 다음 MySQL 등을 다시 시작해 보고 언제(...많은 디스크 스래싱으로 인해 서비스가 매우 오랫동안 중지된 다음...) 공간이 해제되었습니다
고쳐 쓰다
귀하의 질문에서 나는 이것을 간과했습니다: "smb 외에 다른 설치는 없습니다". 다시 시작해 보세요.저것즉시.
VFS 로깅이 활성화되어 있거나 디버그 수준이 높을 수 있습니다.
실제로 한 번 $PFY에 이런 일이 발생했습니다. 우리는 Windows 10 문제(SMB4 btw에 의해 수정된 지 오래됨)를 확인하기 위해 디버깅을 켰고 로그가 5GB를 넘었고 그는방금 로그를 삭제했어요.
따라서 Samba는 현재 보이지 않는 로그 파일에 계속해서 기록하고 있으며 이는 자동으로 증가하고 있습니다. 사용자들이 공간을 쓰레기로 채우고 있다고 비난했을 때 약 50Gb가 사라졌을 때 무슨 일이 일어났는지 깨달았습니다.그 사람들도 하고 있잖아).
업데이트 1.5
공간을 "사라지게" 만드는 한 가지 방법은 이것이다.
파일 서버가 있고 데이터가 /var/media
약 250GB에 있다고 가정합니다. 그런 다음 다른 디스크를 추가하거나 RAID 동기화와 확장 또는 기타 수단을 통해 더 큰 디스크로 교체하기로 결정합니다.
따라서 2단계에서는 일시적으로 8TB의 여유 공간이 있는 빈 /mnt/otherdisk가 있으므로 만족할 것입니다.복사새 디스크/파티션에 대한 250GB, 권한, ACL 등.
작업이 완료되면 분명히 이전 구성, 스크립트, 백업 등을 재사용하고 싶을 것이므로 설치하십시오.새로운분할오래된목차 -하지만 먼저 공개하는 것을 잊어버렸어요. 이제 /var/media
새로 복사된 파일은 250GB이고 여유 공간은 7.75GB입니다. 하지만 원래 250GB는 여전히 이보다 적으며 해당 공간은 아직 확보되지 않았습니다.
필요한 공간을 확보하려면
umount /var/media && (
mv /var/media /var/old-media
mkdir /var/media # create a new "/var/media"
chown --reference /var/old-media /var/media
chmod --reference /var/old-media /var/media
mount /var/media
)
이제 /var/old-media
데이터가 포함된 경우 해당 콘텐츠(지금은 오래되었을 수 있지만 누가 알겠습니까)를 /var/media
.
업데이트 2
다시 시작해도 아무 문제가 해결되지 않았으므로 파일이~ 해야 하다저기. 있을 수 있지만 lost+found
파일 시스템은 이제 깨끗하므로가지다(하지만 모든 단계를 확인하는 중입니다. 설치 옵션도 게시할 수 있나요?)
노력하다:
du -kx -d2 / | sort -n
디스크 내용을 가져옵니다(물론 media
). 그러면 모든 루트 하위 트리의 크기가 제공됩니다. 물론 하위 트리가 원래 크기보다 크다면 /media
드릴다운할 수 있습니다. 나는 큰 /home/lserni
예를 가지고 있습니다 :
du -kx -d1 /home/lserni | sort -n
공간이라면아직설명할 수 없이 점유된 다음 다시 단일 모드로 실행됩니다 fsck
.
저 할 수 있어요아니요당신의 파일 시스템이 너무 엉망이어서 문제가 발생했다고 믿기 쉽습니다.오직점유된 공간에 나타나는데 fsck
고칠 방법이 없어요!