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


11

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

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


試しましたlsof +L1か?man lsof:+ L1の形式で指定すると、リンク解除されている開いているファイルが選択されます。
AB

このメカニズムmvを使用する理由はありませんinotifyここを見てください:一部のプロセスは、リンク先のファイルシステムからリンクされていないファイルをまだ使用している可能性があります。
ジョンWHスミス

削除されたファイルは、引き続きdf...で指定された使用法で表示されます
Stephen Kitt

@StephenKittいいえ。inode参照のためにファイルサブシステムによって保持されているリンクされていないファイルは削除されます。完全に未使用でリンク解除(「削除」)されたものは表示されません。こちらをご覧ください
ジョンWHスミス

1
ntfsinfo -m /dev/DEV手がかりを確認してください。ntfs-3gの一部です。また、1つのNTFSボリュームには最大2 ^ 32個のファイルしか存在できないことに注意してください。NTFS iノード数を正確に報告するためのネイティブのlinux / unixツールは信用できません。
ミッキー、2015年

回答:


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

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


問題が再度発生する場合は、試してみるつもりです
PeterN '25

0

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

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

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


コピーは機能しませんでした。それだけでなく、単純な空のファイルを作成しても例外が残っていません
PeterN 2015

0

私は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を実行してファイルを移動している」という以上のことが含まれています。


前述のように、コピーは機能しませんでした。あらゆる種類のrsyncコマンドを試しました。しかし、storage4に空のファイルを作成しても例外が返されました。\ n NTFSを使用する理由は、ウィンドウを実行する他のサーバーがあり、ディスクをあるサーバーから別のサーバーに簡単に転送できるようにしたかったからです。振り返ってみると、NTFSがもたらすすべての問題のため、NTFSは使用しなかったでしょう。UbuntuはNTFSマウントでは非常に不安定です。\ nディスクはSATAケーブルを介してコンピューターのマザーボードに直接接続されており、SANなどは接続されていません。Linuxシステムへの直接マウントです。
PeterN 2015

MSテクノロジーを使用して純粋なMSにする場合、NTFSが必要な場合はMicrosoft Windows Fileserverを使用し、そうでない場合はext4または他のLinuxファイルシステムを使用して、ディスクをSmbと共有することをお勧めします。
OMG-1

いくつかの問題を保存し、WindowsとLinuxを組み合わせようとしないでください。長い目で見れば何の助けもあなたを救うことはできません、結局これはいつも涙で終わります。iノードまたはファイルハンドルの問題のように見えますが、NTFSを混在させると...時限爆弾になります。ご使用の環境でLinuxとNTFSの相互作用が必要な場合は、WindowsサーバーにNTFSを配置し、その方法で相互作用を行ってください。同じシステムに結合しようとしない。
Baazigar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.