Jump to content

Drive failure during parity swap


Go to solution Solved by JorgeB,

Recommended Posts

I'm in the process of a parity swap and unfortunately, one of my 2tb data drives is throwing many read errors and seems to be broken. The problem is, since the new drive I want to install is 14tb and my parity drive is only 8tb, I cannot replace the dead drive with my new drive. I'm wondering if this problem can be fixed by taking the following steps, or if I would need to purchase another <= 8tb drive to replace the dead drive to ensure no data loss. The 8tb parity drive hasn't been modified, so it should still have all the correct parity data.

 

1. Remove faulty drive from array
2. Use both my old 8th parity drive and new 14tb parity drive for dual parity

3. Rebuild parity

4. Replace the broken drive's slot with the 8tb drive

5. Rebuild 8tb data drive from parity, which is now using just the 14tb drive

 

Please let me know if you think this would work, or if I need a temporary drive to replace the dead one while I do a regular parity swap.

Link to comment
Posted (edited)

Exactly 1 drive has failed, the 2tb data drive. As far as i know, the original parity drive works fine and my new 14tb drive definitely works after 2 preclear cycles. The reason i'm doing a parity swap is because my new drive is larger than my old 8tb parity drive. I'll post diagnostics when i'm home later tonight. 

Edited by nrgbistro
Link to comment
25 minutes ago, JorgeB said:

So why were you doing a parity swap?

His Parity is 8 TB, but the drive he has to hand is 14 TB.

I think what he's asking is wether or not he can add the 14 TB in (to be 2nd parity for now), then once Parity rebuilt, remove Party 1 (the 8 TB) to replace the 2 TB failed drive?

Essentially, looks like he was going to swap the 8 TB Parity for a 14 TB, but whilst this was being planned, he had a drive failure (2 TB). Can't stick the 14 TB in to replace the failed drive.

Link to comment
30 minutes ago, JorgeB said:

Yes, but that doesn't explain why he was doing a parity swap without a failed drive, if he wanted to upgrade parity, he just needed to do a parity upgrade.

This makes sense - Parity Upgrade from 8TB to 14TB, and then replace the failed 2TB Drive with the spare 8TB

Link to comment
Posted (edited)
7 hours ago, siron1992 said:

Essentially, looks like he was going to swap the 8 TB Parity for a 14 TB, but whilst this was being planned, he had a drive failure (2 TB). Can't stick the 14 TB in to replace the failed drive.

This exactly describes what I'm trying to do. However, I may be confusing a parity swap with a parity upgrade, which i hadn't heard of before. Would you be able to explain the steps required for me to upgrade my parity drive while i'm missing one of my data drives? Ideally, I would essentially copy the old parity drive to the new drive, but I'm not exactly sure how I would do that using unraid. 

 

EDIT: After rereading the parity swap procedure, it seems to be exactly what I need to do. Would you be able to confirm that I can follow the steps outlined in the parity swap documentation to fix this problem? Specifically, step 13 where I copy data from my old parity drive to the newly assigned drive seems to be exactly what I need. 

 

EDIT 2: I've also just now realized that my parity drive may not be in sync because so ran the array without the parity drive installed since I didn't have enough data cables. I presume this means I'm screwed and need to start from scratch, since my parity drive won't match the data currently stored in my array. 

Edited by nrgbistro
Link to comment

Yes, parity swap is what you need now.

 

11 hours ago, nrgbistro said:

may not be in sync because so ran the array without the parity drive installed since

If that's true it will be at least a little out of sync, but it may be recoverable, did you write anything to the array without parity or just reads?

Link to comment
  • 2 weeks later...

So after all that, I think I've chalked this up to a bad cable and extremely poor timing. I've already done a new config, but I think my disks are all still functional and have my data on them. Can I safely add them to my array without losing my data?

Link to comment
54 minutes ago, nrgbistro said:

Can I safely add them to my array without losing my data?

As long as parity is not currently installed and valid, yes.

If the array has valid parity added disks will be cleared, which irretrievably erases them.

Tools, new config, preserve all will allow you to add the disks without erasing them and build parity with all the disks.

  • Thanks 1
Link to comment
21 hours ago, JonathanM said:

Tools, new config, preserve all will allow you to add the disks without erasing them and build parity with all the disks.

I've already done a new config and all my drives are listed as "New Device" now. Is it still safe to add them and start the array if I don't add a parity drive (temporarily, while I make sure my data is still here)?

Related question: I had an external hard drive added as a pool device for backups. If I add this drive back to the configuration and it says "New Device", will it add the drive as-is or format it? I want to make 100% sure that this data won't be wiped.

Link to comment
1 minute ago, nrgbistro said:

I've already done a new config and all my drives are listed as "New Device" now. Is it still safe to add them and start the array if I don't add a parity drive (temporarily, while I make sure my data is still here)?

Yes.

1 minute ago, nrgbistro said:

I had an external hard drive added as a pool device for backups.

What format does it have? You should be able to define a new pool and add it just as it was.

Link to comment
1 hour ago, JonathanM said:

What format does it have?

btrfs; the pool is still there, but I left it as unassigned just to be sure it wouldn't get overwritten. For my knowledge, are there any new config cases where disk data is overwritten, besides the previously mentioned case where I have a parity drive?

Edited by nrgbistro
Link to comment
/dev/sdi: PTTYPE="dos"
Disk /dev/sdi: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: ST2000DM008-2FR1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdi1          64 3907029167 3907029104  1.8T 83 Linux


That is very weird because I don't believe I did anything that would write over data or filesystem information on any of my disks. If recovery seems hopeless for this disk it isn't too big of a deal, I had most of my important information backed up to my external hard drive so I can restore pretty much everything. I am currently experienced very weird errors on my system, such as unreachable containers even though nothing appears wrong in the logs, unhealthy containers, etc. Could this disk issue be causing that, or is it more likely that some of my /appdata is partially corrupted since the disk isn't mounted?

Edited by nrgbistro
Link to comment
root@NRGServer:~# xfs_repair -n /dev/md4p1
Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!

attempting to find secondary superblock...
...found candidate secondary superblock...
unable to verify superblock, continuing...

Then a bunch of "."

......Sorry, could not find valid secondary superblock
Exiting now.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...