web-dev-qa-db-ja.com

パーティションのサイズを変更した後、「デバイスにスペースが残っていません」

ストレージドライブ(gpartedを使用)のパーティションのサイズを変更することにしました。すべてうまくいったようですが、ディレクトリを作成したり、ドライブにファイルをコピーしたりしようとすると、「デバイスに空き容量がありません」というエラーが表示されます。

また、一部のファイルを削除しても、置き換えることができません。

ドライブ上のすべてのファイルは問題なく読み取れるようで、既存のファイルを他のディレクトリに問題なく移動できます。

ドライブにisスペースがあります。すべてのファイルレポートのサイズを確認する:175,840アイテム、合計839.8 GB

これはext3パーティションです。

奇妙なことの1つは、Ubuntu(64ビットカルマ)が[場所]メニューでドライブを「957GBファイルシステム」として選択していることです。

影響を受けるドライブはメインのブートドライブではなく、必要に応じて[場所]メニューからマウントするストレージドライブであることに注意してください。

「df-h」の出力:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             885G  842G     0 100% /media/acd61702-ff34-460f-8539-ac762d1dc466

「df-i」の出力:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdb1            58433536  175818 58257718    1% /media/acd61702-ff34-460f-8539-ac762d1dc466

「fsck-f-v/dev/sdb1」を実行しました:

fsck from util-linux-ng 2.16
e2fsck 1.41.9 (22-Aug-2009)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

  175818 inodes used (0.30%)
    8348 non-contiguous files (4.7%)
     142 non-contiguous directories (0.1%)
         # of inodes with ind/dind/tind blocks: 76655/8046/56
222404925 blocks used (95.17%)
       0 bad blocks
      79 large files

  161176 regular files
   12907 directories
       0 character device files
       0 block device files
       0 fifos
      38 links
    1726 symbolic links (1512 fast symbolic links)
       0 sockets
--------
  175847 files

どんな助けでもいただければ幸いです。

ありがとう、e。

編集:要求に応じて「tune2fs-l/dev/sdb1」:

tune2fs 1.41.9 (22-Aug-2009)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          acd61702-ff34-460f-8539-ac762d1dc466
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              58433536
Block count:              233703571
Reserved block count:     11685177
Free blocks:              11298646
Free inodes:              58257718
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      968
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   256
Filesystem created:       Thu May 15 14:59:19 2008
Last mount time:          Fri Nov 13 13:47:23 2009
Last write time:          Fri Nov 13 14:40:32 2009
Mount count:              2
Maximum mount count:      35
Last checked:             Thu Nov 12 15:14:03 2009
Check interval:           15552000 (6 months)
Next check after:         Tue May 11 16:14:03 2010
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      793715af-66d6-46da-82aa-97ab4549b0ad
Journal backup:           inode blocks
2
Ashy

まず、ディスク上のすべてのファイルのサイズを単純に合計することはできず、それが使用される合計量になると予想できます。ファイルを保存するたびに、いくらかのスペースが無駄になります。それは本を棚に置くようなものです。本のサイズが異なる場合は、本の上部と次の棚の下部の間にスペースができます。

次に、開いているが削除されたファイルがある場合、そのファイルを含むプログラムがファイルを閉じるか終了するまで、使用されているスペースは引き続き使用されます。これは一時ファイルによく使用されます。プログラムはそれらをクリーンアップすることを心配する必要はありません。必要なのは、ファイルを開いてから削除してから作業することだけです。これらのファイルの使用済みスペースはdfに表示されますが、それに対応するファイル名が見つかりません。それらを見つけたい場合は、/ proc/*/fdを調べる必要があります

第三に、これがここでの問題です。ext3ファイルシステムには、rootによってのみ書き込むことができる予約済みスペースの割合があります。これには2つの理由があります。ディスクがいっぱいに近づくと、多くのファイルシステムが非効率になり、システムは、残っているスペースにファイルを収めるのにますます多くの時間を費やす必要があります。また、ファイルの読み取りと書き込みは、ファイルがひどく断片化されてしまうため、遅くなります。 root用にスペースを予約するもう1つの理由は、rootがファイルを圧縮し、できればユーザー用にスペースを回復できるようにするためです。ディスクが完全にいっぱいの場合、それは不可能です。

したがって、問題はありません。表示されているのは、ディスクがいっぱいになった場合の通常の動作です。

4
gorilla

これは、ファイルシステムが100%使用されており、使用可能なスペースが0であることを示しています。ファイルシステムがいっぱいです。さまざまな理由で、Avail + Used!=サイズ。

1
Ryan Thompson

わかりました、あなたは大丈夫でした、それはいっぱいでした:D

Tune2fsのコメントを寄せてくれたquackのおかげで、どこが間違っていたのかわかります。

Reserved block count:     11685177
Free blocks:              11298646

ドライブから約60GBを移動したところ、正常に動作しています:)

よろしくお願いします。

1
Ashy