解决方法
使用计算机恢复数据
-
确保您的计算机具有足够的硬盘插槽以用于安装硬盘。
-
从 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
lvs根据
pvs/vgs/lvs的输出,设备路径如下所示:以下是与其 RAID 和存储空间类型对应的
md 状态示例:设备路径具有单一存储空间的经典 RAIDcat /proc/mdstatroot@ubuntu:~# cat /proc/mdstatPersonalities : [raid1]md4 : active raid1 sdc3[0]73328704 blocks super 1.2 [1/1] [U]unused devices:<none>lvs无输出${device_path}/dev/md4设备路径具有单一存储空间的 SHRcat /proc/mdstatroot@ubuntu:~# cat /proc/mdstatPersonalities : [raid1]md3 : active raid1 sda5[0]73319616 blocks super 1.2 [1/1] [U]unused devices:<none>lvsroot@ubuntu:~# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv vg1000 -wi-a----- 69.92g${device_path}/dev/vg1000/lv设备路径具有多个存储空间的经典 RAID/SHRcat /proc/mdstatPersonalities : [raid1]md3 : active raid1 sdc3[0] sdd3[1]73328704 blocks super 1.2 [2/2] [UU]unused devices:<none>lvsroot@ubuntu:~# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy% Sync Convertsyno_vg_reserved_area vg1 -wi-a----- 12.00mvolume_1 vg1 -wi-a----- 30.00gvolume_3 vg1 -wi-a----- 30.00g${device_path}/dev/vg1/volume_1
/dev/vg1/volume_3 -
输入以下命令以采用只读方式装载所有硬盘,从而可访问数据。在
${device_path}中输入设备路径(根据步骤 12 中的 RAID 和存储空间类型),并在${mount_point}中输入装载点(在步骤 6 中创建)。数据会放在装载点下。mount ${device_path} ${mount_point} -o ro -
在文件 > 家目录 > 步骤 5 中创建的文件夹中检查数据。
-
对于加密存储空间和共享文件夹:
如果您仍然无法通过以上步骤恢复数据,请勿尝试任何其他方法进行修复,因为这可能会对您的数据造成更多损坏。作为您的最后选择,请向当地数据救援公司寻求帮助。请理解,仍无法保证可取回数据。
在计算机上装载加密存储空间
确保您拥有加密存储空间的恢复密钥。以下步骤仅在恢复密钥正确时才有效。
-
在终端机中,输入以下命令以安装
cryptsetup。apt-get install cryptsetup -
输入以下命令以解码恢复密钥。
base64 --decode ${your_recovery_key_path} > ${base64_decode_output_path} -
输入以下命令以测试恢复密钥是否正确。
cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d ${base64_decode_output_path}如果不正确,返回值会显示
No key available with this 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 以恢复数据。
在计算机上装载加密共享文件夹
确保您拥有加密共享文件夹的加密密钥。以下步骤仅在加密密钥正确时才有效。
-
在 Terminal 中,输入以下命令以获得 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字段中输入加密密钥。 -
您会看到类似于以下内容的输出:
Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring第二个方括号中的值是您的 FNEK 值。请记下此值,因为您将在以下步骤中用到它。
-
-
使用
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:输入在步骤 3 中获取的 FNEK 值。 -
输入 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
-
赞赏
微信赞赏
支付宝赞赏

