Как восстановить данные из ZFS: ZVOL, датасеты, снапшоты и виртуальные диски
Читайте о восстановлении данных из файловой системы ZFS в TrueNAS 25.04.2.6. Мы рассмотрим, как анализировать структуру пула и восстанавливать данные из ZVOL, Dataset, Snapshot, а также из виртуальных дисков и виртуальных машин. Осветим распространённые сценарии потери данных, включая отказ массива, неудачные обновления системы, аппаратные сбои и случайное удаление. Все действия будут выполняться с помощью Hetman RAID Recovery на Windows, при этом аналогичные возможности также доступны на Linux и macOS.

- Структура ZFS
- Восстановление данных ZFS
- Восстановление виртуальных дисков
- Доступ к Snapshot в ZFS
- Восстановление удалённых данных
- Заключение
- Вопросы и ответы
- Комментарии
ZFS долгое время считается одним из наиболее надёжных решений для хранения данных благодаря высокой отказоустойчивости, встроенным проверкам целостности и широким возможностям управления хранением. Помимо привычного файлового хранения, ZFS поддерживает важные объекты и функции, такие как ZVOL, Dataset, Snapshot и работу с виртуальными дисками, что делает его популярным на серверах, NAS и в средах виртуализации.
Тем не менее даже такая устойчивая система не застрахована от сбоев. Повреждение пула, случайное удаление Dataset, потеря Snapshot, ошибки при работе с ZVOL или отказ виртуального диска могут привести к потере доступа к важной информации. В таких ситуациях важно знать, как действовать корректно, чтобы не усугубить состояние хранилища и максимально повысить шансы на успешное восстановление.
В этой статье мы рассмотрим, как восстановить данные из ZFS, включая ZVOL, Dataset, Snapshot и виртуальные диски, какие методы можно использовать для извлечения информации и какие инструменты помогут безопасно вернуть доступ к файлам после сбоя.
Восстановление данных с RAIDZ1, RAIDZ2, RAIDZ3, Stripe массивов ZFS
Структура ZFS
В файловой системе ZFS существуют три основных типа объектов верхнего уровня: Dataset, ZVOL и Snapshot. Каждый из них выполняет свою роль и имеет собственные параметры конфигурации.
Dataset — основной файловый контейнер в пуле ZFS, функционирующий как отдельная файловая система для хранения файлов и каталогов. Его можно монтировать напрямую в операционной системе и получать доступ через протоколы FTP, NFS, iSCSI, SSH или SMB. Главное преимущество Dataset в том, что его параметры можно настраивать независимо, не затрагивая другие части пула. При создании dataset задают основные свойства, такие как алгоритм сжатия (LZ4, GZIP, ZSTD, LZJB, ZLE), режим доступа, чувствительность к регистру и параметры синхронной записи. После создания большинство настроек можно изменять в любое время без потери данных, что позволяет адаптировать каждый Dataset под конкретные задачи.
ZVOL представляет собой блочное устройство, то есть виртуальный диск, который, в отличие от Dataset, напрямую не содержит файлов. Он предоставляет блочное хранилище для создания файловых систем или подключения в качестве диска к виртуальным машинам. ZVOL работает на уровне блоков и обеспечивает более предсказуемую производительность по сравнению с образами на файловом уровне.
При создании ZVOL указывают логический размер volsize и размер блока volblocksize, которые существенно влияют на производительность. Для оптимизации хранилища включают сжатие для сокращения занимаемого объёма и дедупликацию для устранения дубликатов. Также важно активировать режим sparse, при котором пространство пула выделяется только по факту записи данных, а не резервируется полностью при создании.
TrueNAS также позволяет создавать виртуальные диски в виде файлов вместо ZVOL. Такие файловые образы можно использовать через iSCSI, однако они не поддерживают режим sparse и занимают полный объём дискового пространства сразу после создания.
Snapshot — это снимок состояния Dataset или ZVOL в определённый момент времени, создаваемый с помощью механизма copy-on-write, при котором новые изменения записываются в другие блоки, а предыдущие блоки остаются неизменными. Благодаря этому Snapshot потребляет почти нулевой дополнительный объём и позволяет восстановить прежнее состояние или отдельные файлы без влияния на текущие данные. После создания Snapshot является доступным только для чтения; его можно удалить или использовать для клонирования. Управление осуществляется через свойства visible и hide для видимости, а также через задачи снапшотов (snapshot tasks) для автоматизации replication и retention в части передачи и политики хранения.
| Тип объекта | Назначение | Ключевые особенности | Где используется |
|---|---|---|---|
| Dataset | Логическая файловая система внутри пула ZFS | Поддерживает сжатие, квоты, дедупликацию, отдельные права доступа | Хранение файлов и каталогов |
| ZVOL | Виртуальное блочное устройство | Ведёт себя как обычный диск, может быть отформатирован другой файловой системой | Виртуальные машины, iSCSI, базы данных |
| Snapshot | Снимок состояния данных в определённый момент времени | Создаётся мгновенно, занимает минимальное пространство до момента изменений данных | Резервные копии, откат, восстановление |
Восстановление данных ZFS
Мы рассмотрим процесс анализа и восстановления данных с помощью приложения Hetman RAID Recovery.
Hetman RAID Recovery может помочь в критических ситуациях, когда вышло из строя серверное оборудование, операционная система TrueNAS некорректно работает после обновлений или системных ошибок, либо в сервере отказали диски. Независимо от причины недоступности данных, ПО позволяет извлечь информацию и восстановить её на отдельное устройство хранения.
Подключение дисков
Чтобы начать процесс восстановления, необходимо извлечь диски, которые входили в пул, и подключить их к компьютеру с установленным Hetman RAID Recovery. Это можно сделать напрямую через SATA-порты материнской платы или с помощью внешних док-станций. Если архитектура рабочей станции не позволяет подключить все диски одновременно, приложение поддерживает комбинированный подход.
В ситуациях с ограниченным количеством свободных портов оптимальным решением будет создание виртуальных образов некоторых дисков. Можно подключить часть физических дисков напрямую и использовать точные поблочные копии, смонтированные в интерфейсе утилиты, для остальных.

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

При обнаружении дисков программа анализирует метаданные и определяет конфигурацию RAID-массива. Количество дисков, необходимых для полноценного восстановления данных, зависит от используемого типа конфигурации:
- В конфигурации ZFS Stripe нет избыточности, поэтому требуются все диски. Отсутствие или повреждение даже одного диска делает полное восстановление структуры невозможным; в таких случаях возможна лишь частичная добыча данных с доступных дисков.
- RAIDZ1 выдерживает отказ одного диска. Следовательно, восстановление возможно при подключении всех дисков, кроме одного отказавшего устройства. Если отсутствуют два и более дисков, полное восстановление структуры становится невозможным.
- RAIDZ2 допускает потерю до двух дисков. Для корректной реконструкции пула достаточно оставшихся работоспособных дисков, что позволяет восстановить данные даже при двойном отказе.
- RAIDZ3 обладает наивысшей отказоустойчивостью и позволяет терять до трёх дисков. При наличии оставшихся работоспособных дисков возможно полное восстановление данных даже в сложных сценариях множественных отказов.
| Тип ZFS | Минимальное количество дисков | Допустимая потеря дисков | Производительность | Уровень защиты данных | Эквивалент RAID |
|---|---|---|---|---|---|
| Stripe | 2 | 0 | Очень высокая | Отсутствует | RAID 0 |
| RAIDZ1 | 3 | 1 | Высокая | Средний | RAID 5 |
| RAIDZ2 | 4 | 2 | Средняя | Высокий | RAID 6 |
| RAIDZ3 | 5 | 3 | Ниже | Очень высокий | – |
Автоматическая реконструкция пула
Запустите Hetman RAID Recovery, и программа автоматически начнёт сканирование всех подключённых устройств. Утилита читает служебные метаданные ZFS, анализирует конфигурацию виртуальных групп (vdev) и, опираясь на полученные данные, восстанавливает корректную модель вашего пула.

В рабочем окне вы увидите все обнаруженные диски и их параметры. Выберите нужный пул из списка восстановленных массивов и запустите режим Быстрое сканирование, чтобы оперативно определить структуру данных.

После завершения сканирования восстановленная файловая система с полной иерархией каталогов и файлов отобразится в главном окне. Вы сможете просмотреть все Datasets, папки, файлы, ZVOL, файлы виртуальных дисков (LUN) и Snapshots. Раскройте папки для просмотра содержимого и определения объектов для восстановления.

Отметьте объекты, которые хотите восстановить, и нажмите Восстановить.

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

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

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

Восстановление виртуальных дисков
В ситуациях, когда требуется восстановление после случайного удаления файлов, форматирования раздела или удаления конфигурации виртуальной машины при сохранённом ZVOL, Hetman RAID Recovery предоставляет инструменты для глубокого анализа и извлечения данных.
Программа позволяет рассматривать объекты ZFS как полноценные устройства хранения независимо от того, являются ли они файловыми образами дисков или блочным устройством ZVOL. Благодаря поддержке широкого спектра файловых систем, включая NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS и HikvisionFS, вы можете успешно восстанавливать данные из виртуальных сред любой сложности.
Процесс восстановления начинается с запуска быстрого сканирования пула для поиска требуемого ZVOL или виртуального диска.

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

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

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

Доступ к Snapshot в ZFS
Hetman RAID Recovery позволяет эффективно восстанавливать удалённые или изменённые данные из объектов ZVOL и виртуальных дисков с использованием ранее созданных Snapshots. Такой подход критичен, когда полный откат системы неприемлем из‑за риска потерять текущие изменения, внесённые после создания снапшота, — он позволяет сохранить текущее состояние системы и выборочно восстановить необходимые данные.
Для начала запустите режим Быстрое сканирование, после чего в иерархии пула появится специальная папка Snapshot.

Снапшоты внутри упорядочены по имени и дате создания, что позволяет быстро определить нужную точку восстановления. Выбрав соответствующий Snapshot, вы получаете доступ ко всем объектам, зафиксированным в момент создания — включая datasets и виртуальные диски. Это позволяет просто скопировать требуемые элементы без изменений в текущей рабочей структуре пула.


Если сохранение крупных образов ZVOL на локальный диск компьютера затруднено из‑за нехватки времени или свободного места, рекомендуется использовать функцию прямого монтирования объектов в интерфейсе приложения. Это позволяет работать с виртуальными дисками и образами LUN как с обычными устройствами хранения без предварительного экспорта на физический носитель. Хотя скорость обработки в этом режиме может быть несколько ниже, он значительно экономит ресурсы и позволяет сразу выполнять глубокий поиск файлов внутри гостевых файловых систем, таких как NTFS, ext4 или XFS.

После того как нужный объект смонтирован или выбран внутри Snapshot, можно выполнять стандартные операции поиска и восстановления. Программа отобразит содержимое виртуальной среды, позволяя отметить конкретные файлы и папки для сохранения.

Далее просто нажмите Восстановить и укажите путь к безопасному устройству хранения.

Такой подход делает процесс восстановления прозрачным и удобным, обеспечивая гибкость при работе с данными в производственных средах, где непрерывность сервиса является приоритетом.
Восстановление удалённых данных
В случаях, когда данные были удалены непосредственно из пула, а Snapshots отсутствуют или были перезаписаны, стандартный анализ метаданных становится неэффективным. Специфика ZFS и механизм copy-on-write означают, что после удаления дерево каталогов часто не сохраняется. Однако сами данные остаются в блоках пула, что позволяет Hetman RAID Recovery успешно обнаруживать и восстанавливать их даже при отсутствии записей в таблицах размещения.
Причинами такой потери могут быть случайное удаление datasets, ZVOL или виртуальных машин вместе с подключёнными дисками.
Критическим сценарием является инициализация дисков в чужих операционных системах, таких как Windows или macOS, что может перезаписать начальную служебную информацию ZFS. В таких ситуациях программа выполняет низкоуровневый анализ всей поверхности диска, определяя файлы и логические структуры по их сигнатурам.
Для восстановления выберите реконструированный массив и запустите Полное сканирование. Этот процесс требует больше времени, поскольку программа работает непосредственно с блоками данных, собирая разбросанные фрагменты в целостные объекты. Если удаление произошло внутри виртуальной машины, применяют двухэтапный анализ: сначала ZVOL восстанавливается как блочное устройство, затем его внутренняя файловая система сканируется для поиска данных гостевой ОС.

После завершения анализа обнаруженные объекты обычно отображаются единым списком в корне пула. Чтобы найти требуемый ZVOL или файл среди тысяч найденных элементов, используйте встроенную функцию поиска. Можно фильтровать результаты по имени, дате или размеру файла. Если имя объекта не сохранилось в метаданных, его объём является основным индикатором для идентификации виртуального диска.

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

После выбора необходимых элементов нажмите Восстановить и укажите путь к отдельному безопасному устройству хранения с достаточным объёмом свободного места. Программа уведомит вас по завершении копирования, после чего все данные будут готовы к использованию.
Заключение
Восстановление данных из файловой системы ZFS, включая ZVOL, Dataset, Snapshot и виртуальные диски, возможно даже после серьёзных сбоев при условии аккуратных и поэтапных действий. Благодаря встроенным механизмам целостности, снапшотам и гибкой структуре хранения ZFS значительно повышает шансы успешного извлечения информации по сравнению со многими другими файловыми системами.
Snapshots играют особенно важную роль в восстановлении, позволяя вернуть прежнее состояние данных без сложной реконструкции всего пула. Для ZVOL и виртуальных дисков дополнительным преимуществом является возможность работы с отдельными блочными устройствами, что упрощает анализ и копирование информации. В то же время повреждение метаданных или ошибки в структуре пула могут существенно осложнить процесс и потребовать использования специализированных инструментов.
Чтобы увеличить шансы успешного восстановления, важно не записывать данные в проблемный пул, не создавать новые datasets и, по возможности, работать только с копиями дисков. В сложных случаях наилучшим решением может быть обращение к специалистам по восстановлению данных.
Таким образом, даже сложная архитектура ZFS не мешает восстановлению данных при условии корректного использования её возможностей и соблюдения безопасного подхода при работе с повреждённым хранилищем.







