Questão "Não há mais espaço no dispositivo" depois de redimensionar a partição


Eu decidi redimensionar a partição na minha unidade de armazenamento (com gparted), tudo parecia ir bem, mas agora, quando tento criar diretórios ou copiar arquivos para a unidade eu recebo um erro "Sem espaço deixado no dispositivo".

Além disso, mesmo se eu excluir alguns arquivos, não será possível substituí-los.

Todos os arquivos da unidade parecem legíveis e eu posso mover os arquivos existentes para outros diretórios sem problemas.

é espaço na unidade. Verificando o tamanho de todos os relatórios de arquivos: 175.840 itens, totalizando 839,8 GB

É uma partição ext3.

Uma coisa estranha é que o Ubuntu (64bit kármico) ainda pega a unidade como "957GB Filesystem" no menu Places.

Observe que a unidade afetada não é minha unidade de inicialização principal, mas simplesmente uma unidade de armazenamento que eu montei no menu Locais quando necessário.

Saída de "df -h":

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

Saída de "df -i":

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

Eu corri "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

Qualquer ajuda seria apreciada.

Obrigado, e.

Editar: Conforme solicitado "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


origem


postar a saída de tune2fs -l /dev/sdb1 por favor? - quack quixote
Eu adicionei aquele charlatão - Ashy


Respostas:


Em primeiro lugar, você não pode simplesmente adicionar os tamanhos de todos os arquivos no disco e esperar que seja a quantidade total usada. Toda vez que você armazena um arquivo, há algum espaço desperdiçado. É como colocar livros em uma prateleira, se os livros variam em tamanho, então você terá um espaço entre a parte superior do livro e a parte inferior da próxima prateleira.

Em segundo lugar, se você tiver arquivos abertos, mas excluídos, o espaço usado ainda será usado até que o programa com esse arquivo o feche ou saia. Muitas vezes usado para arquivos temporários, o programa não precisa se preocupar em limpá-los, tudo o que precisa fazer é abrir um arquivo e excluí-lo antes de trabalhar com ele. Estes arquivos usados ​​serão mostrados em df, mas você não pode encontrar um nome de arquivo que corresponda a ele. Se você quiser encontrá-los, então você terá que procurar em / proc / * / fd

Em terceiro lugar, e este é o seu problema aqui, os sistemas de arquivos ext3 têm uma porcentagem do espaço reservado que só pode ser gravado por raiz. Há duas razões para isso, muitos sistemas de arquivos tornam-se ineficientes quando o disco chega perto de ficar cheio, o sistema precisa gastar mais e mais tempo ajustando os arquivos aos espaços restantes. Também ler e escrever nos arquivos é lento, pois eles acabam sendo muito fragmentados. Outra razão para reservar espaço para o root é que ele permite que o root comprima os arquivos e espere recuperar algum espaço para os usuários. Se o disco estivesse totalmente cheio, isso não seria possível.

Portanto, não há nada errado, o que você está vendo é o comportamento normal de um disco inteiro.


5



Eu tive o mesmo problema, isso ajudou. Obrigado! - Jords


Ele diz que o sistema de arquivos é 100% usado e tem 0 espaço disponível. O sistema de arquivos está cheio. Por várias razões, Avail + Used! = Size.


1



Se estivesse cheio, certamente, quando eu excluir um arquivo, eu seria capaz de criar um diretório ou copiar outro arquivo para a unidade? - Ashy


Ok, você estava bem, estava cheio: D

Graças ao charlatão para o comentário do tune2fs, vejo onde eu errei:

Reserved block count:     11685177
Free blocks:              11298646

Acabei de mover cerca de 60 GB da unidade e agora está funcionando como deveria :)

Obrigado a todos pela vossa ajuda.


1