RAIDZ1 или RAID 5: что на самом деле происходит при восстановлении данных

Когда кто‑то обращается к специалисту по восстановлению данных из‑за вышедшего из строя массива, ответ на вопрос «какой это уровень RAID?» определяет всё, что последует дальше. RAIDZ1 и RAID 5 разделяют одну базовую идею — распределять контрольную информацию (чётность) по дискам так, чтобы потеря одного накопителя не приводила к утрате данных — но при реальных нагрузках они ведут себя значительно иначе. Эти различия становятся особенно ощутимы, когда вы смотрите на деградировавший массив. В этой статье рассматривается, что означают архитектурные отличия для вероятности отказа, сложности восстановления и какие инструменты действительно работают в каждом случае.

RAIDZ1 или RAID 5: что на самом деле происходит при восстановлении данных

Содержание

  1. Как на самом деле строится каждый массив
  2. Дыра записи и тихая порча данных
  3. Емкость и производительность
  4. Сравнение сценариев отказов
  5. Риск восстановления для больших дисков
  6. Восстановление данных из RAIDZ1
  7. Восстановление данных с RAID 5
  8. RS RAID Retrieve: программное восстановление для обоих типов массивов
  9. Что выбрать — и когда это важно для восстановления

Обе конфигурации выдерживают потерю одного диска. На этом сходство заканчивается — особенно в тот момент, когда что‑то идёт не так.

Как на самом деле строится каждый массив

RAID 5 распределяет данные и чётность по полосам фиксированной ширины на всех дисках массива — обычно 64 КБ или 128 КБ, задаваемыми контроллером и неизменяемыми. Любая запись, затрагивающая объём меньше полной полосы, вызывает классический цикл чтение‑модификация‑запись: чтение старых данных, чтение старой чётности, вычисление новой чётности и запись обоих обратно.

Именно этот цикл является корневой причиной «write hole» (дыры при записи) и ряда других проблем, обсуждаемых ниже.

RAIDZ1 — это тип vdev в ZFS: слой пула неотделим от файловой системы. ZFS группирует блоки каждой записи в полосу переменной ширины, которая одновременно охватывает все диски. Неполных (частичных) записей по полосе не бывает — каждая запись всегда покрывает всю полосу. Это полностью устраняет цикл чтение‑модификация‑запись и закрывает проблему «write hole».

vdev RAIDZ1 нельзя расширить после создания. Можно добавить новый vdev в пул, но исходный остаётся фиксированным. RAID 5 во многих реализациях позволяет онлайн‑расширение — это преимущество гибкости, которое иногда становится источником новых повреждений данных.

ARCHITECTURE RAIDZ1 or RAID 5

Дыра записи и тихая порча данных

Write hole характерна для RAID 5: если питание прерывается между записью новых данных и обновлением паритета, данные и паритет перестают совпадать. Большинство контроллеров при следующей загрузке бесшумно принимают эту несогласованность и помечают массив как рабочий — паритет в этой полосе просто неверен. Об этом никто не узнаёт, пока при восстановлении не выйдет из строя второй диск: в этом случае данную полосу восстановить нельзя и происходит потеря данных без какого‑либо предупреждения.

Примечание по восстановлению: Если RAID 5 выглядит как пострадавший от отказа двух дисков, но физически повреждён только один, вероятной причиной может быть несогласованность, вызванная write‑hole. Снимите образ каждого диска в первую очередь и проанализируйте согласованность паритета по подозрительной полосе, прежде чем делать вывод о выходе из строя обоих дисков.

ZFS избегает этой проблемы благодаря семантике copy‑on‑write: данные никогда не перезаписываются поверх существующих блоков. Если питание прерывается посреди записи, ZFS при следующем монтировании откатывает незавершённую транзакцию. Массив всегда находится в согласованном состоянии с момента включения.

Вторая проблема целостности — тихая порча данных (bitrot). Диски иногда возвращают неверные данные, не сигнализируя об ошибке. RAID 5 не использует контрольные суммы для проверки и принимает любые данные, которые вернул диск. ZFS вычисляет контрольную сумму для каждого блока при записи и проверяет её при чтении — если блок не проходит проверку, ZFS восстанавливает его из паритета и перезаписывает исправленные данные. В RAID 5 такая порча данных проходит незаметно для приложения.

Тихая порча данных встречается чаще, чем принято думать, на массивах, эксплуатируемых три и более лет. RAID 5 на старых дисках часто обнаруживает её только при попытке восстановления: в процессе проявляются несоответствия паритета по десяткам полос, при этом ни одно из них ранее не вызвало предупреждения контроллера.

Емкость и производительность

Обе конфигурации используют одну и ту же формулу ёмкости: (N − 1) × размер диска, при этом минимум — три диска. Пять дисков по 8 ТБ обеспечивают 32 ТБ полезного пространства в любой из конфигураций. Различия проявляются в поведении при записи:

  • RAID 5 с аппаратным кешем, защищённым батареей, хорошо справляется со смешанными нагрузками — кеш гасит всплески и выполняет цикл чтение‑модификация‑запись вне критического пути. Без такого кеша задержки записи заметно растут при мелких случайных операциях.
  • RAIDZ1 показывает хорошие результаты при последовательных нагрузках с большими размерами записей — хранение медиаконтента, резервные копии, образы ВМ. Слабое место — мелкие случайные записи: каждая запись формирует полный стрип, поэтому нагрузки с высокой IOPS, например базы данных, плохо подходят без L2ARC и SLOG на быстрых NVMe.
  • Пропускная способность при последовательном чтении примерно сопоставима — каждый массив читает параллельно с нескольких дисков, поэтому в этом отношении заметного преимущества ни у какого варианта нет.

Сравнение сценариев отказов

Таблица ниже охватывает сценарии, которые наиболее часто встречаются в реальной практике восстановления данных.

Сценарий отказа RAIDZ1 (ZFS) RAID 5 (традиционный)
Отказ одного диска Массив остаётся доступным; выполняется resilver (восстановление) из пула Массив остаётся рабочим; восстановление на резервный диск (hot spare) или новый диск
Второй диск выходит из строя во время восстановления Потеря данных — как и в RAID 5 Потеря данных — паритета недостаточно
Отключение питания во время записи CoW обеспечивает целостность; повреждений данных нет Риск «write hole» — паритет для затронутой полосы может быть некорректен
Незаметный битрот / плохой сектор Контрольные суммы обнаруживают ошибку; ZFS восстанавливает данные из паритета Ошибка проходит незамеченной для приложения; не обнаруживается
Отказ контроллера Пул ZFS можно импортировать на любой системе с ZFS — привязки к контроллеру нет Проприетарные контроллеры могут «закрыть» доступ; программные RAID (mdadm) более переносимы
Повреждение метаданных ZFS / RAID ZFS хранит несколько копий метаданных; обычно восстановимо Потеря суперблока RAID — параметры массива могут потребовать ручной реконструкции
Порядок дисков перепутан ZFS идентифицирует диски по GUID; порядок дисков не имеет значения Неправильный порядок дисков может привести к внешне корректному, но повреждённому массиву; ситуацию легко усугубить
Случайное удаление пула/массива Метки ZFS на каждом диске сохраняются; zpool import часто восстанавливает пул Перезапись суперблока может значительно усложнить программное восстановление
URE во время восстановления (большие диски) Скруб ZFS обнаруживает проблемы заранее; resilver пропускает пустые блоки Полная переборка полосы читает каждый сектор; любая URE = необратимая потеря полосы

Риск восстановления для больших дисков

На дисках размером более примерно 4–8 ТБ защита с одиночной четностью становится серьёзным эксплуатационным риском. Процесс восстановления (rebuild) считывает каждый сектор на всех оставшихся дисках — на диске 16–20 ТБ это займёт многие часы при повышенной нагрузке ввода‑вывода. Для корпоративных дисков производители указывают уровень URE (Unrecoverable Read Error — неисправимая ошибка чтения) примерно 1 ошибка на 1015 бит; у потребительских дисков этот показатель примерно в десять раз хуже. Для массива из четырёх дисков по 12 ТБ при восстановлении читается ~36 ТБ — столкновение с URE здесь правдоподобно, а не редко.

ZFS имеет небольшое преимущество: ресайверинг читает только выделенные блоки. Массив, заполненный на 40%, при восстановлении читает примерно 40% данных. При восстановлении RAID 5 всегда читается полная ёмкость диска независимо от того, сколько данных фактически записано — это существенная разница по времени и по риску для частично заполненных массивов.

Практическая рекомендация: Для дисков более 8 ТБ переходите на RAIDZ2 или RAID 6 (двойная четность). Конфигурации с одиночной четностью остаются разумными для небольших массивов, где время восстановления не превышает нескольких часов.

Восстановление данных из RAIDZ1

Восстановление RAIDZ1 выигрывает от самоописывающей природы ZFS. Каждый диск содержит четыре копии меток, в которых записаны GUID пула, конфигурация vdev и номер группы транзакций. Подключите диски к любой машине с ZFS — команда zpool import обнаружит и подключит пул, без необходимости знать исходную систему. Отказ контроллера, который вывел бы RAID 5 из строя, не влияет на пул ZFS, если диски физически доступны.

Типичные сценарии восстановления RAIDZ1 в порядке возрастания сложности:

  • Ошибки контрольной суммы или I/O при scrub — ZFS помечает vdev как degraded и восстанавливает затронутые блоки по паритету. Замените деградировавший диск с помощью zpool replace, затем выполните zpool scrub. Процесс resilver восстановит только повреждённые блоки.
  • Повреждена метадата ZFS (uberblock, MOS, object directory) — ZFS хранит несколько копий метаданных и может откатиться к более ранней группе транзакций. Утилита zdb отображает внутреннее состояние пула и является отправной точкой для детального/форенсик-анализа.
  • Пул полностью не импортируется (отказ двух или более дисков, либо повреждены метки на нескольких дисках) — требуются программные средства восстановления. Нужен инструмент, который понимает указатели блоков ZFS, сжатие и геометрию полос переменной ширины, а не тот, что рассматривает массив как обычное блочное устройство с фиксированной полосой.

Для подробного пошагового руководства по восстановлению пулов ZFS в средах TrueNAS смотрите How to Recover Data from a RAID-Z Array in TrueNAS.

Восстановление данных с RAID 5

Сложность восстановления RAID 5 сильно варьируется, потому что параметры массива не хранятся в едином универсальном формате. Аппаратные контроллеры держат порядок дисков, размер страйпа, алгоритм расчёта чётности и смещение блоков в проприетарных метаданных или в собственной NVRAM. Если контроллер выходит из строя, вам потребуется либо идентичная замена (иногда даже с той же версией прошивки), либо программное обеспечение, способное восстановить конфигурацию по «сырым» данным с дисков. Программный RAID 5 через mdadm более переносим — суперклей (superblock) на каждом диске содержит параметры массива. Сам суперклей, однако, и является уязвимостью: если он перезаписан, сборка массива превращается в полностью ручной процесс.

Критические шаги при восстановлении RAID 5, в порядке выполнения:

  • Сделайте покомпонентные (sector-by-sector) образы каждого диска до любых операций. Работа с образами вместо «живых» дисков позволяет повторить попытку при ошибке, вернувшись к исходным данным. Это — самый важный шаг.
  • Не позволяйте контроллеру автоматически запускать реконструкцию. Если в процессе реконструкции на одном из сохранившихся дисков произойдёт URE (Unrecoverable Read Error — неисправимая ошибка чтения), страйп будет потерян навсегда. Отключите авто‑реконструкцию до создания образов.
  • Восстановите порядок дисков. Неверный порядок создаст внешне корректный, но повреждённый массив. Паттерн чередования чётности в стандартном left‑symmetric RAID 5 позволяет верифицировать правильность порядка без перебора.
  • Определите размер страйпа. Типичные значения — 64 KB, 128 KB и 256 KB. При правильно выбранном размере на ожидаемых смещениях будут видны узнаваемые сигнатуры файловой системы. Специализированное ПО автоматизирует этот шаг полностью.

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

RS RAID Retrieve: программное восстановление для обоих типов массивов

Когда ОС не может собрать массив — контроллер вышел из строя, суперблок повреждён или диски перенесены с NAS на другую машину — программная реконструкция является правильным следующим шагом перед отправкой дисков в лабораторию.

RS Raid Retrieve

RS Raid Retrieve

Автоматическое восстановление любых RAID массивов

Доступно для: Windows, macOS, Linux

RS RAID Retrieve работает с обоими типами массивов и не требует от пользователя заранее знать параметры. Ключевые возможности, важные для восстановления:

  • Автоматическое определение параметров для RAID 5 — программа перебирает кандидаты конфигураций (порядок дисков, размер полосы, алгоритмы расчёта чётности) и подаёт ту, которая даёт согласованную, монтируемую файловую систему. Это исключает домыслы, которые могут привести к дальнейшей порче данных при попытках восстановления без проверенных параметров.
  • Восстановление ZFS-пула для RAIDZ1 — читает метки пула с каждого диска, определяет GUID пула и конфигурацию vdev, и восстанавливает геометрию массива. Реконструкция возможна даже при повреждении части меток, если сохраняется кворум читаемых меток.
  • Частичное извлечение при превышении порога отказоустойчивости — для массивов RAID 5 или RAID 6, в которых число вышедших из строя дисков больше, чем позволяет схема чётности, программа извлекает блоки, доступные на оставшихся дисках. На практике это часто позволяет вернуть большую часть данных даже при кажущейся полной потере.
  • Работа с образами дисков — форензические копии каждого диска устраняют риск второго отказа во время самой попытки восстановления.

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

Что выбрать — и когда это важно для восстановления

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

  • Выбирайте RAIDZ1, если вы уже используете ZFS (TrueNAS, Proxmox, кастомный Linux). Встроенные контрольные суммы, согласованность по принципу copy-on-write и переносимость, не зависящая от контроллера, снижают вероятность безнадёжной ситуации. Выход из строя контроллера не критичен для пула ZFS.
  • Выбирайте RAID 5, если в вашей среде используется аппаратный RAID-контроллер и нет инфраструктуры ZFS. Проводите регулярные проверки согласованности, перед любой перестройкой проверяйте SMART-данные всех дисков и держите актуальную резервную копию — обязательно убедитесь в её работоспособности прежде чем стартовать перестройку.

В обоих вариантах решающий фактор для успешного восстановления — ваши действия в первый час. Немедленно прекратите все записи. Не инициализируйте, не переформатируйте и не запускайте fsck / chkdsk на «сырых» дисках. Сначала создайте побитовые образы дисков — затем уже решайте, пытаться ли восстановить программными средствами или обращаться в лабораторию, исходя из числа отказавших дисков и наличия физического ущерба.

RAIDZ1 и RAID 5 разделяют один и тот же базовый риск: второй сбой диска во время перестройки приводит к потере данных. Для дисков свыше 8 ТБ или при действительно незаменимых данных двухконтрольная чётность — RAIDZ2 или RAID 6 — даёт запас надёжности, которого одиночная чётность обеспечить не может.

Часто задаваемые вопросы

Нет — не напрямую. Метки (labels) пула ZFS хранятся прямо на дисках и содержат самоописывающуюся информацию, но для их чтения требуется система с поддержкой ZFS. Хорошая новость: ZFS работает на Linux, FreeBSD, macOS (через OpenZFS) и Windows (через WSL2 или сторонние драйверы), поэтому установка ZFS на целевой машине обычно проста. После того как ZFS доступен, команда zpool import автоматически найдёт пул. Вам не нужен оригинальный сервер, контроллер или исходная операционная система.
Это реальный режим отказа, а не теоретическая возможность, но для его реализации требуется определённая последовательность событий: частичная запись, затем внезапная потеря питания, а затем отказ второго диска до того, как несоответствие будет обнаружено и исправлено. В одном отдельном случае риск невелик, но он накапливается в течение лет эксплуатации системы без ИБП. Наиболее уязвимы массивы, работающие без кэша записи с батарейной поддержкой и без регулярных проверок согласованности. Когда такой отказ происходит, потеря данных проходит бесшумно — при возникновении исходного несоответствия в логах не появляется никаких ошибок.
Оставить комментарий

Похожие публикации

Какую конфигурацию RAID выбрать для NAS?
Какую конфигурацию RAID выбрать для NAS?
Один из важных критериев выбора устройства NAS (сетевые хранилища) – его возможность обеспечивать сохранность данных с использованием RAID массивов. Однако, чтобы обеспечить надежную защиту данных, важно выбрать правильную конфигурацию RAID. В этой статье мы рассмотрим реализацию RAID на разных устройствах … Продолжить чтение
Сравнение и разница между RAID lvm и mdadm
Сравнение и разница между RAID lvm и mdadm
Современные операционные системы обладают многими функциями для повышения безопасности данных и удобства их использования. В этой статье мы сравним RAID LVM и RAID mdadm – две интересных технологии, главным предназначением которых является обеспечение непрерывной работоспособности сервера, компьютера или NAS и … Продолжить чтение
Как создать программный RAID 01 (RAID 0+1) в Windows?
Как создать программный RAID 01 (RAID 0+1) в Windows?
Ценность информации заставляет задуматься о методах повышения уровня ее безопасности. RAID 01 являет собой один из таких методов. В этой статье мы рассмотрим, как создать программный RAID 01 в Windows 10, принцип его работы, а также чем он отличается от … Продолжить чтение
Synology DSM VS TrueNas: какая операционная система NAS лучше
Synology DSM VS TrueNas: какая операционная система NAS лучше
Хранение данных и доступ к ним — один из ключевых аспектов современной жизни, и с каждым годом возрастает необходимость в надежном и эффективном хранении данных. Одним из популярных решений в этой области являются устройства хранения на основе технологии Network Attached … Продолжить чтение
Online Chat with Recovery Software