Неожиданное переполнение диска

Автор epros, 29 ноября 2013, 09:48:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

epros

Народ спасите, не знаю, что делать.
Запустив демон биткоина, начал заполнять базу с блоками, не ожидал, что последние десятки тысяч блоков окажутся такими огромными по размеру...
Собственно, я ожидал объёма базы примерно в полтора десятка Гб (как оно, собственно, и есть) НО: В lxde-шном файл-менеджере (pcmanfm) когда я нажимаю пункт контекстого меню "свойства" на директории "bitcoin/blocks". то вижу: "Общий размер файлов 12.6Гб", "Размер на диске 100.9Гб". Что бы последнее значило? Откуда такое огромное количество лишнего места на диске? У меня не такой уж большой диск... Короче, неожиданно обнаружилось 0 байт свободного места (df тоже говорит, что 100% использовано). А я, дурак, не взирая на все предупреждения сконфигурировал всё одним диском (не считая небольшого своп-раздела) - и корневую директорию, и все данные в одну кучу. Думал, что до полного забивания диска мне ещё далеко, а так будет проще... В общем, начались какие-то проблемы. Поначалу даже корзину мне не удалось почистить - выдавалась какая-то ошибка. Но вроде как-то с этим обошлось, теперь - занято уже 99%. :-[ Базу биткоина, не смотря на её безобразный размер, жалко - слишком много труда ушло на её получение. Хотел сбросить её на dvd, но почему-то pcmanfm говорит мне, что dvd смонтировался толлько для чтения и предлагает заглянуть в какие-то логи... Почему так произошло и как перемонтировать по нормальному - не понимаю. Выключать комп теперь тоже уже боюсь, ибо прочитал, что при переполнении диска после перезагрузки может не оказаться места для какого-то временного файла и тогда система вообще не запустится... Короче:

1) Подскажите пожалуйста, откуда такое огромное лишнее "место на диске" и можно ли с этим что-то поделать? База состоит из нескольких десятков файлов .dat, большее количество которых по 134 Мб. Т.е., вроде, не должно было бы быть страшно. Но... Я вообще не понимаю такой системы, что файл 134Мб занимает "на диске" более Гб.

2) Как перемонтировать писуемый DVD в режиме для записи. Сейчас lxde мне его монтирует автоматически при вставке. И, как видно, монтирует не так как надо.

3) Можно ли без риска для здоровья системы, не удалив базу биткоина, т.е. оставаясь с 1% свободного места на 110Гб-ном общем для всего диске, рискнуть перезагружаться?


rayanAyar

Цитата: epros от 29 ноября 2013, 09:48:41Откуда такое огромное количество лишнего места на диске?
Там много маленький файлов?

Место (почти на всех ФС) выделяется фиксированными блоками. Стандартный размер блока - 4 килобайта. Соответственно например:
* 1 файл размером 4 килобайта займёт на диске 4 килобайта
* 1 файл размером 1 байт займёт 4 килобайта
* 1000 файлов размером 1 байт займут 4 мегабайта

epros

#3
Цитата: qupl от 29 ноября 2013, 10:11:29
Покажите хотя бы  fdisk -l
df -h


Я переписал всю базу биткоина на 64Гб флешку (пишет, что файлы на флешке занимают 14.4Гб, однако "место на диске" 462.5Гб. Что бы это значило?). С жесткого диска базу удалил. Перезагрузился успешно. Тем не менее, по-прежнему пишет, что свободное место 1.6Гб (всего лишь). На диске в директориях, не имеющих отношения к биткоину, такая же ерунда: файлы "на диске" занимают в 10 раз больше места, чем их настоящий размер.

Вот результаты команд, которые Вы просили:

root@home-desktop:/home/epros# fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, всего 234441648 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x294d294d

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048   224610303   112304128   83  Linux
/dev/sda2       224610304   234440703     4915200   82  Linux своп / Solaris


root@home-desktop:/home/epros# df -h
Файловая система                                       Размер Использовано  Дост Использовано% Cмонтировано в
rootfs                                                   106G          99G  1,5G           99% /
udev                                                      10M            0   10M            0% /dev
tmpfs                                                    254M         664K  253M            1% /run
/dev/disk/by-uuid/bc250faf-ac7a-46e0-a5a9-a456790ab1ff   106G          99G  1,5G           99% /
tmpfs                                                    5,0M            0  5,0M            0% /run/lock
tmpfs                                                    1,5G            0  1,5G            0% /run/shm


Сообщение объединено: 29 ноября 2013, 13:00:55

Цитата: rayanAyar от 29 ноября 2013, 10:23:35Там много маленький файлов?

Место (почти на всех ФС) выделяется фиксированными блоками. Стандартный размер блока - 4 килобайта. Соответственно например:
* 1 файл размером 4 килобайта займёт на диске 4 килобайта
* 1 файл размером 1 байт займёт 4 килобайта
* 1000 файлов размером 1 байт займут 4 мегабайта
Файлы не маленькие! Те, которые по 134Мб (их 84 штуки в базе) "на диске" почему-то занимают каждый более чем по гигабайту.


epros

#5
Попробовал восстановить базу биткоина с флешки командой cp -r. Поначалу что-то писалось, но в конечном итоге получил на консоль кучу сообщений типа: " Не могу расширить файл такой-то, на диске не осталось свободного места". После этого система стала глючить (в частности, Iceweasel не запустился). После перезагрузки я получил то, чего боялся: Предупреждение о том, что нет места для создания временного файла и что tmpfs  mounted на /tmp (или что-то в этом роде), а в итоге система не загрузилась. Перезагрузился в безопасном режиме, из командной  строки суперпрользователя выполнил "rm -r .bitcoin/blocks", после чего опять смог перезагрузиться "нормально", т.е. вернулся к тому же 1% свободного места.

Что это за ерунда? Что это за операция "расширить" файл? И почему они на диске занимают вдесятеро больше места, чем им нужно?

Сообщение объединено: 29 ноября 2013, 13:51:15

Цитата: qupl от 29 ноября 2013, 13:36:06
Где лежат базы?
du -s /var /home  /root

root@home-desktop:/home/epros# du -s /var /home /root
652604 /var
25182856 /home
73430284 /root


Касательно баз: Вы про базы биткоина? Уже нигде не лежат, после сбрасывания на флешку я их с жёсткого диска удалил. А были в /etc/.bitcoin в поддиректориях blocks и chainstate (основной объём в blocks).


epros

Цитата: epros от 29 ноября 2013, 13:43:40
root@home-desktop:/home/epros# du -s /var /home /root
652604 /var
25182856 /home
73430284 /root
Поясню: pcmanfm мне пишет, в /root/.local/share/Trash  у меня лежит 601Гб. У меня столько и не было-то никогда... Ничего, если я сделаю там rm -r *?

qupl

Цитата: epros от 29 ноября 2013, 13:43:40Касательно баз: Вы про базы биткоина? Уже нигде не лежат, после сбрасывания на флешку я их с жёсткого диска удалил. А были в /etc/.bitcoin в поддиректориях blocks и chainstate (основной объём в blocks).
А что такое лежит в /home на 25Гб и /root на 75 Гб?

du -s /root/*

epros

Цитата: qupl от 29 ноября 2013, 14:07:08
Цитата: epros от 29 ноября 2013, 13:43:40Касательно баз: Вы про базы биткоина? Уже нигде не лежат, после сбрасывания на флешку я их с жёсткого диска удалил. А были в /etc/.bitcoin в поддиректориях blocks и chainstate (основной объём в blocks).
А что такое лежит в /home на 25Гб и /root на 75 Гб?

du -sa /root/*
В /home ничего особенного, там обычные пользовательские файлы. Такой объём получается потому, что, например, каждый видеоролик, законный размер которого 400Мб, "на диске" занимает более 3.5Гб.
В /root основной объем приходится на .local/share/Trash/ Ничего не грохнется, если я его почищу?

Вот эта команда не проходит:
root@home-desktop:~# du -sa /root/*
du: невозможно одновременно подводить итог и показывать все элементы
Попробуйте «du --help» для получения более подробного описания.


qupl

-a лишним был

Сообщение объединено: 29 ноября 2013, 14:19:23

Это корзина, ничего не грохнется.

epros

#11
А, рискнул, почистил. Теперь:
root@home-desktop:/# du -s /root
57324 /root

Но главная проблема в том, почему файлы спонтанно расширяются вдесятеро? Причём любые файлы, включая и те, которые были записаны ранее и не только мной.

Сообщение объединено: 29 ноября 2013, 14:31:04

Хм, не понимаю. Провёл эксперимент: создал файл test.txt и скопировал туда последовательность 0123456789 десять раз. В свойствах пишет: "Размер: 100 байт, размер на диске: 32768 байт".

Сообщение объединено: 29 ноября 2013, 14:37:59

Ладно, 32 К - это может быть минимальный размер кластера на диске. Но почему когда я набил в этот файл ровно 10000 знаков (цифр), "объём на диске" оказался равным 98 304 байт?

Сообщение объединено: 29 ноября 2013, 14:55:06

Подскажите пожалуйста, что это за параметр такой - "размер на диске", чем его можно ещё посмотреть кроме пункта "свойства" в контекстном меню файл-менеджера? ls - l мне показывает нормальные цифры:
root@home-desktop:/home/epros# ls -l test.txt
-rw-r--r-- 1 epros epros 10000 ноя 29 14:37 test.txt

Ровно 10 тыс . байт, как и должно быть.

epros

Подскажите плиз, что бы это значило:
root@home-desktop:~# cp backup272291.tar /media/84D0-F52A/
cp: запись «/media/84D0-F52A/backup272291.tar»: Файл слишком велик
cp: не удалось расширить «/media/84D0-F52A/backup272291.tar»: Файл слишком велик

Файл на самом деле чуть больше 15Гб, а копировался он на пустую флешку объёмом 64Гб.

yura_n

Зайдите в папку с сомнительными файлами и выполните такую команду:

du --max-depth=1 -hac

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

epros

#14
Папка с сомнительными файлами это где? Я сейчас во всех файлах сомневаюсь. Если выполнить на флешке, куда этот .tar недозаписался, то:

root@home-desktop:/media/84D0-F52A# du --max-depth=1 -hac
4,0G ./backup272291.tar
4,1G .
4,1G итого
Как видите, файл всего лишь около 4Гб. Файлменеджер pcmanfm мне пишет, что 4.3Гб, но при этом "место на диске" - больше 137Гб. Это как?

Сообщение объединено: 30 ноября 2013, 20:22:35

Сейчас  попробовал переписать этот же бэкап-файл на эту же флешку, загрузившись в "безопасном режиме" и потом вручную примонтировав флешку командой mount. Результат абсолютно такой же, только сообщение об ошибке на английском языке: "failed to expand file ..." и т.п. И ровно такой же по размеру кусок файла - 4.1G - успел записаться на флешку перед тем, как возникла ошибка.

Сообщение объединено: 30 ноября 2013, 21:08:52

Офигеть, загрузился с того live CD, с которого изначально устанавливал Дебиан несколько месяцев назад. И такая же ерунда при попытке записи этого же файла на эту же флешку. Вариации заключаются в форматах сообщения об ошибке: Англоязычный pcmanfm говорит: "error when splicing the file". Что же это за ерунда такая?

Может всё-таки снести этот дебиан? Вот только как бы сначала бекап сохранить...