一部のファイルをCentOSマシンにscpしようとすると、「デバイスに空き容量がありません」というエラーが表示されます
私は試した
[root@...]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01 18G 18G 0 100% /
そして私がするとき
du -sh /
-> 5Gのみを提供します
[... ~]$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol01
4685824 209516 4476308 5% /
ファイルシステムがいっぱいのようです。どれだけのサイズを取っているのか、どうすればわかりますか?
du -sh
とdf -h
の出力のこのような違いは、いくつかの大きなファイルが削除されていても、何らかのプロセスで開かれている場合に発生する可能性があります。 lsof | grep deleted
コマンドを使用して、削除されたファイルの記述子を開いているプロセスを確認します。プロセスを再起動すると、スペースが解放されます。
たぶん、あなたはiノードが不足しています。 df -i
を試してください
2591792 136322 2455470 6% /home
/dev/sdb1 1887488 1887488 0 100% /data
ディスクは6%を使用しましたが、inodeテーブルがいっぱいです。
nolsof
を持つLinuxシステムで削除されたファイルを保持しているプロセスを一覧表示するには、次のトリックを使用します。
pushd /proc ; for i in [1-9]* ; do ls -l $i/fd | grep "(deleted)" && (echo -n "used by: " ; ps -p $i | grep -v PID ; echo ) ; done ; popd
次のコマンドを実行できます
lsof/| grepが削除されました
プロセスIDを強制終了し、ディスクスペースを解放します。