Microsoft анонсировала файловую систему refs. Файловые системы: сравнение, секреты и уникальные особенности

Сначала в Windows Server, а теперь и в Windows 10 появилась современная файловая система REFS (Resilient File System), в которой вы можете отформатировать жесткие диски компьютера или созданные системными средствами дисковые пространства.

В этой статье - о том, что представляет собой файловая система REFS, о её отличиях от NTFS и возможных применениях для обычного домашнего пользователя.

Помимо функций, связанных с поддержкой целостности данных на дисках, REFS имеет следующие основные отличия от файловой системы NTFS:

  • Обычно более высокая производительность, особенно в случае использования дисковых пространств.
  • Теоретический размер тома 262144 экзабайта (против 16 у NTFS).
  • Отсутствие ограничения пути к файлу в 255 символов (в REFS - 32768 символов).
  • В REFS не поддерживаются имена файлов DOS (т.е. получить доступ к папке C:\Program Files\ по пути C:\progra~1\ в ней не получится). В NTFS эта возможность сохранялась в целях совместимости со старым ПО.
  • В REFS не поддерживается сжатие, дополнительные атрибуты, шифрование средствами файловой системы (в NTFS такое есть, для REFS работает ).

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

Обратите внимание, что после форматирования диска в файловой системе REFS, часть места на нем сразу будет занято контрольными данными: например, для пустого диска 10 Гб это около 700 Мб.

Возможно, в будущем REFS может стать основной файловой системой в Windows, однако на данный момент этого не произошло. Официальная информация по файловой системе на сайте Майкрософт:

В этой статье разберёмся какие возможности предоставляет ReFS и чем она лучше файловой системы NTFS . Как восстановить данные с дискового пространства ReFS. Новая файловая система ReFS от компании Microsoft была первоначально представлена в ОС Windows Server 2012. Она также включена в Windows 10, в составе инструмента Дисковое пространство . ReFS можно использовать для пула дисков. С выходом Windows Server 2016 файловая система была улучшена, вскоре она будет доступна в новой версии Windows 10.

Какие возможности предоставляет ReFS и чем она лучше текущей NTFS системы?

Содержание:

Что означает ReFS?

Сокращение от «Resilient File System» , ReFS – эта новая система, созданная на базе NTFS. На данном этапе ReFS не предлагает комплексную замену NTFS для использования на диске домашних пользователей. Файловая система имеет свои преимущества и недостатки.

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

ReFS защищает данные от повреждения

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

ReFS интегрирована с функцией Дисковое пространство. Если вы настроили зеркальное хранилище данных, то с помощью ReFS Windows обнаружит и автоматически устранит повреждение файловой системы, скопировав данные с другого диска. Эта функция доступна как в Windows 10, так и Windows 8.1.

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

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

Во время изменения метаданных ReFS создает новую копию данных и связывает данные с файлом, только после записи метаданных на диск. Это исключает возможность повреждения данных. Эта функция называется копированием на запись, она присутствует и в других популярных ОС Linux системах: ZFS, BtrFS, а также файловой системе Apple APFS.

В ReFS удалены некоторые ограничения NTFS

ReFS более современна и поддерживает гораздо большие объемы и более длинные имена файлов чем NTFS. В долгосрочной перспективе это важные улучшения. В файловой системе NTFS имя файла ограничено 255 символами, в ReFS имя файла может содержать до 32768 символов. Windows 10 позволяет отключить ограничение на предел символов для файловых систем NTFS, но он всегда отключается на томах ReFS.

В ReFS больше не поддерживаются короткие имена файлов в формате DOS 8.3. На томе NTFS вы можете получить доступ к C:\Program Files\ в C:\PROGRA~1\ для обеспечения совместимости со старым программным обеспечением.

NTFS имеет теоретический максимальный объем в размере 16 эксабайт, а у ReFS теоретический максимальный объем – 262144 экзабайт. Хотя сейчас это не имеет большого значения, но компьютера постоянно развиваются.

Какая файловая система быстрее ReFS или NTFS?

ReFS разрабатывалась не для повышения производительности файловой системы по сравнению с NTFS. Microsoft сделала систему ReFS намного эффективнее в строго определённых случаях.

Например, при использовании с Дисковым пространством, ReFS поддерживает «оптимизацию в режиме реального времени». Допустим у вас есть пул накопителей с двумя дисками, один обеспечивает максимальную производительность, другой используется для объема. ReFS всегда будет записывать данные на более быстрый диск, обеспечивая максимальную производительность. В фоновом режиме файловая система автоматически переместит большие куски данных на более медленные диски для продолжительного хранения.

В Windows Server 2016 Microsoft улучшила ReFS, для обеспечения лучшей производительности функций виртуальной машины. Виртуальная машина Microsoft Hyper-V использует эти преимущества (теоретически, любая виртуальная машина может использовать преимущества ReFS).

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

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

ReFS также предлагает новую функцию «редкого VDL» , которая позволяет ReFS быстро записывать нули в большой файл. Это значительно ускоряет создание нового, пустого файла виртуального жесткого диска фиксированного размера (VHD). В NTFS эта операция может занять 10 минут, в ReFS – несколько секунд.

Почему ReFS не может заменить NTFS

Не смотря на ряд преимуществ ReFS не может пока заменить NTFS. Windows не может загрузиться с раздела ReFS и требует NTFS. В ReFS не поддерживаются такие функции NTFS как сжатие данных, шифрование файловой системы, жесткие ссылки, расширенные атрибуты, дедупликация данных и дисковые квоты. Но в отличии от NTFS, ReFS позволяет выполнить полное шифрование диска c помощью BitLocker, включая системные структуры диска.

Windows 10 не позволяет отформатировать раздел в ReFS, эта файловая система доступна только в рамках Дискового пространства. ReFS защищает данные используемые на пулах из нескольких жестких дисков от повреждения. В Windows Server 2016 вы можете форматировать тома с помощью ReFS вместо NTFS. Такой том можно использовать для хранения виртуальных машин, но операционная система по-прежнему может загружаться только с NTFS.


Hetman Partition Recovery позволяет проанализировать дисковое пространство под управлением файловой системой ReFS с помощью алгоритма сигнатурного анализа. Анализируя устройство сектор за сектором программа находит определенные последовательности байт и отображает их пользователю. Восстановление данных с дискового пространства ReFS не отличается от работы с файловой системой NTFS:

  1. Загрузите и установите программу;
  2. Проанализируйте физический диск, который входит в дисковое пространство;
  3. Выберите и сохраните файлы которые необходимо восстановить;
  4. Повторите пункты 2 и 3 для всех дисков входящих в дисковое пространство.

Будущее новой файловой системы довольно туманно. Microsoft может доработать ReFS для замены устаревшей NTFS во всех версиях Windows. На данный момент ReFS не может использоваться повсеместно и служит только для определенных задач.

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

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

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

Windows 10 поддерживает файловые системы FAT, FAT32, exFAT, NTFS и ReFS без использования дополнительного программного обеспечения.

У них разные функции и свойства. Например, FAT и FAT32 являются устаревшими файловыми системами. FAT поддерживает максимальный объем 4 ГБ, FAT32 поддерживает 32 ГБ. Файловые системы FAT также имеют ограничения на максимальный размер файла. NTFS - единственная файловая система, которая поддерживает сжатие и шифрование файлов и имеет расширенные функции.

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

Чтобы узнать файловую систему на дисках в Windows 10, выполните следующие действия.

  1. Откройте «Проводник» и перейдите в папку «Этот компьютер» .
  1. Кликните правой кнопкой мыши диск и выберите в контекстном меню «Свойства» .
  1. В окне «Свойства» на вкладке «Общие», вы увидите файловую систему вашего диска.

Этот способ, является самым простым и быстрым.

Кроме того, вы можете использовать инструмент Diskpart, Управление дисками или PowerShell.

Посмотреть файловую систему диска с помощью Diskpart

  1. Нажмите сочетание клавиш Win + R .
  1. В поле «Выполнить» введите «diskpart » и нажмите Enter .

  1. В Diskpart введите команду list volume .

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

Показать файловую систему диска с помощью «Управление дисками».

  1. Нажмите Win + X или кликните правой кнопкой мыши на кнопку «Пуск» .
  1. В меню WinX выберите
  1. См. Значения в столбце Файловая система.

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

  1. Откройте PowerShell от имени администратора.
  1. Введите: get-volume и нажмите клавишу Enter .
  1. На выходе см. Значения в столбце FileSystemType .

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

Не так давно вышла публичная бета-версия Microsoft Windows 8 Server с поддержкой анонсированной файловой системы ReFS (Resilient File System - отказоустойчивая файловая система), ранее известной под кодовым названием “Protogon”. Данная файловая система предлагается как альтернатива зарекомендовавшей себя годами файловой системе NTFS в сегменте систем хранения данных на базе продуктов Microsoft, с дальнейшей ее миграцией в область клиентских систем.

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

Windows Server 8 Beta

Вариант файловой системы, доступный в данной версии операционной системы, имеет поддержку кластеров данных размером только 64КБ и кластеров метаданных размером 16КБ. Пока не ясно, будет ли поддержка файловых систем ReFS с другим размером кластера: в настоящее время параметр «Размер кластера» при создании тома ReFS игнорируется и всегда принимается умалчиваемым. При форматировании ФС единственным доступным вариантом для выбора размера кластера является 64КБ. Он также является единственным упоминаемым в блогах разработчиков.

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

Архитектура файловой системы

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

Основными структурными элементами новой файловой системы являются B+-деревья. Все элементы структуры файловой системы представлены одноуровневыми (списками) или многоуровневыми B+-деревьями, что позволяет значительно масштабировать практически любой из элементов файловой системы. Наряду с реальной 64-битной нумерацией всех элементов системы это исключает появление “узких мест” при дальнейшем ее масштабировании.

Кроме корневой записи B+-дерева, все остальные записи имеют размер целого блока метаданных (в данном случае - 16КБ); промежуточные же (адресные) ноды имеют небольшой полный размер (порядка 60 байт). Поэтому, обычно, требуется небольшое количество уровней дерева для описания даже очень крупных структур, что достаточно благоприятно сказывается на общей производительности системы.

Основным структурным элементом файловой системы является «Каталог», представленный в виде B+-дерева, ключом в котором является номер объекта-папки. В отличие от других подобных файловых систем, файл в ReFS не является отдельным ключевым элементом «Каталога», а лишь существует в виде записи в содержащей его папке. Возможно, именно ввиду этой архитектурной особенности жесткие ссылки на ReFS не поддерживаются.

«Листьями Каталога» являются типизированные записи. Для объекта-папки существуют три основных типа записей: описатель каталога, индексная запись и описатель вложенного объекта. Все такие записи упакованы в виде отдельного B+-дерева, имеющего идентификатор папки; корень этого дерева является листом B+-дерева «Каталога», что позволяет упаковать в папку практически любое количество записей. На нижнем уровне в листах B+-дерева папки находится в первую очередь запись описателя каталога, содержащая основные сведенья о папке (как-то: имя, «стандартная информация», атрибут имени файла и т.д.). Структуры данных имеют много общего с принятыми в NTFS, хотя и имеют ряд отличий, основным из которых является отсутствие типизированного списка именованных атрибутов.

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

На диске файлы располагаются в блоках размером 64КБ, хотя адресуются точно так же, как и блоки метаданных (кластерами размером 16КБ). «Резидентность» данных файла на ReFS не поддерживается, поэтому файл размером 1 байт на диске займет целый блок 64КБ, что ведет к значительной избыточности хранения на мелких файлах; с другой стороны это упрощает управление свободным пространством и выделение свободного места под новый файл осуществляется значительно быстрее.

Размер метаданных пустой файловой системы составляет порядка 0.1% от размера самой файловой системы (т.е. около 2ГБ на том 2ТБ). Некоторые основные метаданные дублируются для лучшей устойчивости от сбоев.

Защищенность от сбоев

Цели проверить стабильность существующей реализации ReFS не стояло. С точки зрения же архитектуры файловой системы она обладает всеми необходимыми инструментами для безопасного восстановления файлов даже после серьезного сбоя оборудования. Части структур метаданных содержат собственные идентификаторы, что позволяет проверить принадлежность структур; ссылки на метаданные содержат 64-бит контрольные суммы блоков, на которые производится ссылка, что позволяет оценить целостность прочитанного по ссылке блока.

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

Любое изменение структуры метаданных осуществляется в два этапа: сначала создается новая (измененная) копия метаданных в свободном дисковом пространстве, потом, в случае успеха, атомарной операцией обновления производится перевод ссылки со старой (неизмененной) на новую (измененную) область метаданных. Такая стратегия (Copy-on-Write (CoW) -копирование-при-записи) позволяет обойтись без журналирования, сохраняя автоматически целостность данных.

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

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

Избыточность хранения данных

В данном случае речь идет о расходовании дискового пространства за счет схемы хранения данных. Для целей тестирования установленный Windows Server был скопирован на раздел ReFS размером 580ГБ. Размер метаданных на пустой ФС составлял около 0.73ГБ.

При копировании установленного Windows Server на раздел с ReFS избыточность хранения данных файлов выросла с 0.1% на NTFS почти до 30% на ReFS. При этом еще около 10% избыточности добавилось за счет метаданных. В итоге «пользовательские данные» размером 11ГБ (более 70 тыс. файлов) на NTFS с учетом метаданных заняли 11.3ГБ, тогда как на ReFS те же данные заняли 16.2ГБ; это означает, что избыточность хранения данных на ReFS составляет почти 50% для этого типа данных. При небольшом количестве файлов большого размера такого эффекта, естественно, не наблюдается.

Скорость работы

Ввиду того, что речь идет о Beta, замеров производительности ФС не проводилось. С точки же зрения архитектуры ФС можно сделать кое-какие выводы. При копировании более 70 тыс. файлов на ReFS, это создало B+-дерево «Каталога» размером в 4 уровня: «корень», промежуточный уровень 1, промежуточный уровень 2, «листья».

Таким образом, для поиска атрибутов папки (при условии кэширования корня дерева) требуется 3 чтения блоков по 16КБ. Для сравнения, на NTFS эта операция займет одно чтение размером 1-4КБ (при условии кэширования карты расположения $MFT).

Поиск атрибутов файла по папке и имени файла в папке (небольшая папка в несколько записей) на ReFS потребует те же 3 чтения. На NTFS же уже потребуется 2 чтения по 1КБ или 3-4 чтения (если запись о файле находится в нерезидентном атрибуте «индекс»). В паках большего размера количество чтений NTFS растет намного быстрее, чем количество чтений, требуемых для ReFS.

Точно так же дела обстоят и для содержимого файлов: там, где рост числа фрагментов файла на NTFS приводит к перебору длинных списков, разнесенных по разным фрагментам $MFT, на ReFS это осуществляется эффективным поиском по B+-дереву.

Выводы

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

СисДев Лабораториз будет следить за развитием данной файловой системы и планирует включение поддержки восстановления данных с этой файловой системы. Экспериментальная поддержка ReFS бета-версии Microsoft Windows 8 Server уже успешно реализована в продуктах UFS Explorer и доступна для закрытого бета-тестирования среди партнеров. Официальный релиз инструментов для восстановления удаленных файлов с ReFS, а также восстановления данных после повреждения файловой системы в результате сбоев оборудования, планируется чуть ранее или одновременно с выходом релиза Microsoft Windows 8 Server с поддержкой ReFS.

Версия от 16.03.2012.
По материалам СисДев Лабораториз

Перепечатка или цитирование разрешены при условии сохранения ссылки на перво

Если вам уже довелось установить и поработать с новыми ОС от Microsoft: Windows Server 2012 и Windows 8, вы, вероятно уже заметили, что теперь новые тома можно форматировать в файловой системе ReFS. Что же такое файловая система ReFS ? Аббревиатура ReFS расшифровывается, как Resilient File System , т.е. по-русски «Отказоустойчивая файловая система».

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

Особенности файловой системы ReFS

Большинство новшеств ReFS лежит в области создания структур файлов и папок, и управления ими. Эти функции реализованы с целью автоматического исправления ошибок, обеспечения высокой масштабируемости и работы в режиме Always Online (постоянного подключения). Папки в файловой системе ReFS структурированы в виде таблиц с файлами в качестве записей, которые в свою очередь могут обладать собственными атрибутами, организованными в виде подтаблиц, реализую иерархическую древовидную структуру B+-деревьев, знакомую нам по базам данных. Свободное место на дисках также организовано в таблицах.

При разработке ReFS преследовались следующие цели:

  • Обеспечение максимальной совместимости с существующими функциями NTFS, и избавление от ненужных, которые усложняют систему
  • Верификация и автоматическое исправление данных.
  • Масштабируемость.
  • Гибкость архитектуры с использованием функции , которая собственно и была задумана для ReFS.

Основные возможности ReFS

  • Увеличенные лимиты на размер разделов, директорий и файлов (таблица ниже)
  • Целостность метаданных с контрольными суммами.
  • Специальная методика записи на диск — Integrity streams, обеспечивающая дополнительную защиту данных при повреждении части диска.
  • Новая модель транзакций «allocate on write» (copy on write)
  • Disk scrubbing – технология чистки диска в фоновом режиме
  • Возможность организации пулов хранения, которые могут применяться в виртуализации, в т.ч. для обеспечения отказоустойчивости виртуальных машин и балансировки нагрузки.
  • Для повышения производительности используется сегментация последовательных данных (data sriping)
  • Спасение данных вокруг повреждённого участка на диске.

Ограничения файловой системы ReFS

Поддерживаемые функции NTFS

ReFS унаследовала многие функции и семантики своей предшественницы NTFS, в том числе:

  • Ширование BitLocker
  • журнал USN
  • списки контроля доступа (ACL)
  • символьные ссылки для библиотек
  • точки монтирования (mount points)
  • точки соединения (junction points)
  • точки повторной обработки (reparse points)

Все данные на файловой системе ReFS будут доступны через те же самые API, которые в настоящий момент используются для доступа к разделам NTFS.

В ReFS отказались от следующих функций NTFS:

  • сжатие данных
  • шифрование на уровне файлов EFS
  • короткие имена файлов 8.3
  • Жесткие ссылки (Hard links)

ReFS в Windows 8

Поддержка ReFS появилась в ОС Windows 8 и Windows Server 2012, причем только для томов с данными. То есть разделы с ReFS нельзя использовать для установки операционной системы и загрузки с него. Со временем ReFS будет оснащена большим количеством функций и сможет целиком заменить устаревшую систему NTFS. Вероятно, все новые функции появятся в первом Service Pack-е для Windows 8.

Кроме того ReFS пока нельзя применять для съемных и переносных устройств хранения (ReFS пока применяется только для внутренних носителей).

Неприятным моментом является тот факт, что существующие NTFS тома нельзя конвертировать в ReFS на лету. Данные придется переносить обычным копированием.

Том можно отформатировать в файловую систему ReFS через консоль Disk Management. Но дополнительные параметры, например, включение проверки целостности, можно включить только из командной строки.

Например, включить проверку целостности ReFS можно командой:

Format /fs:refs /q /i:enable

Отключить проверку целостности.