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.

Scopo

Questo articolo ti guiderà nel recupero dei dati sul tuo PC quando Synology NAS presenta malfunzionamenti.

Note:

  • Le unità potrebbero non essere in grado di montare nuovamente il volume dopo essere state migrate su un nuovo NAS.

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

  1. Assicurarsi che il PC abbia slot sufficienti per l'installazione delle unità.
  2. 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.
  3. Preparare un ambiente Ubuntu seguendo le istruzioni in questo tutorial.
  4. Andare su File nella barra a sinistra e selezionare Home.
  5. 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
  6. 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/
  7. Andare su Mostra applicazione nell'angolo in basso a sinistra >Digita per cercare....
  8. Inserire Terminale nella barra di ricerca e selezionare Terminale.
  9. Inserire il seguente comando per ottenere i privilegi di root.
    sudo -i
  10. Inserire i seguenti comandi per installare mdadm e lvm2 , entrambi strumenti di gestione RAID. lvm2 deve essere installato o vgchange non funzionerà.
    apt-get update
    apt-get install -y mdadm lvm2
  11. 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
  12. Inserire il seguente comando per ottenere le informazioni di ${device_path} .
    cat /proc/mdstat
    lvs
    Secondo l'output di pvs/vgs/lvs , i percorsi dei dispositivi sono i seguenti:
    ${device_path}
    Nessun output lvs
    /dev/${md}2
    Con output lvs
    /dev/${VG}/${LV}3

    Di seguito sono riportati i campioni di md status corrispondenti al tipo di RAID e volume:

    Percorsi dei dispositivi
    RAID classico con volume singolo
    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
    Nessun output
    ${device_path}
    /dev/md4
    Percorsi dei dispositivi
    SHR con volume singolo
    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
    Percorsi dei dispositivi
    RAID classico/SHR con volume multiplo
    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. 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
  14. Controllare i dati in File > Home > le cartelle create in Passo 5.
  15. 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.

  1. In Terminal, inserire il seguente comando per installare cryptsetup .
    apt-get install cryptsetup
  2. 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 denominato decode_output e situato in /mnt , il comando inserito sarà: base64 --decode /mnt/volume1.rkey > /mnt/decode_output
  3. 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
  4. Verificare il risultato per vedere se la chiave di ripristino è corretta:
    • Chiave corretta:
      Key slot 1 unlocked.
      Command successful.
    • Chiave errata:
      No key available with this passphrase.
      Command failed with code -2 (no permission or bad passphrase).
      Trovare la chiave corretta e tornare al passaggio precedente per decodificare di nuovo.
  5. 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}
  6. 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
  7. 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.

  1. In Terminal, inserire il seguente comando per ottenere i privilegi di root.
    sudo -i
  2. Inserire i seguenti comandi per abilitare universe repo e installare ecryptfs-utils .
    apt-get-repository universe
    apt-get update
    apt-get install ecryptfs-utils
  3. Inserire il seguente comando per ottenere il valore FNEK (Filename Encryption Key) della chiave di crittografia.
    ecryptfs-add-passphrase --fnek
    1. Quando richiesto, inserire la chiave di crittografia nel campo Passphrase .
    2. Verrà visualizzato un output simile al seguente:
      Inserted auth tok with sig [79d78a9afb5ebc95] into the user session keyring
      Inserted auth tok with sig [e4e4e8a3ca7d5d54] into the user session keyring
      Il valore all'interno delle seconde parentesi quadre è il valore FNEK. Prendere nota di questo valore perché sarà necessario nei passaggi successivi.
  4. 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/ .
  5. Creare una cartella temporanea come punto di montaggio per la cartella condivisa crittografata. Utilizzare il comando mkdir per creare una nuova cartella.
    mkdir folder_name
    Nel comando sopra, sostituire folder_name con un nome da assegnare alla cartella.
  6. Inserire il seguente comando per montare la cartella condivisa crittografata.
    mount -t ecryptfs folder_name
    Assicurarsi di sostituire 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:
    1. Passphrase : Inserire la chiave di crittografia.
    2. Select cipher : Inserire 1 per selezionare aes come cifrario.
    3. Select key bytes : Inserire 2 per selezionare 32 come byte della chiave.
    4. Enable plaintext passthrough : Inserire n per disabilitare questa opzione.
    5. Enable filename encryption : Inserire y per abilitare questa opzione.
    6. Filename Encryption Key (FNEK) Signature : Inserire il valore FNEK dal Passaggio 3.
    7. Dopo aver inserito il valore FNEK, verrà visualizzato un output simile al seguente:
      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.
      Il messaggio di avviso è solo un promemoria. Se si è verificato che la chiave di crittografia è corretta, è possibile ignorare questo avviso e procedere.
    8. Would you like to proceed with the mount : Inserire y per accettare di procedere con il montaggio.
    9. Would you like to append sig … in order to avoid this warning in the future : Inserire n per continuare.
    10. Se il montaggio è riuscito, verrà visualizzato il seguente output:
      Mounted eCryptfs

Note:

  1. 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.
  2. Il numero di md (array) sarà elencato nel risultato di cat /proc/mdstat .
  3. syno_vg_reserved_area può essere ignorato, il numero di volume_x è uguale al numero di volumi.
Scopo
Ambiente
Soluzione
Recuperare i dati utilizzando un PC
Montare un volume crittografato su un PC
Montare una cartella condivisa crittografata su un PC