Espaço físico em disco consumido por um arquivo e seu nome

Espaço físico em disco consumido por um arquivo e seu nome

Ao transferir muitos arquivos de uma estação de trabalho Linux Redhat para um FAT32disco rígido externo formatado ( WD 2 TBformatado pelo utilitário de disco Mac), encontrei o erro de que não havia espaço suficiente no meu disco. Mas verifiquei que ainda havia ~700 GBespaço em disco, então acho que fiquei sem espaço em disco por causa de nomes de arquivos longos (não tenho certeza?). Como verificar isso?

Os detalhes do meu disco rígido externo são

/dev/sdc1 on /media/GUDDULINUX3 type vfat (rw,nosuid,nodev,relatime,uid=988,gid=2000,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,s

Atualmente existem ~545diretórios com qualquer coisa entre ~7000arquivos ~11000em cada diretório. Cada arquivo é um arquivo binário de tamanho (verificado com du -sh) ~32Kou 96K(aproximadamente metade de cada) e o nome é semelhante a XC6_9k.131_132.12.2012.210.s3( 29caracteres). O tamanho do arquivo parece bom porque eles deveriam ser arquivos binários com 8000pontos 24000flutuantes.

É possível que algo mais esteja errado? Infelizmente, não consigo verificar o espaço exato em disco consumido pelos diretórios, a tentativa du -shleva uma eternidade.

Editar 1- Usei o Mac Disk Utility para verificar o disco rígido externo e ele diz - 11361590 files, 1076797472 KiB free (33649921 clusters)

Editar 2-

Seguindo as sugestões do Angelo, experimentei df -hno df -idisco rígido externo conectado ao meu laptop (mac). Parece que fiquei sem inodes livres no arquivo /Volumes/GUDDULINUX3. Alguma sugestão sobre o que fazer - ganharei inodes se colocar taros arquivos pequenos em um tararquivo para cada diretório? Devo mudar para um NTFSdisco formatado?

avinash$ df -h
Filesystem                          Size   Used  Avail Capacity  iused   ifree %iused  Mounted on
/dev/disk0s2                       233Gi  216Gi   17Gi    93% 56587186 4482254   93%   /
devfs                              187Ki  187Ki    0Bi   100%      646       0  100%   /dev
map -hosts                           0Bi    0Bi    0Bi   100%        0       0  100%   /net
map auto_home                        0Bi    0Bi    0Bi   100%        0       0  100%   /home
/dev/disk1s1                       1.8Ti  836Gi  1.0Ti    45%        0       0  100%   /Volumes/GUDDULINUX3

avinash$ df -i
Filesystem                        512-blocks       Used  Available Capacity  iused   ifree %iused  Mounted on
/dev/disk0s2                       488555536  452185504   35858032    93% 56587186 4482254   93%   /
devfs                                    373        373          0   100%      646       0  100%   /dev
map -hosts                                 0          0          0   100%        0       0  100%   /net
map auto_home                              0          0          0   100%        0       0  100%   /home
localhost:/rGEmV8JCfpffeQBEQFAlLe  488555536  488555536          0   100%        0       0  100%   /Volumes/MobileBackups
/dev/disk1s1                      3906009792 1752414720 2153595072    45%        0       0  100%   /Volumes/GUDDULINUX3

Estes são resultados com o disco conectado à minha estação de trabalho Linux, ele não mostra as informações do inode.

seismo82% df -h /media/GUDDULINUX3/ 
Filesystem Size Used Avail Use% Mounted on 
/dev/sdc1 1.9T 836G 1.1T 45% /media/GUDDULINUX3 

seismo82% df -i /media/GUDDULINUX3/
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sdc1           0     0     0     - /media/GUDDULINUX3

Editar 3-

Parece que inodea coisa não funciona com FAT32. Acho que o problema é que há um limite inferior de FAT32quantos arquivos podem existir em um diretório, menor do que ~65kdependendo do nome do arquivo. Primeiro, eu coloquei muitos arquivos existentes no disco rígido externo, o que deveria ter liberado muitos inodes(ou FAT32equivalente). Mas ainda mover o diretório grande (que contém ~23karquivos) mostrou o erro "sem espaço no dispositivo". Aí, ao invés de mover arquivos individuais, fiz um tar do diretório e movê-lo foi possível para um disco externo !!! Tentar descompactá-lo no disco ext me deu o erro novamente. Então, acho que encontrei um limite no número de arquivos no diretório. Verw3dkcomentário sobre isso Máximo de arquivos por diretório

Verifiquei os diretórios que relataram erros ao mover. O limite parece 16383arquivos para nomes de arquivos com 29caracteres e 21843arquivos para nomes de arquivos com 20caracteres. Teoricamente, o limite são ~65karquivos para arquivos com nomes no 8.3formato. Obrigado a todos que me ajudaram a diagnosticar o problema. Por enquanto, vou apenas arrumar o que tenho.

Responder1

Além dos limites de tamanho de partição, limites de tamanho de arquivo e limites de tamanho de diretório do sistema de arquivos FAT32 (todos os quais parece que você conhece), há também um limite máximo de 268.435.437 arquivos no total em um volume FAT32, independentemente do diretório.

Fazendo contas rápidas, 545 diretórios com 7.000 arquivos em cada é quase 4milhãoarquivos - muito além do que o FAT32 pode suportar.

informação relacionada