LINUX.ORG.RU

дефрагментация ext3

 ,


0

3

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

скопировать данные на другой носитель, на исходном создать пустую fs и скинуть все обратно, не предлагать

Ответ на: комментарий от Jameson

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

Потому что в Линуксе не заботятся о пользователях?

Psilocybe ★★★★
()
Ответ на: комментарий от Jameson

Так что фрагментация например есть, а вот деградация производительности может слабо при этом ощущаться.

Между чтением файла, при котором головка ндд постоянно скачет с сектора на сектор и чтением того же файла, при котором головке скакать не надо, есть существенная разница.

И это не зависит от ФС, а обусловленно устройством хдд.

Psilocybe ★★★★
()
Ответ на: комментарий от mky

за три года хромой состоит из 26 экстетнтов (по данным filefrag)

Имеет смысл поискать другие фрагментированные файлы. Это не обязательно всегда будет Chrome или Chromium.

Не знаю, почему у вас так, либо ФС была в какой-то момент сильно забита, либо в дебиане обновление параллельно разворачивает файлы.

ФС была несколько раз увеличена, как раз чтобы не быть слишком забитой. Специально я её вроде не портил. Нормальное™ использование™ ФС. Такие вот дела.

4619 non-contiguous files (0.6%)

Фрагментированный бинарник Chromium занимает около 200 мегабайт, поэтому в эту метрику e2fsck не попадёт, потому что e2fsck не учитывает файлы объёмнее 128 МиБ. Такая вот особенность утилиты.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

ОК. Запустил такое:

fsck.ext4 -E fragcheck -nvf /dev/sda4 | grep -o '[0-9]*(f)' | uniq -c > /tmp/A
wc -l /tmp/A
sort -k1,1 -n /tmp/A

Получил 4650 фрагментированных файла. Не особо отличается от 4619.

Самый фрагментированый из них (2334 extents) — vdi от VirtualBox на 8 Гбайт (на диске 2,4 Гбайт). Из файлов >128 Мб на втором месте исходники хромого 225 extents на 907 Мб. Потом ещё одни исходники хромого 119 extents на 1,2 Гб.

Не знаю насчёт vdi-файла, должно ли быть так, но, вроде когда я игрался с ВМ, я забил ФС почти полностью (95%).

Если рассматривать все фрагментированые файлы, то на втором месте пакет VirtualBox 270 extents на 39 Мбайт, что странно. Ещё непонятнее /var/log/wtmp* — примерно 150 extents на 1 Мбайт, а другие log-файлы мало фрагментированы.

mky ★★★★★
()
Ответ на: комментарий от Psilocybe

при котором головке скакать не надо, есть существенная разница.

То есть после дефрагментации любой файл будет на одном цилиндре? А если он туда не влезет? Или перемещение головки на соседний цилиндр намного быстрее чем на несколько цилиндров?

постоянно скачет с сектора на сектор

Это вы приравняли просто фрагментацию с полной фрагментацией, когда в файле вобще нет подряд идущих блоков на накопителе. Если файл 1 Гбайт состоит из 10 кусков на накопителе, то его чтение совсем не «постоянно скачет».

mky ★★★★★
()
Ответ на: комментарий от hobbit

На Линукс десктопе просто никто не живёт и тем более не работает, по этому среди недалёких линуксов распространяется мифы о том что не нужно ничего никогда дефрагментировать, нет дескать такой проблемы.

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

theurs ★★
()
Последнее исправление: theurs (всего исправлений: 2)

скопировать данные на другой носитель, на исходном создать пустую fs и скинуть все обратно, не предлагать

А mv туда-сюда это самый прямой, простой и надёжный способ.

yu-boot ★★★★
()
Ответ на: комментарий от burato

ага вот именно так и делаю :) держу систему на жостком, а базы данных на ссд.
ибо програмный код субд один раз загрузился в память и усё.
а содержимое бд с ссд пердолится туда-сюда-обратно только в путь.

pfg ★★★★★
()
Ответ на: комментарий от hobbit

2% на десктопе говорят сами за себя. Почти никто не может использовать Линукс на десктопе из за отсутствия нужного софта, ни мсофиса тут нет ни Фотошопа, и никогда не было. Так что даже даром это никому не нужно.

theurs ★★
()
Ответ на: комментарий от theurs

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

pfg ★★★★★
()
Ответ на: комментарий от IvanRia

Потому что последние версии ПО обычно активнее развиваются в том числе путем добавления новых фич. Если у тебя есть время и силы написать дефрагментатор для одной ФС, то ты напишешь его для самой актуальной, а это ext4.

KivApple ★★★★★
()
Ответ на: комментарий от theurs

свежескаченные торенты. фрагментация такая же как в венде, никакой мистики

# filefrag *
01.avi: 1853 extents found
02.avi: 1577 extents found
03.avi: 1668 extents found
...

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

theurs ★★
()
Ответ на: комментарий от theurs

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

shell-script ★★★★★
()
Ответ на: комментарий от theurs

На Линукс десктопе просто никто не живёт и тем более не работает

Я живу и работаю.
А вот оффтопик снесён. Всё планирую для каких-то тяжёлых игрушек его, уже на ssd, поставить, да всё как-то недосуг…

QsUPt7S ★★
()
Ответ на: комментарий от shell-script

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

фрагментация для любой фс на жестком диске идентично проблемная :)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от Jameson

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


zypper se --provides /usr/sbin/e4defrag
Загрузка данных о репозиториях...
Чтение установленных пакетов...

S  | Name      | Summary                                                    | Type
---+-----------+------------------------------------------------------------+------
i+ | e2fsprogs | Инструменты для второй расширенной файловой системы (ext2) | пакет


Очень глубоко запрятали, ироды

utanho ★★★★★
()
Ответ на: комментарий от utanho

Из-за CoW в btrfs можно либо в дефрагментацию, либо в снимки.

Дефрагментатор в btrfs работает только с отдельными файлами, что означает поиск непрерывных цепочек свободных блоков, и перенос содержимого дефрагментируемого файла в эти блоки. Если какой-то блок файла принадлежат более чем одному датасету, то продуцируется новая, отдельная копия блока в текущем датасете. Причём старая копия блока никуда не девается, так как она принадлежит не только текущему датасету, но и другим. Таким образом «дефрагментация» возможна только в пределах одного датасета, а при наличии клонов и снимков только жрёт дополнительное дисковое пространство, нивелируя фичу разделения блоков между разными датасетами.

QsUPt7S ★★
()
Последнее исправление: QsUPt7S (всего исправлений: 2)
Ответ на: комментарий от QsUPt7S

CoW и дедупликация блоков естественно усложняет работу дефрагментатора :)

интересно насколько сложен будет алгоритм дефрагментации идентичной фрагментированной последовательности блоков разных файлов/снимков и т.д.

pfg ★★★★★
()
Ответ на: комментарий от pfg

интересно насколько сложен будет алгоритм дефрагментации идентичной фрагментированной последовательности блоков разных файлов/снимков и т.д.

А оно вообще возможно?

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

QsUPt7S ★★
()
Ответ на: комментарий от theurs

Странно, почему тогда тебе помогает

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

greenman ★★★★★
()
Ответ на: комментарий от shell-script

Одному обычному пользователю нужен Фотошоп чтоб фоточки обрабатывать, другому мсофис чтоб работать из дома, третьему ещё что то надо а в Линуксе ничего этого нет и никогда не было.

theurs ★★
()
Ответ на: комментарий от shell-script

В линуксе это автоматом любой просмотрщик фотографий умеет делать.

Для моих высокопрофессиональных запросов за глаза хватает gthumb. Если прям неймется в пиксели потыкать - mypaint.

И никаких слез по фотошопу.

utanho ★★★★★
()
Ответ на: комментарий от QsUPt7S

ты как раз привел пример когда фрагменты уникальны для каждого файла :) ну и еще один камень в сторону возможностей дефрагментации CoW :)

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

pfg ★★★★★
()
Ответ на: комментарий от theurs

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

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

но все привыкли к ворду екселю и фотошопу
западным корпорациям надо памятник поставить русским хакерам - они подсадили рунет на хакнутую крутые проги и сейчас много кто их покупает, хотя есть и альтернативы. среднестатистический экс-ссср обыватель просто не знает что может что-то иное :-)
в отличии от пользователей «продвинутого запада», которые весьма четко понимают что они хотят и сколько это будет стоить. и рассматривает рынок с более прогматичной позиции.

pfg ★★★★★
()
Ответ на: комментарий от utanho

«их» это основной контингент . «слаборазбирающийся пользователь ПК» :) от них никуда не деться.
разумный пользователь с гибким незакостенневшим сознанием это большая редкость.

pfg ★★★★★
()
Ответ на: комментарий от KivApple

то ты напишешь его для самой актуальной, а это ext4.

Не совсем так. Takashi Sato (автор e4defrag) прямо пишет, что его дефрагментатор работает на специфичных ioctl'ах. Их нет у ext3, и они не с рождения появились в ext4. Но как они появились, так и дефрагментатор появился. Причём автор ioctl'ов и автор дефрагментатора — разные люди.

Попытка написать патч для драйвера ext3 делающий возможным онлайн дефрагментацию была: https://www.spinics.net/lists/linux-fsdevel/msg02929.html но там всё утонуло в обсуждениях, что только этого патча недостаточно и хорошо бы придумать единые ioctl'ы для всех ФС, не создавать кучу разных...

Ну ещё Takashi Sato пишет, что ext4 дефрагментатор нужнее, её максимальный объём значительно больше, чем у ext3, Пентабайты уже не подефрагментируешь копированием на другую ФС.

mky ★★★★★
()
Ответ на: комментарий от pfg

Ненене. Не в компах дело. Они по жизни такие. Буксуют в любой ситуации. Я не зря сравнил со стиральной машиной. 8 програми и полоскание. Другого функционала нет.

Тут многие стенают о инопланетности гнома и невозможности им пользоваться. Хотя лично я наблюдал как закоренелые подоконники, до этого ни разу не видевшие гном3, осваивались в нем в течении 5 минут.

Все упирается в интеллект.

utanho ★★★★★
()
Ответ на: комментарий от utanho

Хотя лично я наблюдал как закоренелые подоконники, до этого ни разу не видевшие гном3, осваивались в нем в течении 5 минут.

Закоренелым в некотором роде проще, у них ниже планка. А вот когда человеку, который выжал из предыдущей платформы максимум эргономики и может 2-3 касаниями клавиатуры вызвать из меню действий любую команду, вместо этого меню подсовывают гамбургер или не дай б-же риббон — тут ситуация уже несколько иная.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

А вот когда человеку, который выжал из предыдущей платформы максимум эргономики и может 2-3 касаниями клавиатуры вызвать из меню действий любую команду, вместо этого меню подсовывают гамбургер или не дай б-же риббон — тут ситуация уже несколько иная.

Совершенно верно. Эта скорее напоминает человека, который пришел в заводскую столовую и ноет, что пирожки на вкус не как у мамы.

П.С. Компульсивное поведение - один из признаков аутизма. При этом, если что-то идёт не так - моментальный всплеск агрессии. Ничего не напоминает?

utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от pfg

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

theurs ★★
()