![Mutt 저장소 크기를 줄인 후 해당 저장소를 다시 df에 반영하는 방법](https://linux55.com/image/180519/Mutt%20%EC%A0%80%EC%9E%A5%EC%86%8C%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EC%A4%84%EC%9D%B8%20%ED%9B%84%20%ED%95%B4%EB%8B%B9%20%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A5%BC%20%EB%8B%A4%EC%8B%9C%20df%EC%97%90%20%EB%B0%98%EC%98%81%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
내 목표는 내 opt 디렉토리의 저장 공간을 되찾는 것입니다. 정기적인 유지 관리 점검을 통해 공간이 필요할 때 크기를 줄일 수 있도록 크기를 늘리고 싶습니다.
mutt에서 메일을 삭제하기 전에 다음과 같은 디스크 크기 출력이 표시됩니다(축약됨).
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38314216 12189488 24155376 34% /
/dev/sda3 144053404 133666076 3046736 98% /opt
192.168.1.161:/home 237256704 51089408 175959040 23% /opt/www/etl/sftp-homes
옵티컬 드라이브 공간이 부족함(위에서 언급한 바와 같음):
그래서 예전 이메일(로깅)을 삭제하고 이걸 사용했어요
>mutt
shift + D
~d>4m
q
mutt가 해당 파일을 삭제하는 작업을 수행하는 것으로 보이므로 이는 mutt에서 작동하는 것처럼 보입니다. 그러나 df는 나에게 공간을 제공하지 않으며 여전히 동일합니다. mutt가 파일 크기를 저장하고 다시 시작해야 할 수도 있다고 가정합니다. ? ? 아니면 데이터베이스 크기를 확보하려면 mariadb를 다시 시작/정리해야 합니까? ? ? 아니면 Centos를 다시 시작해야 합니까? ? ? (극단적으로 보임) 해당 디스크 공간을 어떻게 다시 확보할 수 있습니까? 아니면 여기에 다른 청소 솔루션이 있습니까?
참고로, mutt를 다시 시작하는 방법을 찾을 수 없나요? 그리고 mariadb를 다시 시작해도 작동하지 않습니다. 대부분의 파일은 ibdata1에 저장됩니다.
답변1
이는 mariadb의 문제인 것 같습니다.
https://stackoverflow.com/questions/3456159/how-to-shrink-purge-ibdata1-file-in-mysql
https://www.thegeekstuff.com/2016/02/mysql-innodb-file-per-table/
동일한 문제가 여기에 자세히 설명되어 있지만 너무 어렵습니다. 기본 대규모 MySQL 시스템 테이블스페이스 접근 방식에는 한 가지 주요 단점이 있습니다.
다음 시나리오를 고려하십시오. MySQL의 여러 테이블에 100GB의 데이터를 업로드했습니다.
이제 ibdata1 파일 크기는 약 100GB 이상이 됩니다.
# cd /var/lib/mysql
# ls -lh ibdata1
-rw-r-----. 1 mysql mysql 101G Jan 21 21:10 ibdata1
며칠 후 이 모든 테이블에서 약 50GB의 데이터를 삭제합니다. ibdata1 파일 크기는 약 50GB 이상으로 줄어들지 않고 약 100GB 이상으로 유지됩니다.
위 시나리오에서 나중에 테이블에 10GB의 데이터를 추가하면 ibdata1 파일 크기는 110GB로 늘어나지 않고 100GB로 유지됩니다. 왜냐하면 파일에는 위의 50GB 삭제 데이터 안에 아직 사용되지 않은 공간이 있기 때문입니다.
문제는 ibdata1 파일에서 50GB의 데이터를 삭제한 후에는 사용되지 않은 공간을 회수할 수 없다는 점입니다. 이를 수행하는 방법이 있지만 너무 복잡하고 MySQL 데이터베이스를 종료하고 모든 테이블을 삭제하는 등의 작업이 필요합니다.