Как я могу использовать ПК для восстановления данных, когда мой Synology NAS выходит из строя?

Как я могу использовать ПК для восстановления данных, когда мой Synology NAS выходит из строя?

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

Цель

Эта статья поможет вам восстановить данные на вашем ПК в случае неисправности Synology NAS.

Примечания:

  • Диски могут не смонтировать том снова после переноса на новый NAS.

Среда

Применимо к:

  • DSM версии 6.2.x и выше
  • Тома, использующие файловые системы Btrfs или ext4
  • Ubuntu версии 18.04 (Скачать ubuntu-18.04-desktop-amd64.isoздесь)

Не применимо к:

  • Тома, использующие SSD-кэш с доступом на запись

Решение

Восстановление данных с помощью ПК

  1. Убедитесь, что на вашем ПК достаточно слотов для установки дисков.
  2. Извлеките диски из Synology NAS и установите их в ваш ПК. Для конфигураций RAID или SHR необходимо установить все диски (кроме дисков Hot Spare) в ваш ПК одновременно.
  3. Подготовьте среду Ubuntu, следуя инструкциям в этом руководстве.
  4. Перейдите в Файлы на левой панели и выберите Домой.
  5. Щелкните правой кнопкой мыши и выберите Новая папка, создайте одну или несколько папок в качестве точек монтирования для доступа к данным.1
  6. Щелкните правой кнопкой мыши на новой папке(ах), нажмите Свойства, родительская папка с именем папки ${mount_point} .
    • Пример: Если родительская папка /home/ubuntu/ и имя папки Test , точка монтирования будет /home/ubuntu/Test/
  7. Перейдите в Показать приложения в нижнем левом углу >Введите для поиска....
  8. Введите Терминал в строке поиска и выберите Терминал.
  9. Введите следующую команду для получения привилегий root.
    sudo -i
  10. Введите следующие команды для установки mdadm и lvm2 , оба из которых являются инструментами управления RAID. lvm2 должен быть установлен, иначе vgchange не будет работать.
    apt-get update
    apt-get install -y mdadm lvm2
  11. Введите следующую команду для сборки всех дисков, извлеченных из вашего Synology NAS. Результаты могут отличаться в зависимости от конфигураций пула ресурсов хранения на вашем Synology NAS.
    mdadm -AsfR && vgchange -ay
  12. Введите следующую команду для получения информации о ${device_path} .
    cat /proc/mdstat
    lvs
    Согласно выводу pvs/vgs/lvs , пути устройств следующие:
    ${device_path}
    Нет вывода lvs
    /dev/${md}2
    С выводом lvs
    /dev/${VG}/${LV}3

    Ниже приведены примеры md status , соответствующие его типу RAID и объему:

    Пути устройств
    Классический RAID с одним томом
    cat /proc/mdstat

    root@ubuntu:~# cat /proc/mdstat

    Personalities : [raid1]

    md4: active raid1 sdc3[0]

    73328704 blocks super 1.2 [1/1] [U]

    unused devices:<none>

    lvs
    Нет вывода
    ${device_path}
    /dev/md4
    Пути устройств
    SHR с одним томом
    cat /proc/mdstat

    root@ubuntu:~# cat /proc/mdstat

    Personalities : [raid1]

    md3 : active raid1 sda5[0]

    73319616 blocks super 1.2 [1/1] [U]

    unused devices:<none>

    lvs
    root@ubuntu:~# lvs

    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

    lv vg1000 -wi-a----- 69.92g

    ${device_path}
    /dev/vg1000/lv
    Пути устройств
    Классический RAID/SHR с несколькими томами
    cat /proc/mdstat

    Personalities : [raid1]

    md3 : active raid1 sdc3[0] sdd3[1]

    73328704 blocks super 1.2 [2/2] [UU]

    unused devices:<none>

    lvs
    root@ubuntu:~# lvs

    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy% Sync Convert

    syno_vg_reserved_area vg1 -wi-a----- 12.00m

    volume_1 vg1 -wi-a----- 30.00g

    volume_3 vg1 -wi-a----- 30.00g

    ${device_path}
    /dev/vg1/volume_1
    /dev/vg1/volume_3
  13. Введите следующие команды для монтирования всех дисков в режиме только для чтения для доступа к вашим данным. Введите путь к вашему устройству (в соответствии с RAID и типом тома в Шаге 12) в ${device_path} и точку монтирования (созданную в Шаге 6) в ${mount_point} . Ваши данные будут размещены под точкой монтирования.
    mount ${device_path} ${mount_point} -o ro
  14. Проверьте данные в Файлы > Домой > папки, созданные в Шаге 5.
  15. Для зашифрованных томов и общих папок:

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

Подключите зашифрованный том на ПК

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

  1. В Терминале введите следующую команду для установки cryptsetup .
    apt-get install cryptsetup
  2. Введите следующую команду для декодирования вашего ключа восстановления. Замените ${your_recovery_key_path} на расположение ключа восстановления и ${base64_decode_output_path} на желаемое имя и расположение выходного файла.
    base64 --decode ${your_recovery_key_path} > ${base64_decode_output_path}
    • Пример: Если ключ восстановления находится в /mnt/volume1.rkey и вы хотите, чтобы выходной файл назывался decode_output и находился в /mnt , введенная команда будет: base64 --decode /mnt/volume1.rkey > /mnt/decode_output
  3. Введите следующую команду, чтобы проверить, правильный ли ключ восстановления. Замените ${base64_decode_output_path} на имя и расположение выходного файла.
    cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d ${base64_decode_output_path} -v
    • Пример: Если имя выходного файла decode_output и он находится в /mnt , введенная команда будет: cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d /mnt/decode_output -v
  4. Проверьте результат, чтобы увидеть, правильный ли ключ восстановления:
    • Правильный ключ:
      Key slot 1 unlocked.
      Command successful.
    • Неправильный ключ:
      No key available with this passphrase.
      Command failed with code -2 (no permission or bad passphrase).
      Найдите правильный ключ и вернитесь к предыдущему шагу для повторного декодирования.
  5. Введите следующую команду для расшифровки зашифрованного тома с вашим декодированным ключом восстановления.
    cryptsetup open --allow-discards /dev/vgX/volume_Y cryptvol_Y -S 1 -d ${base64_decode_output_path}
  6. Введите следующую команду, чтобы подключить все диски в режиме только для чтения для доступа к вашим данным. Замените ${device_path} на путь к вашему устройству /dev/mapper/cryptvol_Y и ${mount_point} на точку монтирования, созданную в Шаге 6). Ваши данные будут размещены под точкой монтирования.
    mount ${device_path} ${mount_point} -o ro
  7. Обратитесь к Шагу 14 для восстановления ваших данных.

Подключение зашифрованной общей папки на ПК

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

  1. В Терминале введите следующую команду для получения привилегий root.
    sudo -i
  2. Введите следующие команды для включения universe repo и установки ecryptfs-utils .
    apt-get-repository universe
    apt-get update
    apt-get install ecryptfs-utils
  3. Введите следующую команду, чтобы получить значение FNEK (ключ шифрования имени файла) вашего ключа шифрования.
    ecryptfs-add-passphrase --fnek
    1. Когда будет предложено, введите ваш ключ шифрования в поле Passphrase .
    2. Вы увидите вывод, похожий на следующий:
      Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
      Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
      Значение в квадратных скобках является вашим значением FNEK. Запомните это значение, так как оно понадобится вам в следующих шагах.
  4. Используйте команду cd , чтобы перейти к точке монтирования, которую вы создали в Шаге 6 предыдущего раздела.
    cd ${mount_point}
    • Пример: Если точка монтирования ${mount_point} это /home/ubuntu/Test/ , введенная команда будет выглядеть так: cd /home/ubuntu/Test/ .
  5. Создайте временную папку в качестве точки монтирования для вашей зашифрованной общей папки. Используйте команду mkdir для создания новой папки.
    mkdir folder_name
    В приведенной выше команде замените folder_name на имя, которое вы хотите дать папке.
  6. Введите следующую команду, чтобы подключить вашу зашифрованную общую папку.
    mount -t ecryptfs folder_name
    Убедитесь, что заменили folder_name на имя временной папки, созданной на предыдущем шаге. Для завершения монтирования требуются дополнительные вводы. Следуйте инструкциям ниже:
    1. Passphrase : Введите ваш ключ шифрования.
    2. Select cipher : Введите 1 , чтобы выбрать aes в качестве шифра.
    3. Select key bytes : Введите 2 , чтобы выбрать 32 в качестве байтов ключа.
    4. Enable plaintext passthrough : Введите n , чтобы отключить эту опцию.
    5. Enable filename encryption : Введите y , чтобы включить эту опцию.
    6. Filename Encryption Key (FNEK) Signature : Введите ваше значение FNEK из Шага 3.
    7. После ввода вашего значения FNEK вы увидите вывод, похожий на следующий:
      Attempting to mount with the following options:
      ecryptfs_unlink_sigs
      ecryptfs_fnek_sig=e4e4e8a3ca7d5d54
      ecryptfs_key_bytes=32
      ecryptfs_cipher=aes
      ecryptfs_sig=79d78a9afb5ebc95

      WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt], it looks like you have never mounted with this key before. This could mean that you have typed your passphrase wrong.
      Предупреждающее сообщение является просто напоминанием. Если вы проверили, что ваш ключ шифрования правильный, вы можете безопасно игнорировать это предупреждение и продолжить.
    8. Would you like to proceed with the mount : Введите y , чтобы согласиться продолжить монтирование.
    9. Would you like to append sig … in order to avoid this warning in the future : Введите n , чтобы продолжить.
    10. Если монтирование прошло успешно, вы увидите следующий вывод:
      Mounted eCryptfs

Примечания:

  1. Точка монтирования равна одному тому. Если у вас несколько томов, которые нужно восстановить, создайте столько же папок, сколько у вас томов.
  2. Количество md (массивов) будет указано в результате cat /proc/mdstat .
  3. syno_vg_reserved_area можно игнорировать, количество volume_x равно количеству томов.
Цель
Среда
Решение
Восстановление данных с помощью ПК
Подключите зашифрованный том на ПК
Подключение зашифрованной общей папки на ПК