100% 루트 '/' 사용이 네트워크 속도에 영향을 미칠 수 있습니까? 루트에서 안전하게 공간을 확보하는 방법은 무엇입니까?

100% 루트 '/' 사용이 네트워크 속도에 영향을 미칠 수 있습니까? 루트에서 안전하게 공간을 확보하는 방법은 무엇입니까?

저는 주로 파일 서버 + 라우터로 사용되는 우분투 12.10 서버를 가지고 있습니다. 몇 번 전에는 매우 이상하게 동작하기 시작했습니다. 예를 들어 삼바 서버에서 1GB/s 링크를 통한 파일 전송 속도가 매우 느려졌습니다(1MB/s 미만).

네트워크를 조사하고 플레이한 후에 / 파티션 사용량이 100%라는 것을 알았습니다.

Filesystem                   Size  Used Avail Use% Mounted on
/dev/md1                     3.1G  3.1G     0 100% /
/dev/sda1                    105M  144k  104M   1% /boot/efi
/dev/md2                      52G  1.5G   48G   3% /usr
/dev/md4                      52G   13G   37G  26% /home
/dev/md5                      21G  181M   20G   1% /tmp
/dev/md3                     155G  824M  147G   1% /var
/dev/md6                      21G  437M   20G   3% /var/log

문제인데, /lib(2.3G) 폴더를 다른 디렉토리로 옮기고, 시작시 마운트하면 해결될 것 같습니다. 시스템은 소프트웨어 raid0에 설치되어 있으므로 다시 파티션하는 것은 매우 어려울 것입니다.

  1. 네트워크 문제의 근원과 같나요?
  2. 내가 그런 짓을 하려고 하면 어떤 문제에 직면하게 될까요?재동기화 /lib폴더를 /home/root/lib?
  3. /lib와 내용을 병합 /home/lib한 다음 나중에 에 마운트 할 수 있나요 /lib?

PS. 어떻게 그런 일이 일어났는지 궁금합니다. 디스크를 파티션할 때 모든 프로그램이 /home이나 사용자 폴더에 설치될 것이라고 생각했는데, 충분히 크게 만든 것인데… 어떤 파티션이 어떤 프로그램에 사용되는지는 어디서 읽을 수 있나요?

편집됨: ~에대지내가 찾은 것 :

"/bin, /lib 및 /etc 디렉토리는 별도의 파티션이 되어서는 안 됩니다! 부팅 시 처음에는 /만 마운트됩니다. init 프로그램은 /etc의 파일에 액세스해야 하며 bootup 스크립트는 /bin의 명령에 액세스해야 합니다. 이는 /lib의 파일에 따라 달라질 수 있습니다. 부팅 프로세스를 완료하는 데 필요한 커널 모듈도 /lib에 보관됩니다.

/lib그래서 다른 파티션으로 이동할 수 없습니다 . 그것을 지울 수 있나요? 아니면 다른 방법으로 할 수 있나요?

/lib/modules에는 다음이 포함됩니다.

3.5.0-17-generic  3.5.0-26-generic  3.5.0-30-generic  3.5.0-34-generic  3.5.0-40-generic
3.5.0-23-generic  3.5.0-27-generic  3.5.0-31-generic  3.5.0-37-generic  3.5.0-41-generic
3.5.0-25-generic  3.5.0-28-generic  3.5.0-32-generic  3.5.0-39-generic  3.5.0-42-generic

이 파일이 모두 필요합니까?

답변1

설치된 15개의 커널이 루트( ) 파일 시스템에서 너무 많은 공간을 소비하고 있는 것 같습니다 /. dpkg적어도 부팅하고 로그인할 수 있다고 가정하면 명령을 사용하여 이를 제거할 수 있습니다 . -P다음과 같이 옵션을 사용하십시오.

sudo dpkg -P linux-image-3.5.0-17-generic

가장 오래된 커널을 제거하십시오(최신 커널에 문제가 있는 경우는 제외하고, 이 경우에는 신뢰성이 가장 낮은 커널을 제거해야 합니다).

다음과 같이 명령을 통해 공간이 사용되는 위치를 추적할 수도 있습니다 du.

du -sx /* | sort -n

이 작업을 실행하는 데 시간이 좀 걸리지만 완료되기 전에 일부 오류가 발생할 수 있습니다. 오류를 무시하십시오. 이 명령은 얼마나 많은 공간을 소비하는지에 따라 정렬된 디렉터리 목록을 생성하며 가장 큰 디렉터리가 목록 맨 아래에 표시됩니다. 그런 다음 다음과 같이 해당 디렉터리 중 더 큰 디렉터리로 이동할 수 있습니다.

du -sx /var/* | sort -n

/var이 예에서는 사용된 디스크 공간에 따른 하위 디렉터리를 보여줍니다 . 디스크 공간이 소비되는 위치를 발견하면 문제의 디렉터리 또는 너무 많은 공간을 차지하는 개별 파일을 조사하십시오. 컴퓨터가 메일 서버로 작동하는 경우 메일 스풀과 같이 일부는 합법적으로 많은 공간을 소비할 수 있습니다. 다른 것들은 임시 파일로 채워져 있을 수도 있고( 의 대부분의 파일과 같이 /tmp) 파일이 너무 커졌을 수도 있습니다( 의 로그 파일이 너무 커짐 /var/log). 이러한 문제는 각각 고유한 방식으로 처리되어야 합니다.

이 외에도 파티션 크기가 잘못되었습니다. Linux는 대부분의 프로그램 파일을 에 저장 /usr하지만 이 디렉토리/파티션에는 약 10GB 이상의 공간이 필요한 경우가 거의 없으며 그 중 절반 이하인 경우도 많습니다. 대부분의 시스템에서 이러한 파일은 패키지 업데이트 또는 설치 중을 제외하고 거의 변경되지 않습니다. /하지만 루트( ) 파티션의 일부 다른 하위 디렉터리 /tmp에는 (종종 용량이 클 수 있는 임시 파일에 사용됨) 및 /var/log. 따라서 루트( /) 파티션에 상당한 추가 공간을 만드는 것이 현명한 경우가 많습니다. 실제로 /usr루트( /) 파티션의 일반 하위 디렉터리로 두고 후자를 10~30GB 정도로 만드는 것이 일반적입니다.

디렉토리 /home에는 사용자 파일이 들어 있습니다. 개별 사용자가 직접 작성하는 소프트웨어를 제외하고는 프로그램 파일을 거의 보관하지 않습니다. 대부분의 데스크탑 시스템에서는 /home디지털 사진, MP3, MPEG 또는 기타 오디오/비디오 파일, 디스크 이미지 파일 등을 저장하므로 상대적으로 큽니다. 이것들은 모두 상당히 클 수 있습니다. 그러나 세부 사항은 컴퓨터마다 다릅니다.

답변2

공간을 확보하는 가장 좋은 방법은 더 이상 필요하지 않은 이전 커널 버전을 제거하는 것입니다. 그렇게 하려면 이전 답변에 있는 이 훌륭하고 광범위한 가이드를 따르십시오(방문하여 찬성 투표하십시오).

https://askubuntu.com/a/100953/130555

여기에는 이전 버전을 제거하기 위한 그래픽 방법뿐만 아니라 쉘 방법도 포함됩니다. 이전 개정판 중 2~3개를 유지하라는 권장 사항(저도 이에 동의함)을 숙지하시기 바랍니다. 업데이트는 잘 테스트되었지만 문제가 발생하면 항상 이전 실행 버전으로 돌아갈 수 있기를 원합니다.

관련 정보