Файловая система BtrFS. Как восстановить данные с BtrFS RAID.

В нашей статье вы узнаете, как восстановить данные с программного btrfs RAID ОС Linux. Как его создать, заменить нерабочий диск и восстановить утерянную информацию с поврежденного массива.

Файловая система BtrFS. Как восстановить данные с BtrFS RAID.

Обычно для создания RAID массива в ОС Linux используют mdadm и lvm, подробнее об этих системах можно посмотреть в одном из наших видео уроков.

Перейти к просмотру
🥇 Как восстановить данные с LVM RAID 5, 0 или 1 в Linux (Ext4)

🥇 Как восстановить данные с LVM RAID 5, 0 или 1 в Linux (Ext4)

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

Файловая система btrfs

Btrfs – это новая файловая система с поддержкой функции копирования при записи (Copy on Write) со встроенной поддержкой RAID. Суть этой замечательной функции состоит в отсутствии перезаписи старых данных при копировании. Это огромный плюс, она значительно упрощает восстановление удаленных файлов после сбоев. Так как любой сбой или ошибка в процессе переписывания никак не повлияют на предыдущее состояние файлов.

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

Перед началом использования btrfs, нам понадобиться доустановить необходимые инструменты управления ФС, выполнив следующую команду:

sudo apt install btrfs-tools

Устанавливаем необходимы файлы для работы с файловой системой

Создание точки монтирования

И прежде чем собрать RAID необходимо создать каталог точки монтирования.

Создаем каталог:

Sudo mkdir –v /data

Где «data» – это его название.

Создаем каталог точки монтирования

Теперь приступаем к созданию массива.

Как создать RAID5

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

Чтобы постоянно не вводить пароль root выполните команду sudo -i, после чего все команды будут выполняться от администратора.

Все команды будут выполняться от администратора Linux

Для построения массива введите в терминале такую команду:

sudo mkfs.btrfs -L data -m raid5 -d raid5 -f /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

где:

L - метка или имя файловой системы

Параметр:

d - устанавливаем тип RAID5 для данных.

m - устанавливаем тип RAID5 для метаданных.

f - служит для принудительного создания btrfs, даже если какой-либо из накопителей отформатирован в другой ФС.

Создаем новый btrfs RAID5 масси

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

Как смонтировать RAID диск

Я использовал 5 накопителей для создания RAID: sdb, sdc, sdd, sde и sdf. Поэтому я могу смонтировать данные ФС в каталоге data с помощью диска sdb. Открываем управление дисками и монтируем наш носитель, после чего он станет доступным.

Монтируем в Linux

Или же можно смонтировать диск в терминале.

sudo mount /dev/sdb1 /data

Чтобы проверить введите sudo df -h

Как видите, наш массив смонтирован в каталог /data

Монтируем в Linux с помощью терминала

А чтобы посмотреть информацию о занятом и свободном пространстве массива, вводим:

sudo btrfs filesystem usage /data

Посмотреть информацию о занятом и свободном пространстве

А для размонтирования массива достаточно ввести:

sudo umount /data

Размонтируем массив

Как заменить или добавить накопитель

Для замены накопителя нужно в терминале ввести btrfs replace. Она запускается асинхронно, то есть выполняется постепенно:

  • start - для запуска,
  • cancel - для остановки,
  • status - а для просмотра состояния.

Прежде нужно определить номер поврежденного накопителя:

sudo btrfs filesystem show

Нужно определить номер поврежденного накопителя

Затем заменить его на новый:

btrfs replace start <удаляемое устройство или его ID> <добавляемое устройство> <путь, куда смонтирована btrfs>

В моем случае вводим:

btrfs replace start 3 /dev/sdg

где: 3 – это номер отсутствующего диска, а sdg – код нового накопителя.

Заменяем поврежденный носитель в массиве

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

Для восстановления Btrfs массива, нужно использовать встроенную опцию монтирования - recovery:

sudo mount -o recovery /dev/sdb /mnt

Восстанавливаем РЕЙД

Далее начнется процесс восстановления.

Восстанавливаем данные с btrfs RAID5

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

Восстановление данных с поврежденных RAID-массивов, недоступных для компьютера.

Подключите носители к ПК с установленной Windows, воспользуйтесь виртуальной машиной, или установите ее второй системой.

Программа автоматически просканирует дисковое пространство, и отобразит всю возможную информацию о массиве.

Программа нашла информацию о РЕЙД

Как видите, в нашем случае с btrfs RAID, программа не собирает носители в массив, это связано со спецификой его построения, при этом вся информация хранится в соответствии с типом RAID.

Для начала процесса восстановления откройте менеджер дисков, кликните правой кнопкой мыши по любому из дисков из которых состоял массив и запустите «Быстрое сканирование».

Быстрый поиск файлов

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

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

Результаты поиска и пред.просмотр

Отметьте файлы, которые нужно вернуть и нажмите «Восстановить», укажите путь куда их сохранить и еще раз «Восстановить». По завершении все файлы будут лежать в указанной папке.

Сохраняем восстановленные файлы

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

Запускаем полное сканирование носителей

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

Повреждение информации при отказе 2-х и более дисков

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

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

Эта функция позволяет значительно экономить пространство на накопителях, а также время на поиски стороннего ПО для сжатия данных. ФС поддерживает 3 основных метода сжатия файлов – это zlib, lzo и zstd. Их основное отличие заключается в степени, а также скорости сжатия.

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

Подсвечивание сжатых данных другим цветом

Еще одним из главных преимуществ является создание подтомов (subvolum-ов). Простыми словами на одном накопителе можно создать к примеру 3 разных диска (subvolum-а). Эти подтома способны саморасширятся за счет свободного пространства другого тома. Такая возможность при необходимости позволяет расширить один диск за счет другого без сжатия и переноса данных. Эти подтома отображаются в программе следующим образом, это диски внутри основного накопителя.

Отображение подтомов

Таким же образом в программе отображены и папки со snap-shot-ами.

Для создания подтомов используйте команду:

btrfs subvolume create /mnt/btrfs/my-subvolume

Создание подтомов через терминал

А для просмотра списка подтомов на этом накопителе выполните:

btrfs subvolume list /mnt/btrfs

Просмотр списка подтомов через терминал

Для монтирования подтома:

mount -o subvol=my-subvolume /dev/sdd2 /mnt/btrfs2

где sdb1 - это код диска.

Монтирование подтомов через терминал

Заключение

Существует небольшое количество инструментов для восстановления данных, которые умеют читать btrfs RAID. При выборе стоит учитывать, что в процессе работы информация может затереться, обратите внимание на наличие функции создания образа массива и сканирования с образа. И все же лучшим решением уберечь себя от потери важных данных будет их регулярное резервное копирование.

Dmytriy Zhura

Автор: Dmytriy Zhura, Технический писатель

Дмитрий Жура – автор и один из IT-инженеров компании Hetman Software. Имеет почти 10 летний опыт работы в IT-сфере: администрирование и настройка серверов, установка операционных систем и различного программного обеспечения, настройка сети, информационная безопасность, внедрения и консультация по использованию специализированного ПО. Является экспертом в области восстановления данных, файловых систем, устройств хранения данных и RAID массивов. Подробнее

Рекомендуем для вас