REFS — Resilient file system

В предыдущей заметке Я обещал рассказать о REFS. Это новая файловая система, призванная со временем заместить NTFS. REFS унаследовала от NTFS множество функций и обрела новый функционал. REFS полностью раскрывает свой потенциал при использовании Storage Spaces. Однако свой профит она вносит и при использовании на одиночном накопителе.

Когда я начинаю говорить о REFS, я обычно слышу схожие вопросы, поэтому попробую их обобщить:


- Какие функции NTFS убрали в REFS?

- Что нового в REFS, чего нет в NTFS?

- Какие основные преимущества REFS перед NTFS?


Преимущества

- Отказоустойчивость

REFS поистине защищена от сбоев: Если мы рассматриваем простой том, то метаданные хранятся в двух экземплярах и контролируются контрольными суммами. перед каждой операцией чтения/записи, данные проверяюся на наличие ошибок и корректируются при необходимости. Раз в четыре недели запускается задание, в фоновом режиме сканирующее том на наличие повреждений. Исправления вносятся на лету. Поэтому при попытке натравить проверку диска на такой том, получим сообщение:

REFS — Resilient file system Refs, Storage spaces, Windows 10, Windows server, Длиннопост

По умолчанию потоки целостности включены только для метаданных — это позволяет держать файловую систему в непротиворечивом состоянии. Однако, потоки целостности можно включить для всего тома или выбранных файлов/папок. В этом случае REFS гарантирует, что считанные данные являются тем, что Вы когда-то записали. Если контрольная сумма не совпадает — REFS сообщит об ошибке и удалит файл. Это будет сигналом к восстановлению файла из резервной копии: Вы точно знаете, что этот файл был поврежден.


Всё становится интересней, если потоки целостности для данных включены на томе с избыточностью: Четность, двух- или трехстороннее зеркало. В этом случае, обнаружив ошибку контрольной суммы REFS попробует восстановить данные.


- Производительность

Стоит так-же упомянуть и нововведения производительности:

- Четность с зеркальным ускорением позволяет эффективно хранить данные на томе, используя многоуровневое хранилище.

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

- Разреженный метод VDL позволяет мгновенно создавать фиксированные VHD диски большого размера.


О преимуществах рассказал, теперь сравним её с NTFS


Функции NTFS, недоступные в REFS

По разным причинам, функционал файловых систем отличается. Какие-то функции никогда в ней не появятся (например имена в формате 8.3), какие-то появляются в процессе развития. Например, дедупликация данных, недоступная ранее, появилась в версии 3.2. Подробнее о версиях и их поддержке хорошо написано в Википедии. Ниже я привел список:

- Сжатие файловой системы

- Шифрование файловой системы (EFS)

- Транзакции

- Жесткие ссылки

- Идентификаторы объектов

- Короткие имена

- Расширенные атрибуты

- Дисковые квоты

- Загрузка операционной системы

- Поддержка файла подкачки

- Поддержка съемных дисков


Функции общие для REFS и NTFS

- Шифрование BitLocker

- Дедупликация данных ( Windows Server, v.1709 and later)

- Поддержка общих томов кластера

- Символические ссылки

- Поддержка отказоустойчивого кластера

- Списки управления доступом

- Журнал USN

- Changes notifications

- Точки соединения

- Точки подключения

- Точки повторного анализа

- Моментальные снимки томов

- Идентификаторы файлов

- Нежесткая блокировка

- Разреженные файлы

- Именованные потоки

- Тонкая подготовка

- Offloaded Data Transfer (ODX)

- Trim/Unmap


Функции, доступные только в REFS

- Клонирование блоков

- Разреженный метод VDL

- Четность с зеркальным ускорением

Таким образом можно сделать вывод, что REFS идеальна как хранилище виртуальных машин и критически важных  данных данных.

В следующей заметке я расскажу об обслуживании REFS в рамках Storage Spaces и о том, как дефрагментатор WIndows перестал им быть.

Лига Сисадминов

1.5K пост17.6K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

22
Автор поста оценил этот комментарий
Да, действительно, необходимость в новой ФС давно созрела.

А то с этими SSD компьютеры быстрее работать стали.

Непорядок !

Создадим ФС, чтоб помимо непосредственной работы она ещё и сама себе чё-нить шуршала постоянно.

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

Жаль, что Вы невнимательно читали о преимуществах.

Если Вы против потоков целостности, то похоже, сохранность данных Вас не интересует.

Клонирование блоков и разреженный метод VDL чем не угодил?

7
DELETED
Автор поста оценил этот комментарий

Если в ней изначально идёт дублирование информации, значит ли это, что мой hdd на 1024 (ГБ), после разметки в REFS, полезный объём станет 512 (ГБ)?

раскрыть ветку (1)
9
Автор поста оценил этот комментарий

Нет, дублирование только метаданных, а это чрезвычайно мало. Дублирование данных работает через Storage Spaces. И для дублирования данных нужно более одного диска.

https://pikabu.ru/story/diskovyie_prostranstva_nachalo_rabot...

показать ответы
4
Автор поста оценил этот комментарий

Квоты? Серьезно? в 21 веке?

Вам для чего дали групповые политики?

Даже самый ебанутый менеджер не в состоянии забить анальное 5 Tb хранилище текстовыми документами.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Ну может человеку нужно. Всякое случается.

3
Автор поста оценил этот комментарий
- Отказоустойчивость
REFS поистине защищена от сбоев: Если мы рассматриваем простой том, то метаданные хранятся в двух экземплярах

В древней FAT тоже дублируются таблицы ФС, что не мешает ей с успехом падать в критичных ситуациях. И если вся отказоустойчивость построена только на дублировании, то... читаем первое предложение. контрольные суммы только целостность показывают или позволяют коррекцию ошибок делать?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Следите за рукой:

Есть две копии метаданных (или данных при включенных потоках целостности)

Копии различаются. Как понять, какая копия верна?

Правильно, с помощью контрольных сумм.

Копия таблицы в FAT помогала лишь в случае проёба первой.

Автор поста оценил этот комментарий

Вот и мне не понятно кое-что. Она удаляет файл с ошибкой и затем восстанавливает его, но что произойдёт если она при проверке наткнется на файл, который по какой-то причине не сможет восстановить и будет вываливаться в ошибку при попытке (метаданные то не изменяются)? Бесконечный цикл ошибка-удаление-восстановление-ошибка или что?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

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

При отключенных потоках целостности, выдаст то, что есть.

Автор поста оценил этот комментарий
btrfs мне больше по душе)
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Вас не смущает, что разговор о разных операционных системах?

показать ответы
Автор поста оценил этот комментарий

Контрольные суммы не могут позволить или не позволить делать коррекцию ошибок )

В посте написано-же:

метаданные хранятся в двух экземплярах и контролируются контрольными суммами. перед каждой операцией чтения/записи, данные проверяюся на наличие ошибок и корректируются при необходимости
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Вот кусочек журнала:

Как раз случай с метаданными.

Иллюстрация к комментарию
показать ответы
Автор поста оценил этот комментарий

Чем вот это лучше BTRFS?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Это две принципиально разные файловые системы на двух принципиально разных операционках.

BTRFS хороша, использую её в Linux проектах.

Как и ZFS в Solaris.

показать ответы
5
Автор поста оценил этот комментарий

Будьте добры подробнее, я записываю.

Интересует:

1. Можно ли ставить систему на подобный раздел и что важно поднять потом в случае падения.

2. Я так понимаю общий ресурс с квотами уже не сделать (как раз то место где важна и сохранность данных и экономия ресурса)

3. Поддержка операционными системами ниже Windows 10

4. Инструменты для восстановления информации, т.к. чем больше шкаф тем громче падает.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

1) Нет, загрузка операционной системы на данный момент не поддерживается.

2) Квоты не поддеживаются

3) Если перенесете диск на Windows 7, она не поймет. Если сделаете доступ по сети через шару, то всё будет нормально.

4) Она сама себе инструмент, но если очень хочется, то R-Studio как обычно всё умеет.

DELETED
Автор поста оценил этот комментарий

Дык это значит, что данные будут в два раза больше места занимать?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

не данные, а метаданные. Это служебная информация.

Автор поста оценил этот комментарий

Если отказ произойдет на половине записи первой копии? А если ошибка на второй половине тут же возникнет?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Мы говорим о сбое питания при записи? Если говорим про метаданные, то используется метод копирования при записи. Старые метаданные будут ещё доступны.

показать ответы
1
DELETED
Автор поста оценил этот комментарий
Ну создания быстро пустого файла, так себе преимущество. А что по скорости чтения записи, есть сравнения?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Сама ReFS от NTFS при отключенных потоках целостности по скорости не отстает.

В некоторых случаях  категорически опережает: см. клонирование блоков и разреженный метод VDL.

При включенных потоках целостности запись и чтение идет немного медленнее из-за проверки контрольных сумм.

Но опять-же, Потоки целостности могут быть включены не для всех файлов и папок на диске.

Скрин для примера с моего диска. Контроль включен для книг, но выключен для фильмов в папке видео.

Иллюстрация к комментарию
Автор поста оценил этот комментарий

Sparse file еще места на диске не занимает, пока блок не записан. Так к слову...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Так должног быть, но в данном случае это не так.

https://youtu.be/vhDqMcU4x3M

Автор поста оценил этот комментарий

давай без VHD, при всей моей любви к hyper-v эту штуку очень мало кто знает и ценит

она умеет резервировать место под файлы мгновенно? значит например в стиме этап "выделения места на диске" будет проходить мгновенно, так?


про "Четность с зеркальным ускорением " я бы предпочел увидеть итоговую выжимку в 1-2 предложения что это даёт по факту, для 1 диска, для 2 дисков в зеркале

прежде чем читать статьи на 3 экрана текста нужна какая-то идея, цель чтоль, типа вот слышал что такое умеет.

например дедупликация реально экономит мне до 60% места на сервере, я считаю это киллер фича и несу ее в массы по возможности

а зеркальный рейд гарантирует что я 100% не потеряю данные накопленные за всю жизнь в одно мгновение.

что мне даст Четность с зеркальным ускорением ?

раскрыть ветку (1)
Автор поста оценил этот комментарий

@Onax, Я проверил информацию: поставил на закачку в торрент-клиенте (Tixati) библиотеку 1,3 тб.

Пространство зарезервировано мгновенно.

Автор поста оценил этот комментарий
А ты знаешь про нтфс? Именно на низком уровне. Хочу фрагментированный виртуальный диск собрать по кускам, но знаний не хватает понять как в $mft данные адресуются =(
раскрыть ветку (1)
Автор поста оценил этот комментарий

Не настолько. Почитайте книгу:

Руссинович М., Соломон Д. Внутреннее устройство Windows

Четвертое издание. Глава 12, стр 736-822

Автор поста оценил этот комментарий

Все теперь понял спасибо.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Рад помочь. Обращайтесь.

Автор поста оценил этот комментарий

Я так понял в ntfs принцип такой, идет перезапись файла, старая версия остается пока в новая версия файла не будет записан, после записи новой версии файловая система получает команду удалить старый файл, а что будет в случае если запись прервется на моменте записи в саму файловую систему? Что будет с самой windows если при обновлении часть файлов успеет записаться а другая нет? В самой системе заложен алгоритм на такой случай? Это же не на уровне файловой системы уже проблема насколько я понял.

раскрыть ветку (1)
Автор поста оценил этот комментарий

В NTFS принципа Copy-on-Write нет. Там файл может быть перезаписан сразу.

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

С WIndows проще, она архивирует заменяемые файлы.

Для этого и разработана ReFS, большая отказоустойчивость, выше сохранность.

показать ответы
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Черный экран возникает при повреждении системных файлов, ведь тогда даже стандартная проверка диска может не запуститься.

показать ответы
Автор поста оценил этот комментарий

А можно ламерский вопрос, как ведет себя ntfs при сбоях питания? Где можно почитать про это, и чем отличается в этом плане от Refs? Дает ли 100% защиту целостности файлов ntfs или только refs? Как пример, пришло обновление на винду с исправлением ядра, и в момент записи nt.dll выключаем принудителбно питание, что будет в ntfs и в refs при включении.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Целостность файлов NTFS не гарантирует, ибо не проверяет её.

REFS в этом плане наиболее близка, но восстановить файл есть шанс только в случае использования Storage Spaces.

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

Самое прикольное, что лет семь назад, когда я писал про BTRFS, меня знатно хуесосили.

Тогда ох EXT4 устраивал.

показать ответы
Автор поста оценил этот комментарий

Что-то типа дедупликации?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Типа того, но на лету.

показать ответы
Автор поста оценил этот комментарий
А можно про производительность?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Я писал уже об этом.

Всё зависит от конфигурации. На одиночном диске разницы почти нет.

#comment_129311061

2
Автор поста оценил этот комментарий

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

Это как бы не фича ФС, а всего лишь пример работы с ней со стороны ОС.
Все равно что в заслуги NTFS ставить "а у нас дефрагментация по расписанию запускается".

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я упомянул это для понимания, что ФС проверяет файлы при чтении/записи, но про неиспользуемые файлы тоже никто не забыл.

Автор поста оценил этот комментарий
А я ZFS как хранилище для виртуалок юзаю на полке (под proxmox).
ReFS же уже давно выпустить обещали, как бы не к вин8 еще
раскрыть ветку (1)
Автор поста оценил этот комментарий

Так она тогда и появилась. Просто потихоньку функционалом обрастает.

Автор поста оценил этот комментарий

позволяет нескольким файлам использовать одни физические данные

есть простые слова для объяснения этого момента ?

плохо статью в оригинале понял.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Попробую:

Один блок данных  может участвовать в нескольких файлах.

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

Допустим, Вы сделали группу документов, содержащий одну и ту-же картинку. Так вот, блок данных, где находится эта картинка будет общим для всех документов


Там красивая гифка у майкрософт. Вполне понятно.

показать ответы
1
Автор поста оценил этот комментарий

Что с поддержкой в *nix? Я имею в виду, не «в качестве основной», конечно же, а «хоть как-то читать/писать» или хотя бы «хоть как-то читать»?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я думаю, если там собран пул Storage Spaces, то не выйдет.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Paragon как обычно драйвер накатал.

Автор поста оценил этот комментарий

Грубо говоря, да. Причем давно, в Windows 8.

Я писал об это ранее.  Читайте по тегу:

https://pikabu.ru/tag/Storage%20spaces/hot

Тут рассказ именно о ReFS и с чем её есть.

Автор поста оценил этот комментарий

давай без VHD, при всей моей любви к hyper-v эту штуку очень мало кто знает и ценит

она умеет резервировать место под файлы мгновенно? значит например в стиме этап "выделения места на диске" будет проходить мгновенно, так?


про "Четность с зеркальным ускорением " я бы предпочел увидеть итоговую выжимку в 1-2 предложения что это даёт по факту, для 1 диска, для 2 дисков в зеркале

прежде чем читать статьи на 3 экрана текста нужна какая-то идея, цель чтоль, типа вот слышал что такое умеет.

например дедупликация реально экономит мне до 60% места на сервере, я считаю это киллер фича и несу ее в массы по возможности

а зеркальный рейд гарантирует что я 100% не потеряю данные накопленные за всю жизнь в одно мгновение.

что мне даст Четность с зеркальным ускорением ?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Четность с зеркальным ускорением - это про Storage Spaces из минимум трех дисков. Грубо говоря: у Вас есть том, данные тома распределяются между двумя виртуальными томами Storage Spaces: зеркальным и четностью. Соответственно, данные с частым доступом будут храниться на зекрале, а редко используемые файлы переедут на том с четностью. При этом Вы в проводнике видите один том

А насчет стима всё зависит от того, каким методом он резервирует место. Надо будет испытать на досуге.

показать ответы
Автор поста оценил этот комментарий

Только не REFS, а ReFS всё-же, resilient file system.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Спасибо. Исправить уже не могу. В блоге поправил.

Автор поста оценил этот комментарий

О производительности разреженного метода VDL.

Попробуйте создать два фиксированных VHD диска объемом 100 Гб:

на NTFS это займет определенное время.

на REFS это мгновенно.

показать ответы