Come posso utilizzare un PC per recuperare i dati quando il mio Synology NAS non funziona correttamente?
Come posso utilizzare un PC per recuperare i dati quando il mio Synology NAS non funziona correttamente?
Alcuni articoli sono stati tradotti dall’inglese con strumenti meccanici e possono contenere imprecisioni oppure errori di grammatica.
Ambiente
Applicabile a:
- Versione DSM 6.2.x e successive
- Volumi che utilizzano i file system Btrfs o ext4
- Versione Ubuntu 18.04 (Scarica ubuntu-18.04-desktop-amd64.isoqui)
Non applicabile a:
- Volumi che utilizzano cache SSD in lettura-scrittura
Soluzione
Recuperare i dati utilizzando un PC
- Assicurarsi che il PC abbia slot sufficienti per l'installazione delle unità.
- Rimuovere le unità dal Synology NAS e installarle nel PC. Per configurazioni RAID o SHR, è necessario installare tutte le unità (escluse le unità di riserva) nel PC contemporaneamente.
- Preparare un ambiente Ubuntu seguendo le istruzioni in questo tutorial.
- Andare su File nella barra a sinistra e selezionare Home.
- Fare clic con il tasto destro e selezionare Nuova cartella, e creare una o più cartelle come punti di montaggio per accedere ai dati.1
- Fare clic con il tasto destro sulla nuova cartella(e), fare clic su Proprietà, la cartella principale con il nome della cartella è
${mount_point}
.- Esempio: Se la cartella principale è
/home/ubuntu/
e il nome della cartella èTest
, il punto di montaggio sarà/home/ubuntu/Test/
- Esempio: Se la cartella principale è
- Andare su Mostra applicazione nell'angolo in basso a sinistra >Digita per cercare....
- Inserire Terminale nella barra di ricerca e selezionare Terminale.
- Inserire il seguente comando per ottenere i privilegi di root.
sudo -i
- Inserire i seguenti comandi per installare
mdadm
elvm2
, entrambi strumenti di gestione RAID.lvm2
deve essere installato ovgchange
non funzionerà.apt-get update
apt-get install -y mdadm lvm2 - Inserire il seguente comando per assemblare tutte le unità rimosse dal Synology NAS. I risultati possono variare a seconda delle configurazioni del pool di archiviazione sul Synology NAS.
mdadm -AsfR && vgchange -ay
- Inserire il seguente comando per ottenere le informazioni di
${device_path}
.Secondo l'output dicat /proc/mdstat
lvspvs/vgs/lvs
, i percorsi dei dispositivi sono i seguenti:Di seguito sono riportati i campioni di
md status
corrispondenti al tipo di RAID e volume:Percorsi dei dispositiviRAID classico con volume singolocat /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>
lvsNessun output${device_path}
/dev/md4
Percorsi dei dispositiviSHR con volume singolocat /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
Percorsi dei dispositiviRAID classico/SHR con volume multiplocat /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 - Inserire i seguenti comandi per montare tutte le unità in modalità di sola lettura per accedere ai dati. Inserire il percorso del dispositivo (secondo RAID e tipo di volume in Passo 12) in
${device_path}
e il punto di montaggio (creato in Passo 6) in${mount_point}
. I dati saranno posizionati sotto il punto di montaggio.mount ${device_path} ${mount_point} -o ro
- Controllare i dati in File > Home > le cartelle create in Passo 5.
- Per volumi e cartelle condivise crittografate:
Se non è ancora possibile recuperare i dati attraverso i passaggi sopra indicati, evitare di provare altri metodi di riparazione poiché potrebbero causare ulteriori danni ai dati. Come ultima opzione, cercare l'aiuto di una società locale di recupero dati. Si prega di comprendere che il recupero dei dati non è comunque garantito.
Montare un volume crittografato su un PC
Assicurarsi di avere la chiave di ripristino del volume crittografato. I seguenti passaggi funzionano solo se la chiave di ripristino è corretta.
- In Terminal, inserire il seguente comando per installare
cryptsetup
.apt-get install cryptsetup
- Inserire il seguente comando per decodificare la chiave di ripristino. Sostituire
${your_recovery_key_path}
con la posizione della chiave di ripristino e${base64_decode_output_path}
con il nome e la posizione del file di output desiderato.base64 --decode ${your_recovery_key_path} > ${base64_decode_output_path}
- Esempio: Se la chiave di ripristino si trova in
/mnt/volume1.rkey
e si desidera che il file di output sia denominatodecode_output
e situato in/mnt
, il comando inserito sarà:base64 --decode /mnt/volume1.rkey > /mnt/decode_output
- Esempio: Se la chiave di ripristino si trova in
- Inserire il seguente comando per verificare se la chiave di ripristino è corretta. Sostituire
${base64_decode_output_path}
con il nome e la posizione del file di output.cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d ${base64_decode_output_path} -v
- Esempio: Se il nome del file di output è
decode_output
e situato in/mnt
, il comando inserito sarà:cryptsetup open --test-passphrase /dev/vgX/volume_Y -S 1 -d /mnt/decode_output -v
- Esempio: Se il nome del file di output è
- Verificare il risultato per vedere se la chiave di ripristino è corretta:
- Chiave corretta:
Key slot 1 unlocked.
Command successful. - Chiave errata:
Trovare la chiave corretta e tornare al passaggio precedente per decodificare di nuovo.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).
- Chiave corretta:
- Inserire il seguente comando per decrittografare il volume crittografato con la chiave di ripristino decodificata.
cryptsetup open --allow-discards /dev/vgX/volume_Y cryptvol_Y -S 1 -d ${base64_decode_output_path}
- Inserire il seguente comando per montare tutte le unità in modalità di sola lettura per accedere ai dati. Sostituire
${device_path}
con il percorso del dispositivo/dev/mapper/cryptvol_Y
e${mount_point}
con il punto di montaggio creato in Passaggio 6). I dati saranno posizionati sotto il punto di montaggio.mount ${device_path} ${mount_point} -o ro
- Fare riferimento a Passaggio 14 per recuperare i dati.
Montare una cartella condivisa crittografata su un PC
Assicurarsi di avere la chiave di crittografia della cartella condivisa crittografata. I seguenti passaggi funzionano solo se la chiave di crittografia è corretta.
- In Terminal, inserire il seguente comando per ottenere i privilegi di root.
sudo -i
- Inserire i seguenti comandi per abilitare
universe repo
e installareecryptfs-utils
.apt-get-repository universe
apt-get update
apt-get install ecryptfs-utils - Inserire il seguente comando per ottenere il valore FNEK (Filename Encryption Key) della chiave di crittografia.
ecryptfs-add-passphrase --fnek
- Quando richiesto, inserire la chiave di crittografia nel campo
Passphrase
. - Verrà visualizzato un output simile al seguente:
Il valore all'interno delle seconde parentesi quadre è il valore FNEK. Prendere nota di questo valore perché sarà necessario nei passaggi successivi.
Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
- Quando richiesto, inserire la chiave di crittografia nel campo
- Utilizzare il comando
cd
per navigare al punto di montaggio creato in Passaggio 6 della sezione precedente.cd ${mount_point}
- Esempio: Se il punto di montaggio
${mount_point}
è/home/ubuntu/Test/
, il comando inserito sarà:cd /home/ubuntu/Test/
.
- Esempio: Se il punto di montaggio
- Creare una cartella temporanea come punto di montaggio per la cartella condivisa crittografata. Utilizzare il comando
mkdir
per creare una nuova cartella.Nel comando sopra, sostituiremkdir folder_name
folder_name
con un nome da assegnare alla cartella. - Inserire il seguente comando per montare la cartella condivisa crittografata.
Assicurarsi di sostituire
mount -t ecryptfs folder_name
folder_name
con il nome della cartella temporanea creata nel passaggio precedente. Per completare il montaggio, sono necessari input aggiuntivi. Seguire le istruzioni di seguito:Passphrase
: Inserire la chiave di crittografia.Select cipher
: Inserire1
per selezionare aes come cifrario.Select key bytes
: Inserire2
per selezionare 32 come byte della chiave.Enable plaintext passthrough
: Inseriren
per disabilitare questa opzione.Enable filename encryption
: Inserirey
per abilitare questa opzione.Filename Encryption Key (FNEK) Signature
: Inserire il valore FNEK dal Passaggio 3.- Dopo aver inserito il valore FNEK, verrà visualizzato un output simile al seguente:
Il messaggio di avviso è solo un promemoria. Se si è verificato che la chiave di crittografia è corretta, è possibile ignorare questo avviso e procedere.
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
: Inserirey
per accettare di procedere con il montaggio.Would you like to append sig … in order to avoid this warning in the future
: Inseriren
per continuare.- Se il montaggio è riuscito, verrà visualizzato il seguente output:
Mounted eCryptfs
Note:
- Un punto di montaggio è uguale a un volume. Se si dispone di più volumi da recuperare, creare lo stesso numero di cartelle quanti sono i volumi.
- Il numero di md (array) sarà elencato nel risultato di
cat /proc/mdstat
. syno_vg_reserved_area
può essere ignorato, il numero di volume_x è uguale al numero di volumi.