Replacing a hard disk with a twist


Cem

Recommended Posts

Hey everyone,

First of all, I am fairly new to Unraid so I might write something that is not very accurate or true by mistake. Please excuse me if this happens.

When I first built my Unraid server I assigned an SSD to "Disk 1" but soon realized I made a mistake and unassigned it. It has been empty ever since. I have 3 x 3 TB WD Red hard disks on "Disk 2", "Disk 3" and "Disk 4" and a 6 TB Seagate Compute as my parity disk. The disk on Disk 3 has been giving read errors so I want to change that drive but the problem is because I don't have a drive assigned to Disk 1, Unraid is not letting me to replace the failing disk. I don't have that much data on the failing disk (Disk 3) but still I don't want to loose any of them. I have enough free space on other disks to move all the data on Disk 3 to them but I have no idea how to do this. I searched quite a number of different topics but nothing seems to help me out. If anyone has any information about this, I would be incredibly grateful.

Thank you very much for everyone who took their time to read this.

Best wishes and stay safe...

Link to comment

No, I am just trying to get an idea of the best approach that won't be a big learning curve for you.

 

You can't replace / rebuild disk3 to a new disk because parity plus all other disks are required to calculate the data for the rebuild, and you have another disk missing already.

 

I am not sure how bad disk3 is. Probably it isn't even showing SMART warnings on the Dashboard, but SMART attribute 1 is not monitored by default and it is important for WD Reds.

 

What made you think it needs replacing?

Link to comment

It has been giving errors for the past week but I wanted to monitor it just a little bit more and yesterday I saw that it has over 2000 errors and bought a new WD Red 4 TB. If you think it would make everything easier, I can buy a cheaper/low-capacity drive to install to Disk 1. Then I am guessing I can just replace Disk 3. The only concern I have right now is, if I assign a new disk to Disk 1 then I would have to do a parity check and if Disk 3 fails completely while doing that I will loose all my data. At least I think that. Might not be true at all

Link to comment
2 minutes ago, Cem said:

If you think it would make everything easier, I can buy a cheaper/low-capacity drive to install to Disk 1.

Just any disk put in for disk1 won't help at all. In order to calculate the correct data for disk3 rebuild, it must have all the data from all the disks the parity was built with.

Link to comment

Your parity hasn't been valid since you removed that disk1.

 

How much data is on disk3 currently? Instead of trying to move it to other disks in the (already compromised) array, it might be safer to just copy it to your PC over the network. Then we can work on getting your array back to valid parity without the missing disk.

Link to comment

Around 400 GB is on disk3 and there is enough space on other disks to move this 400 GB. I can access to the files in disk3 using SFTP from my Mac under /mnt/disk3 . Can I just move all the files from there? Just as extra information: there are 10 shares in total, 7 of which have data on disk3. 

Link to comment
12 hours ago, Cem said:

there is enough space on other disks to move this 400 GB

Normally I don't recommend this, but how do you propose to move files from disk3 to other disks in the array? I know how I would do it directly on the server but I am wondering if you know how to do that.

Link to comment
12 hours ago, Cem said:

I can access to the files in disk3 using SFTP from my Mac under /mnt/disk3

Or is this what you had in mind, using SFTP to also send files to the destination disks?

 

It would be a round trip over the network from the server to your PC and back so it might be slower than doing it directly on the server, but if that is something you are comfortable with then it might be faster than learning another way.

 

The main reason I don't like for people to shuffle data to other disks on the server is because they are usually thinking about a disk that has already failed and is being emulated by all the other disks and all the other disks have to be read to get that data for the failed disk.

 

But, in your case, the "failed" disk is actually the missing disk1, and you aren't trying to get any data from that, so no emulation involved.

 

And since your parity is invalid anyway, it might make things faster if you just unassign parity for now.

 

Sorry for the long delay in responding but life gets in the way sometimes, even for us forum junkies.

Link to comment

If you would rather take the approach of learning new ways to do things, we could consider rebuilding parity first without disk1 and disk3. That would get the rest of your array back to a protected state and we could even change the disk assignments so to fill the gap of the missing disk1 and put that new disk in all at the same time. Then we could use Unassigned Devices to get the data off that disk currently assigned as disk3.

 

Something I maybe should have asked before now. Do you have backups of anything important and irreplaceable?

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.