/tmp/에 많은 양의 작은 파일을 덤프하고 재부팅했습니다... 서버가 다시 돌아오지 않습니다

/tmp/에 많은 양의 작은 파일을 덤프하고 재부팅했습니다... 서버가 다시 돌아오지 않습니다

나는 어리석게도 많은 양의 작은 파일(약 200kb에서 1mb 크기의 100만 개 이상의 파일)이 포함된 리프 폴더를 사용하여 상당히 깊은 트리(4개 폴더 깊이)를 만들었습니다. 총 파일 개수는 80GB가 넘습니다. 이는 Hetzner 내부에서 실행되는 Ubuntu Server 14.04 상자의 /tmp/ 디렉토리에 생성되었습니다(가능한 연결 방법과 관련이 있음).

메모리에서 "find . | wc -l"을 실행하는 데 12시간 이상이 걸렸습니다.

그런 다음 서버를 재부팅해야 했습니다. 지난 몇 주 동안 문제 없이 여러 번 재부팅되었으므로 이는 일반적으로 문제가 되지 않습니다. 구성 변경이 발생하지 않았으며 추가 소프트웨어가 설치되지 않았습니다.

그러나 이 경우 온라인으로 다시 돌아오지 않습니다. 상자에 ping을 보낼 수는 있지만 다시 온라인 상태가 될 것으로 예상되는 포트에 SSH로 연결하거나 연결할 수 없습니다.

문제는 부팅 시 tmp를 마운트하고 지우는 스크립트 /etc/init/mounted-tmp.conf가 파일을 지우는 데 어려움을 겪고 있어 상자가 init 부팅 단계에서 멈추게 한다는 것입니다.

이 프로세스 속도를 높일 수 있는 방법은 없을까요? 어떻게든 tmp clean을 비활성화할 수 있다면 rsync 트릭을 사용하여 폴더를 정리할 수 있지만 이 작업을 수행하는 방법조차 모릅니다.

답변1

해결책을 찾았습니다.

hetzer가 제공하는 구조 시스템을 사용하여 머신을 부팅했습니다.http://wiki.hetzner.de/index.php/Hetzner_Rescue-System/en

그런 다음 파일 시스템을 마운트하고 여기의 팁을 사용했습니다.https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory- Contains-thousands-of-files보다 효율적인 방법으로 파일을 삭제하는 방법에 대해 알아보세요.

재부팅하고 이제 모든 것이 정상입니다.

답변2

나는 당신이 당신의 질문에 답한 것을 보았지만 여기에 2 센트가 있습니다.

단일 사용자 모드로 부팅하는 것은 어떻습니까? 그럽에 접근할 수 있나요? 부팅 시 "단일" 옵션을 포함하도록 부팅 매개변수를 편집한 다음 루트 명령 프롬프트로 바로 부팅합니다. 거기에서 파일을 정리할 수 있습니다.

관련 정보