Забивание ntfs нулями

Тема в разделе "WASM.HEAP", создана пользователем r90, 10 апр 2010.

  1. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Просто любопытно, решил бекапнуть ntfs-партицию, и чтоб она лучше сжималась начал расписывать свободное место нулями:
    Код (Text):
    1. dd if=/dev/zero of=/mnt/sda1/tmp.nulls bs=1M
    Всё шло хорошо, но когда объём занятого места приблизился к 98% начались тормоза, такое ощущение, что драйвер с огромным трудом находит свободные блоки.
    Собственно вопрос: как вы считаете, эти тормоза обоснованы форматом данных ntfs или это половые трудности драйвера (ntfs-3g)?
     
  2. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    немноо не в тему - забекапить решил ручками штоль? Вроде проги для таких дел обычно незанятое пространство не сохраняют...
     
  3. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Stariy, именно так, dd в тонкостях файловых систем не разбирается.
     
  4. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Stariy
    Ну я бы сказал, вообще не в тему. ;)
    Ручками... Не ручками... Как хочешь так и называй. На разделе венда стоит, tar'ом стрёмно бекапить, я не уверен, что tar все атрибуты файлов с ntfs сохранит. Да и я пробовал когда-то дефрагментировать ntfs встроенной вендовой тулзовиной -- там такая груда неперемещаемых (по загадочным причинам) блоков... А уж физическое расположение файлов, tar точно не будет выяснять/сохранять: вот ещё баловаться.
    Искать же бекапилку специально для ntfs -- бред по-моему. Ладно бы я каждый день бы бекапил. Мне это надо было сделать один раз.
    Но это всё глупости и неважно. Интереснее другое, где же проблема была? В ntfs, которая разделяет с хэштаблицей свойство, которое не позволяет им эффективно работать при заполненности >80%, или в используемом драйвере ntfs, который недостаточно полно реализован. В венде такое наблюдается, если, скажем, копировать на диск файл, размером со свободное место на этом диске?
     
  5. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    r90
    Когда свободного места в NTFS остаётся менее 10% (по-моему), начинает фрагментироваться MFT.
     
  6. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    r90
    > Всё шло хорошо, но когда объём занятого места приблизился к 98% начались тормоза,
    > такое ощущение, что драйвер с огромным трудом находит свободные блоки.
    он начинает оптимизировать $MFT файл, выкидывая из него записи удаленных файлов, что реально медленно. плюс битовой карты свободного пространства в этом случае у нас нет, т.е. искать свободные блоки можно только тупым перебором.

    > Собственно вопрос: как вы считаете, эти тормоза обоснованы форматом данных ntfs
    > или это половые трудности драйвера (ntfs-3g)?
    скажем так - и тем, и другим. формат сам по себе готовит трудности при заполнении близком к 100%, а вот драйверы их не преодолевают, ибо тогда бы пришлось писать кучу когда, нужного 1% пиплов на планете.
     
  7. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    kaspersky
    >начинает оптимизировать $MFT файл, выкидывая из него записи удаленных файлов
    "Выкидывать записи удалённых файлов" или всё же "уменьшать размер $MFT, отрезая неиспользуемые записи из её конца"?
     
  8. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Неверно.
     
  9. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Есть битовая карта занятого пространства ($BITMAP). Свободные блоки ищутся на перебором, а по этой битовой карте функцией типа RtlFindClearBits
    Кроме того файл $MFT имеет свою собственную битовую карту для быстрого нахождения свободных записей.
     
  10. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    Partner
    зависят ли все эти кундштюки от версии НТФС?
     
  11. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Насколько я знаю, не зависят.