Як відновити дані з Synology NAS після збою під час міграції RAID 1 у RAID 5?
Уявіть, що ви додаєте диск до Synology NAS і запускаєте перехід із RAID 1 на RAID 5, щоб збільшити місткість сховища. Але під час перебудови раптово зникає електроенергія, і NAS вимикається. Після відновлення живлення з’ясовується, що один із початкових дисків більше не визначається, а доступу до файлів немає. Що робити, якщо актуальної резервної копії потрібних даних немає? Чи можна отримати файли з двох уцілілих накопичувачів, коли перехід на новий тип RAID так і не завершився?

- КРОК 1. Тестове середовище
- КРОК 2. Підключення дисків до комп’ютера з Windows
- КРОК 3. Результати аналізу RAID 5
- КРОК 4. Ручна реконструкція RAID
- КРОК 5. Визначення зміщення початку даних
- КРОК 6. Автоматичний підбір параметрів RAID
- КРОК 7. Пошук даних у початковій конфігурації RAID 1
- Висновок
- Поширені запитання
- Коментарі
Міграція масиву на Synology NAS з RAID 1 у RAID 5 зазвичай проходить без втрати даних, однак збій живлення, помилки дисків або переривання процесу можуть призвести до деградації чи повної недоступності сховища. У такій ситуації головне — не виконувати поспішних дій, які можуть ускладнити відновлення. У цій статті розглянемо, як правильно оцінити стан RAID-масиву Synology після аварійної міграції та які способи допоможуть відновити доступ до даних.
Як відновити дані з Synology NAS після аварії під час міграцї RAID1 RAID5
КРОК 1. Тестове середовище
Для тесту використали мережеве сховище Synology DS409 з операційною системою DSM 4.2 та три жорсткі диски місткістю 320 гігабайтів кожен.
Спочатку два накопичувачі об’єднали в RAID 1 — дзеркальний масив, у якому дані дублювалися на обох дисках. На ньому створили том із файловою системою Ext4 і записали приблизно 110 гігабайтів тестових даних: документи, фотографії, відео та архіви. Файли розмістили в каталогах із кількома рівнями вкладеності, щоб згодом перевірити збереження їхнього вмісту та структури папок.

Потім до масиву додали третій накопичувач і через Storage Manager запустили зміну типу RAID: з RAID 1 на RAID 5.
Такий перехід дозволяє збільшити доступну місткість сховища, зберігши захист від відмови одного диска після успішного завершення операції.

Коли індикатор перебудови показував 29,55 відсотка, живлення NAS навмисно вимкнули без штатного завершення роботи. Після цього вилучили один із двох початкових дисків RAID 1, імітуючи його повну недоступність.

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

КРОК 2. Підключення дисків до комп’ютера з Windows
Переходимо до комп’ютера з Windows, на якому встановлено Hetman RAID Recovery.
Підключаємо через USB-докстанцію два уцілілі накопичувачі:
- один із початкових дисків RAID 1;
- диск, доданий для переходу на RAID 5.
Другий учасник початкового дзеркала в нашому тесті недоступний.
Запускаємо програму. У розділі RAID Arrays бачимо автоматично визначений масив DiskStation:2.

Вибираємо його та переглядаємо інформацію на панелі Preview праворуч. Програма визначила тип RAID 5, порядок блоків Left Synchronous і розмір блока 64 кілобайти.

Нижче, у списку RAID Disks, бачимо два підключені накопичувачі та позицію Empty disk, яка відповідає відсутньому учаснику. Для обох доступних дисків зазначено однакове зміщення початку даних — до цього параметра повернемося під час ручної реконструкції.
У списку також присутні два невеликі масиви RAID 1: обсягом приблизно 2,37 та 2 гігабайти. Вони відповідають службовим областям Synology.
Ці масиви не слід плутати з початковим дзеркалом, на якому зберігалися наші тестові файли.

Початковий RAID 1 із користувацькими даними окремо вже не відображається.
КРОК 3. Результати аналізу RAID 5
Перевіримо, що доступно через автоматично визначену конфігурацію RAID 5. Для цього, подвійним клацанням відкриваємо том Ext4 у складі цього масиву. У майстрі аналізу обираємо Fast scan і натискаємо Next, щоб розпочати пошук файлів.

Доступна частина тестових даних: після аналізу RAID 5 програма знайшла 390 папок і 8 239 файлів. У результатах бачимо папку My Data та вкладені каталоги з тестовими файлами. Частина початкової структури зберіглася: програма показує назви папок і файлів та їхнє розташування.

Отже, навіть із двома доступними учасниками перерваного масиву вдалося прочитати частину його вмісту. Щоб зберегти потрібні файли, виділіть їх, натисніть Recovery та вкажіть папку на окремому диску, який не входить до складу відновлюваного масиву, щоб уникнути перезапису вихідних даних.

Проте в результатах присутні не всі файли, які записали перед тестом. До міграції дані зберігалися на двох дисках як дзеркальні копії. Під час переходу на RAID 5 система поступово змінювала розташування блоків, розподіляючи їх між трьома накопичувачами та формуючи паритет.
Тому на вцілілих дисках залишилися області з різною організацією даних. Схема RAID 5 відповідає розташуванню блоків у вже перебудованих областях, а в решті зберігається попередня організація RAID 1, хоча саме дзеркало вже не визначається автоматично.
Отже, відсутність файла в цих результатах ще не доводить, що його вміст повністю втрачений.
КРОК 4. Ручна реконструкція RAID
У нашому випадку програма автоматично визначила RAID 5 та його параметри. А якщо конфігурацію потрібно задати вручну або частина налаштувань невідома? Для цього в Hetman RAID Recovery є RAID Constructor. На прикладі знайденого RAID 5 розглянемо його можливості, а потім використаємо цей інструмент для реконструкції початкового RAID 1.

Відкриваємо RAID Constructor, вибираємо RAID 5 і додаємо два доступні накопичувачі. Відсутнього учасника позначаємо як Empty disk. Таким чином отримуємо три позиції, які відповідають складу масиву під час міграції.

У протестованих нами конфігураціях RAID 5 на Synology часто зустрічалися порядок блоків Left Synchronous і розмір блока 64 кілобайти, тому використаємо це поєднання в конструкторі. У нашому випадку воно також відповідає параметрам автоматично визначеного масиву.

Проте ці значення не універсальні: для іншого набору дисків або сховища їх потрібно перевіряти окремо, враховуючи конфігурацію та історію змін масиву.
Окремо потрібно вказати зміщення початку даних для кожного диска, тому спочатку розглянемо, де його знайти та як розрахувати.
КРОК 5. Визначення зміщення початку даних
Зміщення вказує, яку початкову частину накопичувача потрібно пропустити перед читанням блоків користувацького масиву. На схемі фізичного диска бачимо службові розділи Synology та розділ, який використовувався для зберігання наших файлів. У цьому тесті він починається із сектора 9 437 184. Це наша точка відліку. Самі дані RAID починаються трохи далі, оскільки на початку розділу є місце для службової інформації.

Відкриваємо фізичний диск у HEX-Editor. Щоб перейти до початку потрібного розділу, спочатку переводимо його початковий сектор у байтову адресу. На калькуляторі множимо 9 437 184 на розмір сектора — 512 байтів. Отримуємо 4 831 838 208 байтів. Переводимо результат у шістнадцятковий формат і переходимо до цієї адреси в редакторі.

Від поточної позиції запускаємо пошук уперед. Вибираємо пошук шістнадцяткового значення та вводимо сигнатуру FC 4E 2B A9. Так ми пропускаємо початкові службові розділи Synology й шукаємо суперблок EXT у розділі з нашими файлами.

Потрібний збіг знаходимо за адресою 120001000. Поруч у текстовій частині редактора бачимо назву DiskStation:2. Самої сигнатури недостатньо, оскільки така послідовність байтів може траплятися й усередині інших даних.

Тепер знайдемо поле data_offset, яке вказує зміщення початку даних RAID усередині розділу. У цьому форматі суперблока воно розташоване через 128 байтів від його початку та займає вісім байтів. У нашому випадку це перші вісім байтів рядка за адресою 120001080.

Значення записане молодшим байтом уперед — такий порядок називається little-endian. У звичному записі це число 800 у шістнадцятковому форматі. Вводимо його в калькулятор і перемикаємося на десятковий формат — отримуємо 2048 секторів. Це відстань від початку розділу до початку даних RAID. Тому додаємо 2048 саме до початкового сектора розділу. Отримуємо 9 439 232 сектори. Множимо на 512 байтів — остаточне зміщення від початку фізичного диска становить 4 832 886 784 байти. Воно збігається зі значенням у властивостях автоматично визначеного RAID 5.

КРОК 6. Автоматичний підбір параметрів RAID
Повертаємося до RAID Constructor і вказуємо визначене зміщення для кожного доступного диска. Тепер можемо скористатися автоматичним підбором невідомих параметрів.

Якщо розмір блока або порядок блоків невідомі, у полях Block size та Block order можна вибрати Detect automatically. Для визначення порядку учасників доступна окрема опція Detect the disk order automatically. Наприклад, можемо залишити RAID 5, Left Synchronous і блок 64 кілобайти, але запропонувати програмі визначити порядок дисків.
Після переходу до наступного кроку програма розпочинає пошук конфігурацій, які відповідають указаним умовам. Знайдені варіанти відображаються у списку. Вибираємо потрібну конфігурацію та натискаємо Add.

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

Тепер використаємо конструктор для іншої задачі — перевіримо вцілілий диск початкового дзеркала в конфігурації RAID 1.
КРОК 7. Пошук даних у початковій конфігурації RAID 1
Повертаємося до RAID Constructor та вибираємо RAID 1. Додаємо вцілілий диск початкового дзеркала, а відсутнього учасника позначаємо як Empty disk.

Вказуємо перевірене зміщення початку даних. Так ми задаємо програмі спосіб читання даних за попередньою схемою. Це віртуальна реконструкція для аналізу: вона не скасовує міграцію та не повертає диски до стану перед аварією.

Зібраний RAID 1 з’явиться на головному екрані програми.

Відкриваємо його подвійним клацанням і в майстрі аналізу обираємо Full analysis. Зазначаємо файлову систему Ext4 та запускаємо аналіз.

Після завершення програма знайшла 979 папок і 14 049 файлів. Для порівняння, після Fast scan конфігурації RAID 5 ми отримали 390 папок і 8 239 файлів. Ці числа не означають кількість унікальних справних файлів: результати можуть містити повтори й потребують перевірки.

Переглядаємо знайдені дані. Початкова структура каталогів відтворилася не повністю, а частина знайдених об’єктів розташована в Lost and Found.

Для відновлення дерева папок потрібні збережені службові структури файлової системи та зв’язки між ними. Після перерваної міграції в обраній конфігурації можуть читатися дані окремого файла, але бути недоступними записи, які пов’язували його з початковим каталогом. Тому відсутність звичної папки ще не означає, що втрачено весь її вміст.
Щоб швидше знайти потрібні файли, скористаємося функцією Find File. У вікні пошуку вводимо повну назву або її частину та натискаємо Find. За потреби можна налаштувати пошук з урахуванням регістру або обмежити його збігами лише цілих слів.

Переглядаємо кілька файлів різних форматів, зокрема знайдених за допомогою пошуку. У вікні Preview перевіряємо зображення, вміст документів та інших доступних для перегляду файлів. Так можемо впізнати потрібні дані й оцінити їхній вміст перед збереженням.
Висновок
У цьому тесті ми розглянули втрату диска після перерваної міграції Synology з RAID 1 на RAID 5. Hetman RAID Recovery автоматично визначила RAID 5 за збереженими метаданими, але через цю конфігурацію була доступна лише частина початкових даних.
Тому ми також проаналізували вцілілий диск початкового дзеркала як RAID 1. У результатах знайшли файли, вміст яких можна переглянути, хоча структура каталогів відтворилася не повністю.
Цей випадок показує, чому після незавершеної міграції варто враховувати попередню конфігурацію масиву: його поточні метадані не обов’язково описують розташування всіх даних на дисках.
Актуальна резервна копія значно спрощує відновлення після аварії. Якщо її немає, аналіз збережених даних може допомогти повернути хоча б частину файлів — саме такий випадок ми й розглянули.







