폴더를 디스크에 여유 공간보다 작은 경우에도 디렉토리를 서버에 복사하려고하지만 서버가 가득 찼습니다.


0

문제

112GB의 디렉토리를 214GB의 여유 공간이있는 서버의 RAID에 복사하려고합니다 scp. 그러나 일부 파일을 복사 한 후 디스크가 꽉 찼다는 메시지가 표시되고 확인 후 디스크가 실제로 꽉 찼음을 알 수 있습니다. 이것이 어떻게 가능한지 이해하지 못하며 이해하고 해결하고 싶습니다.

세부

CentOS 7을 사용하고 있습니다. 디렉토리를 복사하기 전에 RAID에 OS를 설치했습니다. 이것은 df -h설치 직후 의 결과입니다 .

[user@localhost ~]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  897M   50G   2% /
devtmpfs                 7,8G     0  7,8G   0% /dev
tmpfs                    7,8G     0  7,8G   0% /dev/shm
tmpfs                    7,8G  8,9M  7,8G   1% /run
tmpfs                    7,8G     0  7,8G   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
/dev/mapper/centos-home  214G   33M  214G   1% /home
tmpfs                    1,6G     0  1,6G   0% /run/user/1000

우분투 17.04를 실행하는 노트북에서 scp를 통해 dir을 복사하려고합니다. 이것은 dir의 크기입니다.

rick@rick-Inspiron-5448:~$ sudo du -hs /home/rick/
112G    /home/rick/

보시다시피 서버 RAID에는 214GB 미만의 여유 공간이 있으며 복사하려는 디렉토리의 크기는 112GB입니다.

사용하여 복사

$ scp -r /home/rick/ user@192.168.0.132:/home/user/backup

몇 시간 동안 정상적으로 작동 한 다음 다음과 같은 출력이 반복적으로 나타납니다.

scp: /home/user/backup/rick/<filename>: No space left on device

그런 다음 입력 df -h하면 디스크가 실제로 꽉 찼는 지 확인할 수 있습니다!

[user@localhost ~]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  897M   50G   2% /
devtmpfs                 7,8G     0  7,8G   0% /dev
tmpfs                    7,8G     0  7,8G   0% /dev/shm
tmpfs                    7,8G  8,8M  7,8G   1% /run
tmpfs                    7,8G     0  7,8G   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
/dev/mapper/centos-home  214G  214G   20K 100% /home
tmpfs                    1,6G     0  1,6G   0% /run/user/1000

따라서이 ID에서 214GB의 여유 공간이있는 디스크에 112GB를 복사하려고 시도했지만 복사가 완료되기 전에 디스크가 채워졌습니다. 여기에 뭔가 빠졌음을 알지만 무엇을 볼 수 없습니다.

서버에 구성된 RAID에 대한 정보입니다.

RAID 정보

내 상황을 명확히하기 위해 제공 할 수있는 다른 세부 사항이 있으면 알려주십시오.


최신 정보

@AFH 의견은 문제가 i 노드와 관련이 있다고 제안 했으므로

$ df -i
Filesystem                Inodes  IUsed    IFree IUse% Mounted on
/dev/mapper/centos-root 26214400  25686 26188714    1% /
devtmpfs                 2024232    474  2023758    1% /dev
tmpfs                    2026995      1  2026994    1% /dev/shm
tmpfs                    2026995    579  2026416    1% /run
tmpfs                    2026995     16  2026979    1% /sys/fs/cgroup
/dev/sda1                 524288    328   523960    1% /boot
/dev/mapper/centos-home   127080 126903      177  100% /home
tmpfs                    2026995      1  2026994    1% /run/user/1000

또한 출력 fdisk

$ sudo fdisk -l
Disk /dev/sda: 292.3 GB, 292326211584 bytes, 570949632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b2997

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   570949631   284425216   8e  Linux LVM

따라서 실제로 inode가 가득 찼습니다. 그것을 해결하는 방법에 대한 제안?


목적지에 도착한 것을 확인 했습니까? du대상 디렉토리에서 사용하십시오 .
Daniel B

du하드 링크를 알고 있으며 두 번 이상 계산하지 않습니다. 후 scp대상에있는 파일 더 이상 hardlinked되지 않습니다. 또한 du심볼릭 링크를 따르지 않습니다 scp. 그러나 당신의 질문은 무엇입니까?
Kamil Maciorowski

디스크에 사용되지 않은 데이터 공간이 있어도 i- 노드가 부족하면 디스크가 가득 찬 것으로 나타납니다.
AFH

2
클러스터에 대해 들어 본 적이 있습니까?
Ipor Sircer

@AFH 힌트를 주셔서 감사합니다. 나는 이전에 i-node에 대해 들어 본 적이 없으므로 그것에 대해 읽고 있습니다. 한편, 사용하지 않는 모든 데이터 공간을 사용하거나 적어도 그 이상의 공간을 사용하도록 RAID를 구성 할 수있는 방법이 있는지 알고 있습니까?
rvbarreto

답변:


0

백업 사본에 심볼릭 링크가 있습니까? 그렇다면 rsync를 사용하여 내용을 복사하십시오. -r 옵션이있는 Scp도 기호 링크를 따릅니다.


0

따라서 실제로 inode가 가득 찼습니다. 그것을 해결하는 방법에 대한 제안?

파일 시스템을 다시 포맷하지 않으면 inode 수를 늘릴 수 없습니다.

현재 사용 가능한 공간이 약 120GB이므로 inode가 없기 때문에 사용할 수 없습니다.

시도 할 수있는 것은 :

  • 다음을 사용하여 LVM 파티션 (DANGEROUS)의 파일 시스템 크기를 약 110GB 줄입니다 resize2fs.
  • 파일 시스템에 정확히 맞게 LVM 파티션을 줄입니다 (위험).
  • 여유 공간에 새 파티션을 만듭니다
  • 이제 새로운 파티션을 마운트 할 수 있습니다.

예를 들어 110GB의 공간 (/ home / user / downloads 등)에 맞는 몇 개의 디렉토리가 있는지 확인하고 해당 디렉토리의 컨텐츠를 새 파티션으로 이동 한 다음 이전 디렉토리에 파티션을 마운트하십시오. . 이제 이동 된 파일의 크기와 동일한 여유 공간 (및 inode)을 사용할 수 있습니다.

전체 작업에는 신중한 계획이 필요하므로 전체 백업을 적극 권장합니다.


0

얼마 후 나는 문제를 해결하는 방법을 알아 냈다. 문제는 scp파일을 복사 할 때 wine대상 폴더가 포함 된 폴더의 크기가 원본과 완전히 다르다는 것입니다.

그것이 wine더 많은 i-node를 차지하는 사본 과 관련이 있는지 또는 와인이 폴더 내부에서 재귀 적으로 복사되고 있는지 확실하지 않지만 df -h,로 체크 하면 wine폴더는 소스에서 1.5GB, 서버에서 101GB입니다. 그것은 운명이었다 scp.

서버에서 디스크를 지우고 rsync대신 백업을 사용하여 scp정상적으로 작동했습니다.

도와 주신 모든 분들께 감사합니다. 힘든 주말이었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.