Физическое дисковое пространство, занимаемое файлом и его именем

Физическое дисковое пространство, занимаемое файлом и его именем

При переносе большого количества файлов с рабочей станции Linux Redhat на FAT32отформатированный внешний жесткий диск ( WD 2 TBотформатированный утилитой Mac disk), я столкнулся с ошибкой, что на моем диске недостаточно места. Но я проверил, что на ~700 GBдиске еще осталось место, так что я предполагаю, что у меня закончилось место на диске из-за длинных имен файлов (не уверен?) ? Как это проверить ?

Данные моего внешнего жесткого диска:

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

В настоящее время существует около ~545каталогов с чем-то между ~7000to ~11000файлами в каждом каталоге. Каждый файл является двоичным файлом размером (проверяется с помощью du -sh), ~32Kили 96K(примерно половина каждого) и имя имеет длину XC6_9k.131_132.12.2012.210.s3( 29символов). Размер файла выглядит нормально, поскольку предполагается, что это двоичные файлы с 8000или 24000плавающей точкой.

Возможно, что-то еще не так? К сожалению, я не могу проверить точное дисковое пространство, занятое каталогами, попытки du -shзанимают целую вечность.

Редактировать 1- Я использовал Mac Disk Utility для проверки внешнего жесткого диска, и он говорит - 11361590 files, 1076797472 KiB free (33649921 clusters)

Редактировать 2-

Следуя рекомендациям Анджело, я попробовал df -hи df -iна внешнем жестком диске, подключенном к моему ноутбуку (Mac). Похоже, у меня закончились свободные иноды в /Volumes/GUDDULINUX3. Есть предложения, что делать — получу ли я иноды, если скопирую tarнебольшие файлы в один tarфайл для каждого каталога? Стоит ли мне переместиться на NTFSотформатированный диск?

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

Это результаты с диска, подключенного к моей рабочей станции Linux, он не показывает информацию об иноде.

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

Редактировать 3-

Похоже, что inodeэто не работает с FAT32. Я думаю, проблема в том, что существует нижний предел того, FAT32сколько файлов может быть в каталоге, ниже, чем ~65kв зависимости от имени файла. Во-первых, я заархивировал много существующих файлов на ext HDD, что должно было освободить много inodes(или FAT32эквивалент). Но все равно перемещение большого каталога (в нем есть ~23kфайлы) показало ошибку «на устройстве не осталось места». Затем, вместо перемещения отдельных файлов, я сделал tar каталога, и перемещение его стало возможным на внешний диск !!! Попытка распаковать его на ext disk снова дала мне ошибку. Так что, я думаю, я столкнулся с ограничением на количество файлов в каталоге. Смотритеw3dkкомментарий к этому Максимальное количество файлов в каталоге

Я проверил каталоги, которые сообщили об ошибке при перемещении. Кажется, лимит 16383файлов для имен файлов с 29символами и 21843файлов для имен файлов с 20символами. Теоретически лимит ~65kфайлов для файлов с именами в 8.3формате. Спасибо всем, кто помог мне диагностировать проблему. Сейчас я просто заархивирую все, что у меня есть.

решение1

Помимо ограничений на размер раздела, файла и каталога файловой системы FAT32 (о которых вы, судя по всему, знаете), существует также максимальное ограничение на общее количество файлов на томе FAT32 — 268 435 437, независимо от каталога.

Если посчитать, 545 каталогов с 7000 файлов в каждом — это почти 4миллионфайлов — намного больше, чем может обработать FAT32.

Связанный контент