Как я могу использовать ПК для восстановления данных, когда мой Synology NAS выходит из строя?
Как я могу использовать ПК для восстановления данных, когда мой Synology NAS выходит из строя?
Некоторые статьи были переведены с английского языка с помощью системы машинного перевода и могут содержать неточности или грамматические ошибки.
Среда
Применимо к:
- DSM версии 6.2.x и выше
- Тома, использующие файловые системы Btrfs или ext4
- Ubuntu версии 18.04 (Скачать ubuntu-18.04-desktop-amd64.isoздесь)
Не применимо к:
- Тома, использующие SSD-кэш с доступом на запись
Решение
Восстановление данных с помощью ПК
- Убедитесь, что на вашем ПК достаточно слотов для установки дисков.
- Извлеките диски из Synology NAS и установите их в ваш ПК. Для конфигураций RAID или SHR необходимо установить все диски (кроме дисков Hot Spare) в ваш ПК одновременно.
- Подготовьте среду Ubuntu, следуя инструкциям в этом руководстве.
- Перейдите в Файлы на левой панели и выберите Домой.
- Щелкните правой кнопкой мыши и выберите Новая папка, создайте одну или несколько папок в качестве точек монтирования для доступа к данным.1
- Щелкните правой кнопкой мыши на новой папке(ах), нажмите Свойства, родительская папка с именем папки
${mount_point}
.- Пример: Если родительская папка
/home/ubuntu/
и имя папкиTest
, точка монтирования будет/home/ubuntu/Test/
- Пример: Если родительская папка
- Перейдите в Показать приложения в нижнем левом углу >Введите для поиска....
- Введите Терминал в строке поиска и выберите Терминал.
- Введите следующую команду для получения привилегий root.
sudo -i
- Введите следующие команды для установки
mdadm
иlvm2
, оба из которых являются инструментами управления RAID.lvm2
должен быть установлен, иначеvgchange
не будет работать.apt-get update
apt-get install -y mdadm lvm2 - Введите следующую команду для сборки всех дисков, извлеченных из вашего Synology NAS. Результаты могут отличаться в зависимости от конфигураций пула ресурсов хранения на вашем Synology NAS.
mdadm -AsfR && vgchange -ay
- Введите следующую команду для получения информации о
${device_path}
.Согласно выводуcat /proc/mdstat
lvspvs/vgs/lvs
, пути устройств следующие:Ниже приведены примеры
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>
lvsroot@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>
lvsroot@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 - Введите следующие команды для монтирования всех дисков в режиме только для чтения для доступа к вашим данным. Введите путь к вашему устройству (в соответствии с RAID и типом тома в Шаге 12) в
${device_path}
и точку монтирования (созданную в Шаге 6) в${mount_point}
. Ваши данные будут размещены под точкой монтирования.mount ${device_path} ${mount_point} -o ro
- Проверьте данные в Файлы > Домой > папки, созданные в Шаге 5.
- Для зашифрованных томов и общих папок:
Если вы все еще не можете восстановить данные с помощью вышеуказанных шагов, воздержитесь от попыток других методов восстановления, так как это может привести к большему повреждению данных. В качестве последнего варианта обратитесь за помощью в местную компанию по восстановлению данных. Пожалуйста, поймите, что восстановление данных все равно не гарантируется.
Подключите зашифрованный том на ПК
Убедитесь, что у вас есть ключ восстановления вашего зашифрованного тома. Следующие шаги работают только в том случае, если ключ восстановления правильный.
- В Терминале введите следующую команду для установки
cryptsetup
.apt-get install cryptsetup
- Введите следующую команду для декодирования вашего ключа восстановления. Замените
${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
- Пример: Если ключ восстановления находится в
- Введите следующую команду, чтобы проверить, правильный ли ключ восстановления. Замените
${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
- Пример: Если имя выходного файла
- Проверьте результат, чтобы увидеть, правильный ли ключ восстановления:
- Правильный ключ:
Key slot 1 unlocked.
Command successful. - Неправильный ключ:
Найдите правильный ключ и вернитесь к предыдущему шагу для повторного декодирования.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
- Правильный ключ:
- Введите следующую команду для расшифровки зашифрованного тома с вашим декодированным ключом восстановления.
cryptsetup open --allow-discards /dev/vgX/volume_Y cryptvol_Y -S 1 -d ${base64_decode_output_path}
- Введите следующую команду, чтобы подключить все диски в режиме только для чтения для доступа к вашим данным. Замените
${device_path}
на путь к вашему устройству/dev/mapper/cryptvol_Y
и${mount_point}
на точку монтирования, созданную в Шаге 6). Ваши данные будут размещены под точкой монтирования.mount ${device_path} ${mount_point} -o ro
- Обратитесь к Шагу 14 для восстановления ваших данных.
Подключение зашифрованной общей папки на ПК
Убедитесь, что у вас есть ключ шифрования вашей зашифрованной общей папки. Следующие шаги работают только в том случае, если ключ шифрования правильный.
- В Терминале введите следующую команду для получения привилегий root.
sudo -i
- Введите следующие команды для включения
universe repo
и установкиecryptfs-utils
.apt-get-repository universe
apt-get update
apt-get install ecryptfs-utils - Введите следующую команду, чтобы получить значение FNEK (ключ шифрования имени файла) вашего ключа шифрования.
ecryptfs-add-passphrase --fnek
- Когда будет предложено, введите ваш ключ шифрования в поле
Passphrase
. - Вы увидите вывод, похожий на следующий:
Значение в квадратных скобках является вашим значением FNEK. Запомните это значение, так как оно понадобится вам в следующих шагах.
Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
- Когда будет предложено, введите ваш ключ шифрования в поле
- Используйте команду
cd
, чтобы перейти к точке монтирования, которую вы создали в Шаге 6 предыдущего раздела.cd ${mount_point}
- Пример: Если точка монтирования
${mount_point}
это/home/ubuntu/Test/
, введенная команда будет выглядеть так:cd /home/ubuntu/Test/
.
- Пример: Если точка монтирования
- Создайте временную папку в качестве точки монтирования для вашей зашифрованной общей папки. Используйте команду
mkdir
для создания новой папки.В приведенной выше команде заменитеmkdir folder_name
folder_name
на имя, которое вы хотите дать папке. - Введите следующую команду, чтобы подключить вашу зашифрованную общую папку.
Убедитесь, что заменили
mount -t ecryptfs folder_name
folder_name
на имя временной папки, созданной на предыдущем шаге. Для завершения монтирования требуются дополнительные вводы. Следуйте инструкциям ниже:Passphrase
: Введите ваш ключ шифрования.Select cipher
: Введите1
, чтобы выбрать aes в качестве шифра.Select key bytes
: Введите2
, чтобы выбрать 32 в качестве байтов ключа.Enable plaintext passthrough
: Введитеn
, чтобы отключить эту опцию.Enable filename encryption
: Введитеy
, чтобы включить эту опцию.Filename Encryption Key (FNEK) Signature
: Введите ваше значение FNEK из Шага 3.- После ввода вашего значения 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. Would you like to proceed with the mount
: Введитеy
, чтобы согласиться продолжить монтирование.Would you like to append sig … in order to avoid this warning in the future
: Введитеn
, чтобы продолжить.- Если монтирование прошло успешно, вы увидите следующий вывод:
Mounted eCryptfs
Примечания: