/home 파티션이 큰 서버의 디스크가 꽉 찼습니다.

/home 파티션이 큰 서버의 디스크가 꽉 찼습니다.

방금 CentOS 서버를 받았는데 몇 GB만 업로드할 수 있었기 때문에 잘못 설정한 것 같습니다. 그런 다음 ~1TB여야 한다는 오류가 발생하기 시작했습니다.

lsblk의 결과입니다.

[root@ns4005990 ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk
├─sda1   8:1    0  19.5G  0 part /
├─sda2   8:2    0 911.5G  0 part /home
└─sda3   8:3    0   511M  0 part [SWAP]

sda1을 기본 스토리지로 사용하는 것 같은데, sda 2를 사용해야 할까요?

저는 Linux에 대해 잘 모릅니다. sda2를 사용하도록 수정하는 방법에 대한 아이디어가 있습니까?

[root@ns4005990 ~]# df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       905G  200M  859G   1% /home

답변1

두 개의 파일 시스템 파티션이 있습니다. 하나는 운영 체제가 포함된 /(루트 파티션, sda1)에 마운트되고 다른 하나는 개인 파일이 포함된 /home(주 파티션, )에 마운트됩니다. sda2홈 파티션이 거의 가득 차지 않으므로 루트 파티션이 가득 차 있어야 합니다.

워크스테이션에서는 대용량 파일이 사용자의 홈 디렉터리에 저장되는 경우가 많습니다. 서버에서는 /home일반적으로 매우 작습니다. 서비스 설정 방법에 따라 대부분의 데이터는 일반적으로 아래 /var또는 아래에 있습니다./srv

실행(또는 파일 이름에 다음이 포함된 경우 잘못된 적중을 방지하려면 du -xh / | grep G)을 실행하여 루트 파티션의 어떤 디렉터리에 대량의 데이터가 포함되어 있는지 확인하세요. 전체 항목을 다음으로 이동하세요. 대량의 데이터가 아래에 있다고 가정하면 다음과 같습니다.Gdu -xh / | grep '^[0-9.]*G'/home/srv

  1. 데이터에 액세스하는 모든 서비스를 중지합니다 /srv.

  2. 다음 명령을 실행하십시오.

    mv /srv /home/
    ln -s home/srv /
    
  3. 모든 서비스를 다시 시작하십시오.

/srv이렇게 하면 기본 파티션의 디렉터리에 대한 심볼릭 링크가 생성됩니다 .

답변2

물론 루트 파티션의 위치에 파일을 업로드하고 있습니다. 루트 사용자로 업로드하고 있습니까? 루트 사용자의 홈은 특별하며 /home 파티션에 없습니다.

디스크 공간 부족 오류를 찾고 있습니다.

루트로 다음 명령을 실행하고 이를 우리에게 게시하십시오.

for dir in var usr root; do echo /$dir/; du -sm /$dir/* | sort -n| tail -5; done

이렇게 하면 범위가 좁아집니다. 그런 다음 /var/log가 커 보인다고 가정합니다.

cd /var/log; du -smc * | sort -n | tail

du -smc * | sort -n | tail범인을 찾을 때까지 문제가 되는 각 대형 하위 디렉터리에서 이 작업을 반복합니다 .

관련 정보