VPS에서 공간을 확보하는 방법

한 해를 제대로 시작하고 블로그를 제대로 업데이트하고 싶었습니다. 안타깝게도 제 서버가 이를 허용하지 않아서 블로그가 항상 온라인 상태가 아니었다는 것을 눈치챈 분들도 계실 겁니다. 그 이유는 간단했습니다. VPS 디스크가 찼기 때문입니다. 디스크가 가득 차면 프로그램에 임시 파일을 저장할 공간이 없어 모든 것이 오작동하기 시작합니다.

기술 서비스에서 친절하게 해결해 준 적도 있었지만, 항상 같은 문제가 계속 발생하지는 않았습니다. 그래서 제가 직접 조사하고 해결하기 시작했고, 오늘 그 결과를 공유하고자 합니다.

평소와 같이 단계를 세분화해 보겠습니다.

1. SSH를 통해 VPS에 연결합니다.

디스크가 가득 차면 블로그나 사이트에 들어가서 파일을 삭제하고 디스크를 비울 수 없습니다. FTP를 통해 연결할 수도 없고 CPanel, WHM 등으로 들어갈 수도 없으며 오직 SSH를 통해서만 연결할 수 있습니다. 적어도 제 서버에서는요. 다른 회사에서는 그것조차 할 수 없는 것을 보았습니다.

다음 명령어로 연결할 수 있습니다:

ssh [사용자 아이디]@[ip] -p [포트]

지원팀에 이러한 데이터(사용자 아이디, IP, 포트)가 무엇인지 문의할 수 있습니다. 콘솔에 해당 명령을 입력하면 입력한 사용자의 비밀번호를 묻는 메시지가 표시됩니다.

2. 무엇이 가장 많은 공간을 차지하는지 알아보세요.

일반적으로 자신의 PC에서는 그래픽 프로그램을 사용하여 무엇이 더 많은 공간을 차지하는지 확인할 수 있습니다. 하지만 콘솔을 통해 SSH로 연결하면 당연히 리눅스 명령을 사용해야 합니다. 이 작업을 수행하는 방법과 사용할 수 있는 명령어는 여러 가지가 있지만 제가 사용한 명령어만 알려드리겠습니다.

du -a / | sort -n -r | head -n 10

그러면 기본적으로 루트에서 가장 큰 파일과 폴더 10개가 무엇인지 알려주고 크기별로 정렬된 파일을 가져옵니다.

매개변수를 10에서 20 또는 30으로 변경하면 더 나은 조사를 하는 데 유용할 수 있습니다. 특정 위치에서 가장 큰 파일과 폴더가 무엇인지 알고 싶을 때도 유용할 수 있습니다. 이렇게 하려면 /를 알고 싶은 위치로 변경하세요. 예

du -a /home/ | sort -n -r | head -n 10

3. 대용량 폴더 및 파일 삭제

가장 무거운 파일이 무엇인지 잘 조사했다면 이제 삭제할 차례입니다. 일반적으로 매우 무거운 파일이 생성되는 위치 중 하나는 /var/log에 있습니다. 서버나 사이트의 오류 또는 서버에서 실행 중인 일부 프로그램에 의해 생성될 수 있는 상당히 무거운 로그 파일이 있습니다. 조금만 조사해 보면 거기에서 많은 것을 삭제할 수 있습니다. 삭제할 수 있는 명령은 다음과 같습니다:

rm 파일명

단일 파일을 삭제하고

rm -rf 폴더

를 입력하여 모든 콘텐츠가 포함된 전체 폴더를 삭제합니다.

삭제하기 전에 Google에서 해당 파일이 중요한 파일인지, 안전하게 삭제할 수 있는지 확인하시기 바랍니다. 가능하면 삭제하지 말고 파일을 비워두는 것이 좋습니다. 다음 명령어로 파일을 비울 수 있습니다:

echo “” > 파일

4. 서버에서 사용하지 않는 항목을 비활성화합니다.

VPS의 패널(예: WHM)에 들어가서 어떤 플러그인을 추가했는지 살펴보고 cpanel에서도 마찬가지입니다. 필요하지 않거나 호기심에 활성화했거나 단순히 서버에서 작동하지 않는 플러그인이 있을 수 있습니다. 예를 들어, 리소스가 부족한 서버(RAM 1Gb 미만)에서는 ClamAV가 제대로 작동하지 않습니다.

5. 다시 확인합니다. 마지막으로 위 2번의 명령을 실행하면 다음과 같은 내용이 표시될 수 있습니다:

du: cannot access `/proc/9993/task/9993/fd/4′: 해당 파일이나 디렉터리가 없습니다
du: cannot access `/proc/9993/task/9993/fdinfo/4′: 해당 파일이나 디렉터리가 없습니다
du: cannot access `/proc/9993/fd/4′: 해당 파일이나 디렉터리가 없습니다
du: cannot access `/proc/9993/fdinfo/4′: 해당 파일이나 디렉터리가 없습니다.

여전히 디스크 공간을 차지하고 있으며 저처럼 그 이유를 찾기 위해 미쳐 버릴 수 있습니다. 이유는 모르겠지만 해결책은 서버를 다시 시작하는 것입니다.

이 모든 것을 통해 디스크에 많은 공간을 확보했을 것입니다.

여기서 끝이 아닙니다. 이러한 대용량 로그 파일은 어떤 이유로 생성된 것이므로 그 이유를 파악하고 오류인 경우 다시 발생하지 않도록 수정해야 합니다.

또한 서버에 워드프레스 블로그가 하나 이상 있는 경우 차지하는 공간을 최적화해야 할 수 있는데, 이는 상당히 많을 수 있습니다. 하지만 이 부분은 다음 글에서 다루도록 하겠습니다.

서버를 다시 시작한 후에도 여전히 문제가 발생하여 사이트가 다운될 수 있습니다. 디스크가 가득 차면 여러 가지 문제가 발생할 수 있으므로 직접 조사해야 합니다. 매일 들어가서 디스크가 어떻게 작동하는지 확인하고 필요한 경우 이 과정을 반복하는 것이 중요합니다. 어떤 오류가 발생하고 있는지 알아내어 조금씩 수정해야 합니다.

답글 남기기