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

Discussion in 'WASM.HEAP' started by r90, Apr 10, 2010.

  1. r90

    r90 New Member

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

    Stariy Member

    Blog Posts:
    0
    Joined:
    Oct 22, 2003
    Messages:
    529
    Location:
    Russia
    немноо не в тему - забекапить решил ручками штоль? Вроде проги для таких дел обычно незанятое пространство не сохраняют...
     
  3. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    Stariy, именно так, dd в тонкостях файловых систем не разбирается.
     
  4. r90

    r90 New Member

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

    green New Member

    Blog Posts:
    0
    Joined:
    Jul 15, 2003
    Messages:
    1,217
    Location:
    Ukraine
    r90
    Когда свободного места в NTFS остаётся менее 10% (по-моему), начинает фрагментироваться MFT.
     
  6. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    r90
    > Всё шло хорошо, но когда объём занятого места приблизился к 98% начались тормоза,
    > такое ощущение, что драйвер с огромным трудом находит свободные блоки.
    он начинает оптимизировать $MFT файл, выкидывая из него записи удаленных файлов, что реально медленно. плюс битовой карты свободного пространства в этом случае у нас нет, т.е. искать свободные блоки можно только тупым перебором.

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

    Sol_Ksacap Миша

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

    Partner Павел

    Blog Posts:
    0
    Joined:
    Feb 28, 2008
    Messages:
    917
    Location:
    Los Angeles
    Неверно.
     
  9. Partner

    Partner Павел

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

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    Partner
    зависят ли все эти кундштюки от версии НТФС?
     
  11. Partner

    Partner Павел

    Blog Posts:
    0
    Joined:
    Feb 28, 2008
    Messages:
    917
    Location:
    Los Angeles
    Насколько я знаю, не зависят.