web-dev-qa-db-ja.com

Ubuntu-デバイスにスペースが残っていません(NTFS)

私は大量のデータを保存するサーバーを持っており、何百万ものファイルが入った多くのネストされたディレクトリを保持しています。

1つの大きなディレクトリ(約700GB)を1つのディスクから別のディスクに移動しようとすると、エラーが発生します。

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に増やしたが役に立たなかった。

11
PeterN

以下を実行します。

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

明らかに、これはそのファイル記述子のすべてのデータを破壊します。

1
user26053

rsync -avrz storage3 storage4そしてその後ファイルを削除しましたが、Linux(Ubuntu)を使用している場合にNTFSファイルシステムを使用してこれらの共有がある理由について別の質問があり、ext4またはReiserFS、ButterFSを使用しました。これらの共有がWindowsボックスにある場合は、robocopyを使用してこれらのファイルをWindowsからWindowsに移動してみてください。これは、この点で優れています。 Robocopyは主にrsyncのように機能します。

rsyncのmanページ: 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のディストリビューション、ディスクのマウント方法、ディスクがローカルのubuntuボックスに接続されている、またはマウントされているSANからiSCSIを使用していますか?

このトラブルシューティングには、「NTFSにあるファイルを移動できず、ubuntuを実行してファイルを移動しているだけ」という以上の意味があります。

0
OMG-1

Tarを使用してすべてのデータをコピーし、後で削除することができます。

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

これにより、すべての所有権、権限、リンクが保持されます

0
Chad Smith