How to recover Synology RAID including SHR with EXT4 or BTRFS file system using a PC – should also work with Qnap & Asustor


How to recover Synology RAID including SHR with EXT4 or BTRFS file system using a PC – should also work with Qnap & Asustor

How can I use a PC to recover data when my Synology NAS malfunctions?

Purpose


This article will guide you to recover data on your PC when Synology NAS malfunctions.

Notes:

  • The drives may not be able to mount the volume again after being migrated to a new NAS.

Environment

  • Available on DSM version 6.2.x and above.
  • Only applicable to ext4 or Btrfs file system.
  • Ubuntu version should be 18.04 and above.

Resolution

  1. Make sure your PC has sufficient drive slots for drive installation.
  2. Remove the drives from your Synology NAS and install them in your PC. For RAID or SHR configurations, you must install all the drives (excluding hot spare drives) in your PC at the same time.
  3. Prepare an Ubuntu environment by following the instructions in this tutorial.
  4. Go to the Files on the left bar and select Home.
  5. Right-click and select New Folder, and create one or more folders as mount points for accessing data.1
  6. Right-click on the new folder(s), click Properties, the parent folder with folder name is ${mount_point}.
    Example: If the parent folder is /home/ubuntu/ and the folder name is Test, the mount point will be /home/ubuntu/Test/.
  7. Go to Show Application in the lower-left corner > Type to search….
  8. Enter Terminal in the search bar and select Terminal.
  9. Enter the following command to obtain the root privileges.
    sudo -i
  10. Enter the following commands to install mdadm and lvm2, both of which are RAID management tools. lvm2 must be installed or vgchange will not work.
    apt-get update
    apt-get install -y mdadm lvm2
  11. Enter the following command to assemble all the drives removed from your Synology NAS. The results may differ according to the storage pool configurations on your Synology NAS.
    mdadm -Asf && vgchange -ay
  12. Enter the following command to get the information of ${device_path}.
    cat /proc/mdstat
    lvs

    According to the output of pvs/vgs/lvs, the device paths are as follows:

    ${device_path}
    No lvs output
    /dev/${md}2
    With lvs output
    /dev/${VG}/${LV}3

     


    Below are the samples of md status corresponding to its RAID and volume type:


     

    Device Paths
    Classic RAID with single volume
    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
    No output
    ${device_path}
    /dev/md4

     


     

    Device Paths
    SHR with single volume
    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

     


     

    Device Paths
    Classic RAID/SHR with multiple volume
    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. Enter the following commands to mount all the drives as read-only to access your data. Enter your device path (according to RAID and volume type in Step 12) in ${device_path} and mount point (created in Step 6)in ${mount_point}. Your data will be placed under the mount point.
    $ mount ${device_path} ${mount_point} -o ro
  14. Check the data in Files > Home > the folders you created in Step 5.

If you still cannot recover the data through the above steps, refrain from trying any other methods to repair because it may cause more damage to your data. As your last option, please seek the help of a local data rescue company. Kindly understand that data retrieval is still not guaranteed.

Notes:

  1. A mount point is equal to one volume. If you have multiple volumes that need to be recovered, please create the same number of folders as the number of volumes.
  2. The number of md (array) will be listed in the result of cat /proc/mdstat.
  3. syno_vg_reserved_area can be ignored, the number of volume_x is equal to the number of volumes.

DISCUSS with others your opinion about this subject.
ASK questions to NAS community
SHARE more details what you have found on this subject
CONTRIBUTE with your own article or review. Cick HERE
IMPROVE this niche ecosystem, let us know what to change/fix on this site

ASK YOUR QUESTIONS HERE!