Menu

Errors when restoring failed drive to another disk with free space. Only partial restore

Help
2021-10-04
2021-10-10
  • IamSpartacus

    IamSpartacus - 2021-10-04

    I have a failed disk (d5) and am attempting to restore the files on the failed disk to another disk in the array that has enough free space on it to store all the recovered files. I ran the below fix command after changing my config (see before and after disk failure configs below). However, it only recovered less than 1TB of the estimated 5.8TB worth of data on the disk. The fix.log (which I had to split into 18 different files because of their size) shows all kinds of error such as the following:

    msg:error: Reading data from missing file '/mnt/data/disk18/media/tv/Series/Season/filename1.mkv' at offset 0.
    error:0:d5:media/tv/Series/Season/filename1.mkv: Read error at position 0
    msg:error: Missing file '/mnt/data/disk18/media/movies/Movie/filename2.mkv'.
    error:0:d18:media/movies/Movie/filename2.mkv: Open error at position 0
    entry:0:block:known:bad:d5:media/tv/Series/Season/filename1.mkv:0:

    Fix Command

    snapraid -D -d d5 -l fix.log fix
    

    Before Disk Failure Config

    parity /mnt/parity/parity01/snapraid.parity
    2-parity /mnt/parity/parity02/snapraid.2-parity
    
    content /var/snapraid/snapraid.content
    content /mnt/data/disk01/snapraid.content
    content /mnt/data/disk02/snapraid.content
    content /mnt/data/disk05/snapraid.content
    
    disk d1 /mnt/data/disk01/
    disk d2 /mnt/data/disk02/
    disk d3 /mnt/data/disk03/
    disk d4 /mnt/data/disk04/
    disk d5 /mnt/data/disk05/
    disk d6 /mnt/data/disk06/
    disk d7 /mnt/data/disk07/
    disk d8 /mnt/data/disk08/
    disk d9 /mnt/data/disk09/
    disk d10 /mnt/data/disk10/
    disk d11 /mnt/data/disk11/
    disk d12 /mnt/data/disk12/
    disk d13 /mnt/data/disk13/
    disk d14 /mnt/data/disk14/
    disk d15 /mnt/data/disk15/
    disk d16 /mnt/data/disk16/
    disk d17 /mnt/data/disk17/
    disk d18 /mnt/data/disk18/
    
    exclude *.bak
    exclude *.unrecoverable
    exclude /tmp/
    exclude /lost+found/
    exclude .AppleDouble
    exclude ._AppleDouble
    exclude .DS_Store
    exclude .Thumbs.db
    exclude .fseventsd
    exclude .Spotlight-V100
    exclude .TemporaryItems
    exclude .Trashes
    exclude .AppleDB
    exclude /torrent/
    exclude /nvr/
    
    block_size 256
    
    autosave 250
    

    After Disk Failure Config

    parity /mnt/parity/parity01/snapraid.parity
    2-parity /mnt/parity/parity02/snapraid.2-parity
    
    content /var/snapraid/snapraid.content
    content /mnt/data/disk01/snapraid.content
    content /mnt/data/disk02/snapraid.content
    #content /mnt/data/disk05/snapraid.content
    
    disk d1 /mnt/data/disk01/
    disk d2 /mnt/data/disk02/
    disk d3 /mnt/data/disk03/
    disk d4 /mnt/data/disk04/
    disk d5 /mnt/data/disk18/
    disk d6 /mnt/data/disk06/
    disk d7 /mnt/data/disk07/
    disk d8 /mnt/data/disk08/
    disk d9 /mnt/data/disk09/
    disk d10 /mnt/data/disk10/
    disk d11 /mnt/data/disk11/
    disk d12 /mnt/data/disk12/
    disk d13 /mnt/data/disk13/
    disk d14 /mnt/data/disk14/
    disk d15 /mnt/data/disk15/
    disk d16 /mnt/data/disk16/
    disk d17 /mnt/data/disk17/
    disk d18 /mnt/data/disk18/
    
    exclude *.bak
    exclude *.unrecoverable
    exclude /tmp/
    exclude /lost+found/
    exclude .AppleDouble
    exclude ._AppleDouble
    exclude .DS_Store
    exclude .Thumbs.db
    exclude .fseventsd
    exclude .Spotlight-V100
    exclude .TemporaryItems
    exclude .Trashes
    exclude .AppleDB
    exclude /torrent/
    exclude /nvr/
    
    block_size 256
    
    autosave 250
    
     
  • rubylaser

    rubylaser - 2021-10-04

    Hello :) You can't perform a restore to an existing disk in your array (meaning you can't name the same disk twice like /mnt/data/disk18 in this case). You will need to replace disk d05 with a new, formatted, and mounted disk to properly perform this restore. I'm honestly surprised it even let you do this in the first place without throwing an error (I guess it threw 18 files worth of errors).

    I wish I had a cheaper answer (I hope you have an extra disk or two at home), but put in a new disk, and you'll be back in business.

     
    • IamSpartacus

      IamSpartacus - 2021-10-04
       
      • rubylaser

        rubylaser - 2021-10-04

        Hmm... Leifi really knows SnapRAID, so I wouldn't want to contradict previous advice that appears to have worked, because Andrea even contributed to the conversation. I've never done a restore like this, so I can't speak to it. I know that replacing the disk works as I've done that a few times over the years.

         
        • IamSpartacus

          IamSpartacus - 2021-10-04

          No doubt. The disk is under warranty so it will be replaced soon. All the spare drives I have are larger (14TB) then my parity drives (10TB). Any problem with using one to replace the failed disk (assuming I'd only be able to use 10TB of it until I upgrade parity) until I'm back up and running at which point I will upgrade the parity drives as well?

           
          • David

            David - 2021-10-04

            No problem at all and you can use as much drive capacity as you want as long as you leave enough space for the parity file.

             

            Last edit: David 2021-10-04
            • IamSpartacus

              IamSpartacus - 2021-10-05

              Do you mean the snapraid.content file?

              EDIT: Nvmd, I realize now you meant the snapraid.parity file on the parity disk.

               

              Last edit: IamSpartacus 2021-10-05
  • IamSpartacus

    IamSpartacus - 2021-10-05

    If I delete all files off a disk and then run a fix on that disk, it should restore all files that existed from the last run sync?

     
    • Leifi Plomeros

      Leifi Plomeros - 2021-10-10

      Yes

       

Log in to post a comment.