Linux 환경에서 전체 오버레이 및 /dev/vda1 파일 시스템의 공간을 확보하는 방법은 무엇입니까?

Linux 환경에서 전체 오버레이 및 /dev/vda1 파일 시스템의 공간을 확보하는 방법은 무엇입니까?

내 서버의 오버레이 및 /dev/vda1 파일 시스템이 모두 완전히 활용되어 100% 사용량을 표시하는 문제에 직면했습니다. 이러한 상황은 운영상의 어려움을 야기하며 이 문제를 완화하기 위해 효율적으로 공간을 확보하거나 스토리지를 관리하는 방법에 대한 조언을 찾고 있습니다. 다음은 df -h context의 출력입니다.

Filesystem                                                        Size  Used Avail Use% Mounted on
overlay                                                            97G   97G     0 100% /
tmpfs                                                              64M     0   64M   0% /dev
tmpfs                                                             111G     0  111G   0% /sys/fs/cgroup
/dev/vdb                                                          393G   65G  329G  17% /root/easymaker
tmpfs                                                             222G   12K  222G   1% /dev/shm
198.18.32.36:/GJ_SHARE_FS11/8683766f-1a8c-4531-87ba-2370c3ff2ad3   20T     0   20T   0% /root/backup
198.18.32.7:/GJ_SHARE_FS9/5470219b-58ed-4a37-9de0-1788451ad4b4     49T   16M   49T   1% /root/data
/dev/vda1                                                          97G   97G     0 100% /etc/hosts
tmpfs                                                             222G   12K  222G   1% /run/secrets/kubernetes.io/serviceaccount

보시다시피 오버레이 파일 시스템과 /dev/vda1 파일 시스템이 모두 완전히 로드되었습니다. 현재 클라우드 환경을 실행하고 있는데, 이는 이러한 파일 시스템에서 빠른 공간 활용에 도움이 될 수 있습니다.

사용하지 않는 Docker 이미지 및 컨테이너 정리와 같은 일반적인 솔루션을 조사했지만 특히 이 서버에서 실행되는 데이터 및 애플리케이션의 운영상의 중요성을 고려하여 모범 사례에 대한 지침을 찾고 있었습니다.

Docker 환경에서 공간을 안전하게 확보하거나 이러한 유형의 문제를 방지하기 위한 통찰력을 제공하거나 전략을 추천할 수 있는 사람이 있습니까? 진행 중인 작업을 중단하지 않고 안전하게 삭제하거나 다른 스토리지로 이동할 수 있는 특정 로그, 임시 파일 또는 데이터가 있습니까?

  1. 디스크 공간을 소비하는 대용량 파일이나 디렉토리를 식별하는 데 사용해보세요 du -ah / | sort -rh | head -20.

    • 예상: 가장 큰 파일 또는 디렉터리 상위 20개를 나열합니다.
    • 실제: "정렬: 쓰기 실패: /tmp/sortVOhsjQ: 장치에 남은 공간이 없습니다."라는 오류 메시지를 받았습니다.
  2. 디스크 공간을 확보하려면 대용량 파일이나 디렉터리를 삭제해 보세요 rm -rf /overlay/*.

    • 예상: 지정된 경로에서 파일 또는 디렉터리를 삭제합니다.
    • 실제: 경로가 존재하지 않는다는 오류 메시지를 받았습니다.
  3. 파일을 삭제하여 파일 시스템의 공간을 /etc/hosts확보해 보세요./dev/vda1

    • 예상: 파일이 성공적으로 삭제되었습니다.
    • 실제: "rm: '/etc/hosts'를 제거할 수 없습니다. 장치 또는 리소스가 사용 중입니다."라는 오류 메시지가 수신되었습니다.
  4. 업데이트 패키지 저장소를 사용해 보세요 apt-get update.

    • 예상: 패키지 저장소가 성공적으로 업데이트되었습니다.
    • 실제: "/var/lib/apt/lists/developer.download.nvidia.com_compute_cuda_repos_ubuntu2204_x86%5f64_InRelease를 데이터 및 서명으로 분할하지 못했습니다."와 같은 디스크 공간 부족으로 인해 오류가 발생했습니다.
  5. 사용하지 않는 Docker 리소스를 정리해보세요 docker network rm cw-net.

    • 예상: 지정된 Docker 네트워크를 제거합니다.
    • 실제: "bash: docker: 명령을 찾을 수 없습니다."라는 오류 메시지가 수신되었습니다.
  6. /overlay디렉토리에 있는 대용량 파일이나 디렉토리를 식별하려면 를 사용해 보십시오 du -ah /overlay | sort -rh | head -n 20.

    • 예상: 지정된 경로 내에서 가장 큰 파일 또는 디렉터리 상위 20개를 나열합니다.
    • 실제: "du: '/overlay'에 액세스할 수 없습니다: 해당 파일이나 디렉터리가 없습니다."라는 오류 메시지가 수신되었습니다.

전반적으로 디스크 공간을 확보하고 대용량 파일이나 디렉터리를 식별하기 위해 다양한 방법을 시도했지만 디스크 여유 공간이 부족하고 특정 명령을 실행할 수 없는 문제로 인해 제한 사항에 직면했습니다. 근본적인 문제를 효과적으로 해결하려면 추가 솔루션이나 지원이 필요할 수 있습니다.

관련 정보