Ubuntu - 장치에 남은 공간이 없습니다(NTFS)

Ubuntu - 장치에 남은 공간이 없습니다(NTFS)

나는 많은 양의 데이터를 저장하는 서버와 수백만 개의 파일을 포함하는 중첩된 디렉터리를 가지고 있습니다.

큰 디렉터리(~700GB)를 한 디스크에서 다른 디스크로 이동하려고 하면 오류가 발생합니다.

mv /media/storage3/dir /media/storage4/

"No space left on device"

또한 디스크에 작은 txt 파일을 만들려고 해도 작동하지 않습니다.

Error opening file '/media/storage4/Untitled Document': No space left on device

온라인에서 많은 옵션을 확인했지만 그 중 아무 것도 작동하지 않았습니다.

df -h 출력:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdg7        77G  9.2G   64G  13% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             32G  4.0K   32G   1% /dev
tmpfs           6.3G  1.4M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             32G   76K   32G   1% /run/shm
none            100M   48K  100M   1% /run/user
/dev/sdg6        19G  6.7G   11G  39% /home
/dev/sdb1       440G  278G  140G  67% /var
/dev/sda1       2.8T  2.0T  764G  73% /media/storage1
/dev/sdh1       2.8T  1.6T  1.3T  56% /media/storage2
/dev/sdi1       2.8T  1.7T  1.2T  60% /media/storage3
/dev/sdf1       2.8T  876G  1.9T  32% /media/storage4

df -i 출력:

Filesystem         Inodes    IUsed      IFree IUse% Mounted on
/dev/sdg7         5079040   514215    4564825   11% /
none              8242449        2    8242447    1% /sys/fs/cgroup
udev              8239750      611    8239139    1% /dev
tmpfs             8242449      696    8241753    1% /run
none              8242449        5    8242444    1% /run/lock
none              8242449        4    8242445    1% /run/shm
none              8242449       28    8242421    1% /run/user
/dev/sdg6         1220608   218613    1001995   18% /home
/dev/sdb1        29310976 12863877   16447099   44% /var
/dev/sda1       858436804 41630853  816805951    5% /media/storage1
/dev/sdh1      1356948436 38728057 1318220379    3% /media/storage2
/dev/sdi1      1217505624 34748869 1182756755    3% /media/storage3
/dev/sdf1      2048962648 36308921 2012653727    2% /media/storage4

온라인에서 읽은 사람들은 많은 수의 파일에 액세스하고 fs.inotify.max_user_watches를 높은 숫자로 설정하면 비슷한 문제가 발생하여 문제가 해결될 수 있다고 말했습니다. 8192에서 1000000으로 늘렸지만 도움이 되지 않았습니다.

답변1

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

lsof -s | sort -nrk 7 | head

다음과 같은 출력이 표시됩니다.

firefox    2997                     j   52rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   50rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j    3rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   39rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   31ur     REG              252,0 10485760    5505182 /some/path

참고: 위의 내용은 단지 예일 뿐이므로 공간 사용량을 찾으려면 스스로 판단해야 합니다.

출력 정보:

  • 7열은 사용되는 공간의 양입니다.
  • 열 4는 파일 설명자입니다.

파일 설명자의 내용을 삭제하여 해당 공간을 다시 얻을 수 있습니다.

cat /dev/null > /proc/2997/fd/50

분명히 이것은 해당 파일 설명자의 모든 데이터를 파괴합니다.

답변2

tar를 사용하여 모든 데이터를 복사한 다음 삭제할 수 있습니다.

cd /media/storage3/; tar cfp - ./dir | ( cd /media/storage4; tar xfp - )

모든 소유권, 권한, 링크가 유지됩니다.

답변3

파일을 사용한 rsync -avrz storage3 storage4다음 파일을 삭제했지만 또 다른 질문이 생겼습니다. Linux(Ubuntu)를 사용하는 경우 NTFS 파일 시스템을 사용하여 이러한 공유를 공유하는 이유는 무엇입니까? 그렇다면 ext4 또는 ReiserFS, ButterFS를 사용하겠습니다. 이러한 공유가 Windows 시스템에 있는 경우 robocopy를 사용하여 이러한 파일을 Windows에서 Windows로 이동해 보십시오. 이 작업은 매우 효과적입니다. Robocopy는 대부분 rsync와 유사하게 작동합니다.

rsync 매뉴얼 페이지:http://linux.die.net/man/1/rsync

robocopy의 도움말 페이지:https://technet.microsoft.com/en-us/library/cc733145.aspx

Linux용 3g-ntfs 드라이버 지원 페이지: www.tuxera.com/community/open-source-ntfs-3g/

3g-ntfs FAQ: www.tuxera.com/community/ntfs-3g-faq/

Ubuntu 설치에서 사용 중인 NTFS 파일 시스템 드라이버에 수정해야 할 사항이 있는 것 같습니다. 어떤 NTFS 배포판을 사용하고 있는지, 디스크를 어떻게 마운트하고 있는지, 디스크가 현재 있는 우분투 상자에 로컬로 연결되어 있는지 또는 디스크가 로컬로 연결되어 있는지 등입니다. SAN에서 iSCSI를 사용하여 이미 설치되어 있습니까?

이 문제 해결은 단순히 "NTFS에 있는 파일을 이동할 수 없고 파일을 이동하기 위해 우분투를 실행하고 있습니다" 이상의 것입니다.

관련 정보