Comment puis-je utiliser un PC pour récupérer des données lorsque mon Synology NAS tombe en panne?
Comment puis-je utiliser un PC pour récupérer des données lorsque mon Synology NAS tombe en panne?
Certains articles ont été traduits automatiquement à partir de l'anglais et peuvent contenir des inexactitudes ou des erreurs de grammaire.
Environnement
Applicable à :
- Version DSM 6.2.x et ultérieures
- Volumes utilisant les systèmes de fichiers Btrfs ou ext4
- Version Ubuntu 18.04 (Téléchargez ubuntu-18.04-desktop-amd64.isoici)
Non applicable à :
- Volumes utilisant un cache SSD en lecture-écriture
Solution
Récupérer des données à l'aide d'un PC
- Assurez-vous que votre PC dispose de suffisamment d'emplacements pour l'installation des disques.
- Retirez les disques de votre Synology NAS et installez-les dans votre PC. Pour les configurations RAID ou SHR, vous devez installer tous les disques (à l'exception des disques de secours) dans votre PC en même temps.
- Préparez un environnement Ubuntu en suivant les instructions de ce tutoriel.
- Allez dans Fichiers sur la barre de gauche et sélectionnez Accueil.
- Cliquez avec le bouton droit et sélectionnez Nouveau Dossier, et créez un ou plusieurs dossiers comme points de montage pour accéder aux données.1
- Cliquez avec le bouton droit sur le(s) nouveau(x) dossier(s), cliquez sur Propriétés, le dossier parent avec le nom du dossier est
${mount_point}
.- Exemple : Si le dossier parent est
/home/ubuntu/
et le nom du dossier estTest
, le point de montage sera/home/ubuntu/Test/
- Exemple : Si le dossier parent est
- Allez dans Afficher l'application dans le coin inférieur gauche >Type pour rechercher....
- Entrez Terminal dans la barre de recherche et sélectionnez Terminal.
- Entrez la commande suivante pour obtenir les privilèges root.
sudo -i
- Entrez les commandes suivantes pour installer
mdadm
etlvm2
, qui sont tous deux des outils de gestion RAID.lvm2
doit être installé ouvgchange
ne fonctionnera pas.apt-get update
apt-get install -y mdadm lvm2 - Entrez la commande suivante pour assembler tous les disques retirés de votre Synology NAS. Les résultats peuvent varier en fonction des configurations du groupe de stockage sur votre Synology NAS.
mdadm -AsfR && vgchange -ay
- Entrez la commande suivante pour obtenir les informations de
${device_path}
.Selon la sortie decat /proc/mdstat
lvspvs/vgs/lvs
, les chemins des périphériques sont les suivants :Ci-dessous sont les exemples de
md status
correspondant à son type de RAID et de volume :Chemins des périphériquesRAID classique avec volume uniquecat /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>
lvsPas de sortie${device_path}
/dev/md4
Chemins des périphériquesSHR avec volume uniquecat /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
Chemins des périphériquesRAID classique/SHR avec plusieurs volumescat /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 - Entrez les commandes suivantes pour monter tous les disques en lecture seule afin d'accéder à vos données. Entrez votre chemin de périphérique (selon le RAID et le type de volume dans l'Étape 12) dans
${device_path}
et le point de montage (créé dans l'Étape 6) dans${mount_point}
. Vos données seront placées sous le point de montage.mount ${device_path} ${mount_point} -o ro
- Vérifiez les données dans Fichiers > Accueil > les dossiers que vous avez créés dans l'Étape 5.
- Pour les volumes et dossiers partagés chiffrés :
Si vous ne parvenez toujours pas à récupérer les données via les étapes ci-dessus, évitez d'essayer d'autres méthodes de réparation car cela pourrait causer plus de dommages à vos données. En dernier recours, demandez l'aide d'une entreprise locale de récupération de données. Veuillez comprendre que la récupération des données n'est toujours pas garantie.
Monter un volume chiffré sur un PC
Assurez-vous d'avoir la clé de récupération de votre volume chiffré. Les étapes suivantes ne fonctionnent que si la clé de récupération est correcte.
- Dans Terminal, entrez la commande suivante pour installer
cryptsetup
.apt-get install cryptsetup
- Entrez la commande suivante pour décoder votre clé de récupération. Remplacez
${your_recovery_key_path}
par l'emplacement de la clé de récupération et${base64_decode_output_path}
par le nom et l'emplacement du fichier de sortie souhaité.base64 --decode ${your_recovery_key_path} > ${base64_decode_output_path}
- Exemple : Si la clé de récupération se trouve à
/mnt/volume1.rkey
et que vous souhaitez que le fichier de sortie soit nommédecode_output
et situé dans/mnt
, la commande saisie sera :base64 --decode /mnt/volume1.rkey > /mnt/decode_output
- Exemple : Si la clé de récupération se trouve à
- Entrez la commande suivante pour tester si la clé de récupération est correcte. Remplacez
${base64_decode_output_path}
par le nom et l'emplacement du fichier de sortie.cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d ${base64_decode_output_path} -v
- Exemple : Si le nom du fichier de sortie est
decode_output
et situé dans/mnt
, la commande saisie sera :cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d /mnt/decode_output -v
- Exemple : Si le nom du fichier de sortie est
- Vérifiez le résultat pour voir si la clé de récupération est correcte :
- Clé correcte :
Key slot 1 unlocked.
Command successful. - Clé incorrecte :
Trouvez la clé correcte et revenez à l'étape précédente pour décoder à nouveau.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
- Clé correcte :
- Entrez la commande suivante pour déchiffrer le volume chiffré avec votre clé de récupération décodée.
cryptsetup open --allow-discards /dev/vgX/volume_Y cryptvol_Y -S 1 -d ${base64_decode_output_path}
- Entrez la commande suivante pour monter tous les lecteurs en lecture seule afin d'accéder à vos données. Remplacez
${device_path}
par le chemin de votre appareil/dev/mapper/cryptvol_Y
et${mount_point}
par le point de montage créé dans l'étape 6). Vos données seront placées sous le point de montage.mount ${device_path} ${mount_point} -o ro
- Référez-vous à l'étape 14 pour récupérer vos données.
Monter un dossier partagé chiffré sur un PC
Assurez-vous d'avoir la clé de chiffrement de votre dossier partagé chiffré. Les étapes suivantes ne fonctionnent que si la clé de chiffrement est correcte.
- Dans Terminal, entrez la commande suivante pour obtenir les privilèges root.
sudo -i
- Entrez les commandes suivantes pour activer
universe repo
et installerecryptfs-utils
.apt-get-repository universe
apt-get update
apt-get install ecryptfs-utils - Entrez la commande suivante pour obtenir la valeur FNEK (Filename Encryption Key) de votre clé de chiffrement.
ecryptfs-add-passphrase --fnek
- Lorsque vous y êtes invité, entrez votre clé de chiffrement dans le champ
Passphrase
. - Vous verrez une sortie similaire à la suivante :
La valeur dans les secondes crochets est votre valeur FNEK. Notez cette valeur car vous en aurez besoin dans les étapes suivantes.
Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
- Lorsque vous y êtes invité, entrez votre clé de chiffrement dans le champ
- Utilisez la commande
cd
pour naviguer jusqu'au point de montage que vous avez créé dans l'étape 6 de la section précédente.cd ${mount_point}
- Exemple : Si le point de montage
${mount_point}
est/home/ubuntu/Test/
, la commande saisie ressemblerait à :cd /home/ubuntu/Test/
.
- Exemple : Si le point de montage
- Créez un dossier temporaire comme point de montage pour votre dossier partagé chiffré. Utilisez la commande
mkdir
pour créer un nouveau dossier.Dans la commande ci-dessus, remplacezmkdir folder_name
folder_name
par un nom que vous souhaitez donner au dossier. - Entrez la commande suivante pour monter votre dossier partagé chiffré.
Assurez-vous de remplacer
mount -t ecryptfs folder_name
folder_name
par le nom du dossier temporaire que vous avez créé à l'étape précédente. Pour compléter le montage, des entrées supplémentaires sont nécessaires. Suivez les instructions ci-dessous :Passphrase
: Entrez votre clé de chiffrement.Select cipher
: Entrez1
pour sélectionner aes comme chiffrement.Select key bytes
: Entrez2
pour sélectionner 32 comme octets de clé.Enable plaintext passthrough
: Entrezn
pour désactiver cette option.Enable filename encryption
: Entrezy
pour activer cette option.Filename Encryption Key (FNEK) Signature
: Entrez votre valeur FNEK de l'étape 3.- Après avoir entré votre valeur FNEK, vous verrez une sortie similaire à la suivante :
Le message d'avertissement est juste un rappel. Si vous avez vérifié que votre clé de chiffrement est correcte, vous pouvez ignorer cet avertissement en toute sécurité et continuer.
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
: Entrezy
pour accepter de continuer avec le montage.Would you like to append sig … in order to avoid this warning in the future
: Entrezn
pour continuer.- Si le montage est réussi, vous verrez la sortie suivante :
Mounted eCryptfs
Remarques :
- Un point de montage est égal à un volume. Si vous avez plusieurs volumes à récupérer, veuillez créer le même nombre de dossiers que le nombre de volumes.
- Le nombre de md (array) sera listé dans le résultat de
cat /proc/mdstat
. syno_vg_reserved_area
peut être ignoré, le nombre de volume_x est égal au nombre de volumes.