web-dev-qa-db-ja.com

'df'が利用可能であると言うスペースの再利用

RackspaceのCloudServerの1つでホストされているLinuxサーバーがあり、両方に使用可能なスペースがないことを示していますが、ルートパーティションで12GBが使用されていないことも示しています。このサーバーの唯一の仕事は、rsyncを介して別のサーバーから毎晩ファイルをrsyncし、それらのファイルの緊急バックアップを保持することです。

不要なバックアップファイルがいくつかあるディレクトリを見つけたので、それらを削除しました。これにより、12GBが未使用になりました。ファイルを削除すると、「使用済み」スペースは縮小されますが、「アベイルズ」スペースには何も与えられません。

lsofは、それが何かを保持していることを示しておらず、df -i無料のiノードがたくさんあると言います。

また、このサーバーを複数回再起動しましたが、問題は解決しません。レスキューモードで再起動し、デバイスでfsckを実行しましたが、明白なエラーは見られませんでした。

root@RESCUE-nightly-snapshot:~# fsck /dev/xvdb1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/xvdb1: recovering journal
Setting free inodes count to 20630768 (was 20630766)
Setting free blocks count to 2845985 (was 2755815)
/dev/xvdb1: clean, 340752/20971520 files, 81040087/83886072 blocks
root@RESCUE-nightly-snapshot:~#

したがって、通常のユーザーは新しいファイルを作成できず、syslogユーザーはログファイルに追加できないため、私はちょっと立ち往生しています。

最後に、ファイルシステムはext3であり、私の脳内の何かが、ジャーナルに何か奇妙なことがあるのではないかと言っています。このスペースがジャーナルによって占められる可能性があるかどうか、またはどのように伝えるかさえわかりません。

解放されるべきだったこのスペースを取り戻す方法についてのヒントをいただければ幸いです。

root@nightly-snapshot:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      315G  303G     0 100% /
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           1.6G  244K  1.6G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
overflow        1.0M     0  1.0M   0% /tmp
/dev/md0        5.0T  4.2T  593G  88% /mnt/raid
root@nightly-snapshot:~# df -i
Filesystem        Inodes    IUsed     IFree IUse% Mounted on
/dev/xvda1      20971520   340750  20630770    2% /
udev             1016188      422   1015766    1% /dev
tmpfs            1018170      319   1017851    1% /run
none             1018170        3   1018167    1% /run/lock
none             1018170        1   1018169    1% /run/shm
overflow         1018170        1   1018169    1% /tmp
/dev/md0       167772160 12607068 155165092    8% /mnt/raid
root@nightly-snapshot:~#
root@nightly-snapshot:~# lsof | grep -i deleted
root@nightly-snapshot:~#
1
Ken S.

このスペースはrootユーザー用に予約されている可能性があります。ルート用に予約されているスペースの量を確認してください。

tune2fs -l /dev/xvda1

これにより、rootユーザー用に予約されたブロック数が得られ、それにブロックサイズを掛けると、予約されたスペースのサイズ(バイト単位)が得られます。

予約済みスペースは、次のコマンドで変更できます。tune2fs -m 1 /dev/xvda1-mの後の数字は、予約する必要があるディスクスペースの割合です。この例では1%です。

5
b13n1u