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

image

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


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

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


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

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

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

sudo apt install btrfs-tools

image

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


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

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

Sudo mkdir –v /data

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

image

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

Как создать RAID5


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

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

image

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

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, даже если какой-либо из накопителей отформатирован в другой ФС.

image

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

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


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

image

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

sudo mount /dev/sdb1 /data

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

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

image

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

sudo btrfs filesystem usage /data

image

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

sudo umount /data

image

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

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

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

sudo btrfs filesystem show

image

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

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

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

btrfs replace start 3 /dev/sdg

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

image

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


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

sudo mount -o recovery /dev/sdb /mnt

image

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

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


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

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

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

image

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

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

image

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

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

image

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

image

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

image

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

image

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



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

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

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

image

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

image

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

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

btrfs subvolume create /mnt/btrfs/my-subvolume

image

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

btrfs subvolume list /mnt/btrfs

image

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

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

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

image

Заключение


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

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