Просто любопытно, решил бекапнуть ntfs-партицию, и чтоб она лучше сжималась начал расписывать свободное место нулями: Код (Text): dd if=/dev/zero of=/mnt/sda1/tmp.nulls bs=1M Всё шло хорошо, но когда объём занятого места приблизился к 98% начались тормоза, такое ощущение, что драйвер с огромным трудом находит свободные блоки. Собственно вопрос: как вы считаете, эти тормоза обоснованы форматом данных ntfs или это половые трудности драйвера (ntfs-3g)?
немноо не в тему - забекапить решил ручками штоль? Вроде проги для таких дел обычно незанятое пространство не сохраняют...
Stariy Ну я бы сказал, вообще не в тему. Ручками... Не ручками... Как хочешь так и называй. На разделе венда стоит, tar'ом стрёмно бекапить, я не уверен, что tar все атрибуты файлов с ntfs сохранит. Да и я пробовал когда-то дефрагментировать ntfs встроенной вендовой тулзовиной -- там такая груда неперемещаемых (по загадочным причинам) блоков... А уж физическое расположение файлов, tar точно не будет выяснять/сохранять: вот ещё баловаться. Искать же бекапилку специально для ntfs -- бред по-моему. Ладно бы я каждый день бы бекапил. Мне это надо было сделать один раз. Но это всё глупости и неважно. Интереснее другое, где же проблема была? В ntfs, которая разделяет с хэштаблицей свойство, которое не позволяет им эффективно работать при заполненности >80%, или в используемом драйвере ntfs, который недостаточно полно реализован. В венде такое наблюдается, если, скажем, копировать на диск файл, размером со свободное место на этом диске?
r90 > Всё шло хорошо, но когда объём занятого места приблизился к 98% начались тормоза, > такое ощущение, что драйвер с огромным трудом находит свободные блоки. он начинает оптимизировать $MFT файл, выкидывая из него записи удаленных файлов, что реально медленно. плюс битовой карты свободного пространства в этом случае у нас нет, т.е. искать свободные блоки можно только тупым перебором. > Собственно вопрос: как вы считаете, эти тормоза обоснованы форматом данных ntfs > или это половые трудности драйвера (ntfs-3g)? скажем так - и тем, и другим. формат сам по себе готовит трудности при заполнении близком к 100%, а вот драйверы их не преодолевают, ибо тогда бы пришлось писать кучу когда, нужного 1% пиплов на планете.
kaspersky >начинает оптимизировать $MFT файл, выкидывая из него записи удаленных файлов "Выкидывать записи удалённых файлов" или всё же "уменьшать размер $MFT, отрезая неиспользуемые записи из её конца"?
Есть битовая карта занятого пространства ($BITMAP). Свободные блоки ищутся на перебором, а по этой битовой карте функцией типа RtlFindClearBits Кроме того файл $MFT имеет свою собственную битовую карту для быстрого нахождения свободных записей.