November 10, 201510 yr Help, I'm not sure what i did wrong but i upgraded one of my drives for a larger one. However after the data rebuild the disk is still completely empty. How do i recover the data from the old disk? i still have the old disk which should still have all the original data on and my parity should still be from the check i did just before replacing the disk so surely its still on there as well. i would really appreciate any advice or help thank you. Edit: ok i think i know where i flubbed up, i formatted the replacement drive as xfs when the old one was reiserf i read in https://lime-technology.com/forum/index.php?topic=37490.0 how that would cause a problem. so my new question is can i reformat the drive back to reiserf and somehow do the rebuild again? or is the data gone as the new disk has be mounted and accepted into the array.
November 10, 201510 yr Community Expert Formattting a drive wipes all the data that is currently there as it creates an empty file system on the disk. It also updates parity at the same time to match the changes made when formatting. The easiest way to recover will simply be to mount the old disk externally to the array and copy all the data back to the new disk. If that is not possible for some reason, then since the previous disk was reiserfs format then it just might be possible to recover most of the data from the rebuilt disk as long as you have not written anything to the new disk. However this process is tricky, error-prone, and not guaranteed to work so should be avoided if at all possible.
November 10, 201510 yr Community Expert Or you could put your old disk back in the server and do a new config, parity will be synced and after it finishes you can upgrade the disk again, new disk will remain reiserfs, if you want the new disk to be xfs probably best to follow itimpi’s suggestion. If you’re not sure how to do a new config ask here, as any errors, especially if you select the wrong parity disk will lead to data loss. This will only work if you didn’t format the old disk.
November 10, 201510 yr Author Thank you for the reply. Ah so basically my parity was updated to remove the files that were stored on disk1 after the the empty new disk was formatted. Trying to think of the easiest way to mount the old disk. My server has a cache drive which i guess i could disable and then use that slot for the old disk. I should be able to start the array with the old disk added as a none assigned drive right? then for the actual copying of the date, when i upgraded my sever from v5 to v6 i lost the ability to see the individual drives when i view my server in windows file explorer, i can only see my user share. i would feel most comfortable copying files from disks using windows interface but i guess i could use unraid CLI i.e cp -r -v /mnt/sdf /mnt/sdb where sdb is my new disk1 and sdf is my cache drive i would replace with the old drive. would that be the best method/code to use?
November 10, 201510 yr Community Expert Thank you for the reply. Ah so basically my parity was updated to remove the files that were stored on disk1 after the the empty new disk was formatted. Not really "remove the files". Here is a better way to think about this: Formatting a drive is NEVER part of the rebuild process. Many people seem to think formatting means getting a drive ready to use. It does not. Formatting means creating an empty filesystem. This always involves writing to the drive. When unRAID formats a drive in a parity array, those writes that created the empty filesystem update parity just like any other writes to a data drive. So, after the format, parity reflects the empty filesystem you just created.
November 10, 201510 yr Author Ahh thank you trurl, that makes sense Right as i'm not comfortable using CLI and i cant seem to view my individual drives i'm going to go with johnnie.black's suggestion and put my old disk back in. I presume the new config is needed to stop the old disk being rebuilt with the new blank disks contents when it is reassigned to disk 1. so couple of questions before i do this in case i mess up anything else. my new config steps should be 1. shut down array and replace disk1 with the old disk 2. start up server and reassign the old disk but not start the array (which would start a rebuild wouldn't it) 3. go into tools > new config 4. then go and start array and do a new parity sync is that the right steps to take? also would i be best formatting the replacement drive back to reiserf now before i do the new config/put old disk back in? just thinking so i dont have to worry about formatting when my parity has been resynced and messing it up again. But then i should be safe as i will be formatting it as a none assigned disk so it shouldn't sync with parity until its added. Sorry i just want to be extra safe so i'm imagining the worse
November 10, 201510 yr Two things .. (1) You can see the individual disk shares by simply enabling them on the Settings - Global Share Settings page. [set Enable Disk Shares to Yes] (2) A simple way to get all your data from the old disk is to attach it to a Windows machine; then load a free Linux file system viewer [e.g. http://www.diskinternals.com/linux-reader/ ]; and then just copy the files to your new configuration.
November 10, 201510 yr Community Expert Make sure you know the position of every disk, most importantly the parity disk. 1 – shut down array and put old disk back 2 – array will not start because of missing disk, don’t re-assign old disk, do a new config now. 3 – re-assign all disks, make sure parity is old parity 4 – start array, parity will begin rebuild but all your data should be already available 5 – wait for parity sync to finish and then replace disk again if you want
November 10, 201510 yr Community Expert also would i be best formatting the replacement drive back to reiserf now before i do the new config/put old disk back in? just thinking so i dont have to worry about formatting when my parity has been resynced and messing it up again. But then i should be safe as i will be formatting it as a none assigned disk so it shouldn't sync with parity until its added. Sorry i just want to be extra safe so i'm imagining the worse There’s no need to format the old disk back to reiserfs, when you upgrade it again just assign the new disk as is, start array and wait for Unraid to rebuild, it will be rebuilt the same as the old disk, in this case reiserfs.
November 10, 201510 yr Author Thanks, sounds fairly straight forward, hopefully i wont be able to able to find new ways to mess it up further and i can turn this flub up into a nice learning experience
November 10, 201510 yr Author Make sure you know the position of every disk, most importantly the parity disk. 1 – shut down array and put old disk back 2 – array will not start because of missing disk, don’t re-assign old disk, do a new config now. 3 – re-assign all disks, make sure parity is old parity 4 – start array, parity will begin rebuild but all your data should be already available 5 – wait for parity sync to finish and then replace disk again if you want hold on, i just thought of something, when you say make sure parity is old parity. Hasn't it been changed since removing old drive when i formatted the new drive? during step 4 will it rebuild parity with the data from the disks or rebuild disks with parity data which would be missing everything that was on the old disk wouldn't it?
November 10, 201510 yr Community Expert It will rebuild parity from the data disks including old disk1, the warning is so you would not by mistake select an old data disk as parity as you’d lose that data, it happens with alarming frequency.
November 10, 201510 yr Community Expert New Config never writes to the disks in the data slots. It will write parity to the disk in the parity slot. Hence the need to be certain that you don't have a data disk in the parity slot.
November 10, 201510 yr Author Thank you all, you have all been very helpful. Old drive is back in and parity-sync is underway. Looking through my user shares all my data is there so i haven't lost anything which is good. As my wife just pointed out to me when she saw my post count i've been a member/reader of the forum since 2011 but until a week ago never had a need to make a post. I was in no doubt someone would come to my rescue. My daughter would thank you all too if she could, she was a bit disappointed when she couldn't watch the AristoCats for the 100th time today as it was on the old disk1 keep being awesome people!
Archived
This topic is now archived and is closed to further replies.