FAT32 или NTFS, сжатие в NTFS, как выбрать размер кластера и опыты с MFT (16.09.2011). |
2011 - Сентябрь | |||||||||||||||||||||||||||||||||
16.09.2011 08:26 | |||||||||||||||||||||||||||||||||
Стало кончаться свободное место на диске с документами. Смотрю в разных дефрагментаторах: зона MFT занимает около 8-9% жесткого диска. Недолго думая, решил я избавиться от файловой системы NTFS, чтобы избавиться от MFT, чтобы освободить эти 8%. Не смейтесь, читайте что из этого вышло. Началом эксперимента стало прочтение в Википедии про обе файловые системы. Там есть табличка, я ее разместил в конце статьи; главное выделяю жирным, о чем надо помнить. А скоро и не нужно будет помнить, т.к. FAT32 уйдет в прошлое окончательно. Далее настало время практики. Копирую с одного жесткого диска на другой информацию при равных условиях: HDD Seagate 500GB, раздел приблизительно 100GB, NTFS, размер кластера 4KB. Замеряю скорость передачи в мегабайтах: максимальная (по большим файлам) 112MB/s, средняя (по средним) 70MB/s, медленная (по мелким и очень мелким файлам) 8-30MB/с. Далее форматирую исходный диск заново в NTFS и смотрю, сколько зона MFT сразу сожрала. Точное число не помню, пусть будет мегабайт 90. Я помню, что зона MFT увеличивается по мере записи новых файлов, и размышляю так: если в исходном состоянии было свободно 14,3GB - то при форматировании произошло удаление лишних записей, и размер свободного места должен увеличиться. Переношу данные на исходный диск с резервного - опять получаю 14,3GB. Упс. Оказывается, стирание записей в зоне MFT достаточно жесткое, и стирая файлы - никаких архивных записей в MFT не остается. Далее форматирую исходный диск заново в NTFS, но уже с использованием сжатия. Сжатие диска - функция системы NTFS полезная, но только в частных случаях; плюс работает при кластере не более 4KB, и восстановление данных с такого диска будет затруднительное. Итак, на моем диске было разношерстное содержимое: видео, фото, музыка, текст, программы, ... Так вот, для разношерстного содержимого сжатие лучше не использовать, а только в том случае, если на вашем разделе только сжимаемые данные: текст, документы, рисунки BMP и т.д. Конечный итог: при использовании сжатия копирование с резервного диска на исходный уменьшилось: по большим файлам в 2,5 раза, по средним в 6 раз, по мелким в 10-37,5 раз. Мало того, свободное место УМЕНЬШИЛОСЬ и составило 11,8GB. Получился "эффект WinRAR'а": когда файл сжимается и весит не 100% даже, а 101-110%. Интересно, убрали ли создатели архиватора данный дефект... Далее проверяю опцию "разрешить индексирование диска для быстрого поиска". Выяснилось, что она не потребляет дискового пространства. Идем вперед. Хочу отформатировать исходный диск в FAT32. Упс. Я совсем забыл, что диски более 32 гигабайт Windows отформатировать не дает. Ах ты диктатор Билли! Качаю программу guiformat.exe и форматирую диск в FAT32. Про то, что максимальный размер файла в FAT32 равен 4GB - я помню, это не было проблемой. Переношу данные на исходный диск с резервного. Замеряю скорость. Уменьшение скорости составило где-то 1,1 раза. По свободному месту получаю... Свободно не 14,3GB, а 14,4GB. Упс. Офигевание и потеря ориентации. Потеря сознания от увиденного. Далее муторное разбирательство с возникшими "почему". Выяснились факты, которые меня расстроили и одновременно обрадовали. О надежности и скорости NTFS и FAT32 идут споры с момента создания NTFS. Видел тему на форуме, которую 6 лет мусолили. Я же пишу только то, что видел, и ни с кем спорить не намерен: О размере кластера: оказывается, это палка о двух концах. Верное утверждение, что чем меньше размер кластера - тем меньше потери на них. Пример: устанавливаю размер кластера 4KB. Тогда физически файл весом 1 байт и 4096 (4095?) байт займут ровно 1 кластер. 4097 займут уже 2 кластера, и получится что файл весит 4097, а занимает реально 8192 байта. Пример 2: устанавливаю размер кластера 128KB. Тогда физически файл весом 1 байт займет сразу 128KB. И так по каждому файлу мы теряем какое-то пространство. А теперь самый сок: об MFT. Нашел один-единственный абзац об описании MFT и прибалдел: Свободное место диска, однако, включает в себя всё физически свободное место - незаполненные куски MFT-зоны туда тоже включаются. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях операционных систем ровно в два раза), освобождая таким образом место для записи файлов. При освобождении места в обычной области MFT зона может снова расширится. При этом не исключена ситуация, когда в этой зоне остались и обычные файлы: никакой аномалии тут нет. Что ж, система старалась оставить её свободной, но ничего не получилось. Жизнь продолжается... Метафайл MFT все-таки может фрагментироваться, хоть это и было бы нежелательно.
По-русски: то, что я видел в дефрагментаторах - это не сама MFT, и определение "зона MFT" тоже, в принципе, неверно. Это РЕЗЕРВ для зоны MFT. Неперемещаемый, но изменяемый в процессе как MFT растет. Сама таблица MFT весит даже не те 90 мегабайт, что я видел, а ещё меньше. Если произойдет ситуация, что свободное место в разделе кончается - зона MFT начнет уменьшаться, пока не достигнет доступного минимума. Получается, что я гонялся за призраками: удалив MFT, я освободил не более 90MB. И конечно же, нужно больше спать, чтобы не допускать подобных глюков. Таблица сравнения FAT32 с NTFS:
|
|||||||||||||||||||||||||||||||||
Обновлено ( 29.10.2016 15:26 ) |