2

Я решил изменить размер раздела на моем накопителе (с gparted), все вроде бы прошло хорошо, но теперь, когда я пытаюсь создать каталоги или копировать файлы на диск, я получаю ошибку "Нет свободного места на устройстве".

Кроме того, даже если я удаляю некоторые файлы, это не позволяет мне заменить их.

Все файлы на диске кажутся хорошо читаемыми, и я могу переместить существующие файлы в другие каталоги без проблем.

Существует пространство на диске. Проверка размера всех файлов отчетов:175 840 элементов на общую сумму 839,8 ГБ

Это раздел ext3.

Одна странность в том, что 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

Любая помощь будет оценена.

Спасибо, е.

Редактировать: По запросу "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

3 ответа3

5

Во-первых, вы не можете просто сложить размеры всех файлов на диске и ожидать, что это будет общий объем использования. Каждый раз, когда вы сохраняете файл, происходит потеря пространства. Это как положить книги на полку, если книги различаются по размеру, тогда между верхом книги и дном следующей полки будет свободное пространство.

Во-вторых, если у вас есть файлы, которые открыты, но удалены, то используемое пространство будет использоваться до тех пор, пока программа с этим файлом не закроет его или не закроется. Это часто используется для временных файлов, программе не нужно беспокоиться об их очистке, все, что нужно сделать, это открыть файл, а затем удалить его, прежде чем работать с ним. Используемое пространство этих файлов будет отображаться в df, но вы не можете найти имя файла, которое соответствует ему. Если вы хотите их найти, то вам нужно заглянуть в /proc /* /fd

В-третьих, и это ваша проблема, файловые системы ext3 имеют процент зарезервированного пространства, который может быть записан только пользователем root. Это объясняется двумя причинами: многие файловые системы становятся неэффективными, когда диск становится почти заполненным, системе приходится тратить все больше и больше времени на размещение файлов в оставшихся местах. Также чтение и запись в файлы медленны, так как в итоге они сильно фрагментированы. Другая причина резервирования места для root заключается в том, что он позволяет root сжимать файлы и, как мы надеемся, освободить место для пользователей. Если диск был полностью заполнен, то это было бы невозможно.

Поэтому в этом нет ничего плохого, то, что вы видите, - это нормальное поведение для полного диска.

1

Это говорит о том, что файловая система используется на 100% и имеет 0 свободного места. Файловая система заполнена. По разным причинам в наличии + используется!= Размер

1

Ок, с тобой все в порядке, было полно:D

Благодаря кряку за комментарий tune2fs я вижу, где я ошибся:

Reserved block count:     11685177
Free blocks:              11298646

Я только что переместил около 60 ГБ с диска, и теперь он работает как надо :)

Спасибо за вашу помощь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .