Як відновити дані з BtrFS диска або RAID масиву

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

Зазвичай, для створення RAID-масиву в ОС Linux використовують mdadm та lvm, докладніше про ці системи можна подивитися в одному з наших відео.

Крім цих інструментів, ще вбудована підтримка RAID є в файловій системі Btrfs. Вона використовує власні засоби для побудови та роботи з дисковими масивами. Давайте більш детально розглянемо всі її можливості.

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

Btrfs – це нова файлова система з підтримкою функції копіювання при записі (Copy on Write), з вбудованою підтримкою RAID. Суть цієї функції полягає у відсутності перезапису старих даних при копіюванні. Це величезний плюс, вона значно спрощує відновлення видалених файлів після збоїв.

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

Перед початком використання btrfs, нам знадобитися довстановити необхідні інструменти управління файловою системою, виконавши наступну команду:

sudo apt install btrfs-tools

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

І перш ніж зібрати RAID, необхідно створити каталог точки монтування.

Створюємо каталог:

Sudo mkdir –v /data

Де «data» – це його назва.

Тепер приступаємо до створення масиву.

Як створити RAID5

Створюючи масив, не потрібно в обов'язковому порядку розмічати носії на розділи, файлова система не вимагає цього. Об'єднувати накопичувачі в масив можна як цілі, так і окремі розділи, навіть об'єднувати носії з наявними розділами. Для прикладу я покажу як створити RAID 5 з п'яти накопичувачів.

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

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

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, навіть якщо який-небудь з накопичувачів відформатований в інший файлові системі.

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

Як змонтувати RAID-диск

Я використовував 5 накопичувачів для створення RAID: sdb, sdc, sdd, sde і sdf. Тому я можу змонтувати дані файлової системи в каталозі data за допомогою диска sdb. Відкриваємо Керування дисками та монтуємо наш носій, після чого він стане доступним.

Або ж можна змонтувати диск в терміналі.

sudo mount /dev/sdb1 /data

Щоб перевірити, введіть sudo df -h

Як бачите, наш масив змонтований в каталог /data

А щоб подивитися інформацію про зайнятий та вільний простір масиву, вводимо:

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, покроково вичитуючи всю відому інформацію, і ви зможете скопіювати всі знайдені дані.

Підключіть носії до ПК зі встановленою Windows. Скористайтеся віртуальною машиною, або встановіть її другою системою.

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

Як бачите, у нашому випадку з btrfs RAID програма не збирає носії в масив, це пов'язано зі специфікою його побудови. При цьому вся інформація зберігається відповідно до типу RAID.

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

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

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

Позначте файли, які потрібно повернути та натисніть «Відновити». Вкажіть шлях куди їх зберегти і ще раз «Відновити». В результаті, всі файли будуть лежати в зазначеній папці.

Якщо в результаті швидкого сканування програмі не вдалося знайти потрібних файлів, то виконайте «Повний аналіз». Даний тип аналізу займе більше часу, але при цьому знайде всю інформацію, яка залишилася на диску. Навіть ту, яка була давно видалена.

Так як це п'ятий RAID, то вся інформація залишається цілою при відсутності одного накопичувача. Але, якщо вийшли з ладу 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. При виборі варто враховувати, що в процесі роботи інформація може затертися - тому зверніть увагу на наявність функції створення образу масиву та сканування з образу. І все ж, найкращим рішенням уберегти себе від втрати важливих даних буде їх регулярне резервне копіювання.

Автор: , Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів.

Редактор: , Технічний письменник

Редактор статей блогу, автор та ведучий рубрики на YouTube каналі компанії Hetman Software. За освітою: спеціаліст з обслуговування комп’ютерних систем та мереж, вивчав розробку програмного забезпечення. Має досвід роботи в IT сфері, який охоплює різні галузі: адміністрування комп’ютерної мережі та обладнання, контроль та підтримка роботи Інтернет, офісних та спеціалізованих програм. Є фахівцем в області відновлення даних, файлових систем та пристроїв зберігання даних.

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