서버 설정이 있습니다. XFS 파티션 …에 LVM ~에 우분투 14.04.1 LTS . 파일을 홈 파티션에 복사하는 동안 ” 기기에 남은 공간이 없습니다. “이 표시됩니다.
df -h 충분한 공간을 표시합니다.
/dev/mapper/prod--vg-home 35G 21G 15G 60% /home
할당량이나 다른 디스크 공간 문제가 관련되지 않도록 동일한 홈 계좌에서 디스크를 거의 완전하게 채우는 데 fallocate를 사용했습니다.
/dev/mapper/prod--vg-home 35G 34G 1.5G 96% /home
df -i 또한 충분한 inode를 표시합니다.
/dev/mapper/prod--vg-home 36700160 379390 36320770 2% /home
나는 또한 많은 양의 작은 임의 파일 동일한 주택 계좌에서 문제를 재현했다. :
mkdir 1
cd 1
dd if=/dev/zero of=masterfile bs=10000000 count=1
split -b 10 -a 10 masterfile
cd ..
cp -R 1 2
이로 인해 추가 공간이 거의 필요하지 않고 “장치에 남은 공간 없음”이 다시 발생했습니다 (약 30MB). df -i 언급 :
/dev/mapper/prod--vg-home 36700160 1310464 35389696 4% /home
나는 같은 기계에 대한 두 번째 테스트 (우분투 14.04.1 LTS).
나는 새로운 논리 볼륨 5GB의 작은 파일들 위의 dd 및 분할 절차를 사용하십시오.
다음과 같은 디스크 공간 및 inode를 사용할 수있는 “No space left device”가 나타납니다.
/dev/mapper/prod--vg-test 5.0G 4.2G 811M 85% /mnt/test
/dev/mapper/prod--vg-test 4257712 937920 3319792 23% /mnt/test
예약 된 공간이 여전히 여기에서 무의미하다는 것을 확인하기 위해 루트 권한을 사용하여이 테스트를 수행했습니다.
나는 다른 기계에 대한 세 번째 테스트 (데비안 2.6.32-5).
나는 5GB의 새로운 논리 볼륨을 생성하고 위의 dd 및 split 절차를 사용하여 작은 파일로 채 웁니다.
그만큼 절차가 성공했습니다. 다음 디스크 공간 및 inode를 사용할 수 있습니다.
/dev/mapper/data-test 5.0G 4.2G 909M 83% /mnt/test
/dev/mapper/data-test 4721904 1000005 3721899 22% /mnt/test
예약 된 공간이 여전히 여기에 무관한지 확인하기 위해 루트 권한을 사용하여이 테스트를 수행했습니다.
이 점은 Ubuntu 14.04.1 LTS의 버그 ?
우분투 14.04.1 LTS에서 odes의 최대 비율 변경의 영향을 확인했습니다.
xfs_growfs -m 25 /dev/mapper/prod--vg-home
이 금액은 쉽게 줄이거 나 늘릴 수 있습니다.
이 설정을 실험하면서 3 %로 줄이고 다시 25 %로 늘리거나 일부 파일을 삭제하면 많은 파일을 다시 추가 할 수 있지만 여전히 저장소 나 inode를 채우기 전에 오류가 발생한다는 것을 알았습니다 .
xfs_info 표시 :
meta-data=/dev/mapper/prod--vg-home isize=256 agcount=14, agsize=655360 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=9175040, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
“No space left on device”메시지를 유발할 수있는 다른 설정이 있습니까? 아니면 이것이 버그라고 결론 내릴 수 있습니까?
고맙습니다
답변
inode가 파티션 전체에 제대로 분배되지 않게하는 xfs_growfs의 버그가 있습니다. 해결책은 단순히 inode64 옵션으로 다시 마운트하는 것입니다. 예를 들어 이것이 / dev / vda1 인 경우 다음을 수행합니다.
mount -o remount,inode64 /dev/vda1
버그에 대한 자세한 정보를 찾을 수 있습니다. 이리 .
답변
디렉토리 (특별히 /home
)는 디스크가 꽉 찼다 고 말할 수 있으며 그 상황은 사용자의 할당량을 의미합니다. 사용자의 사용 가능한 공간에 제한이있을 수 있습니다. 문제가 있는지 확인하십시오.