Jump to content
cholzer

Best pratice to replace a still working data drive with a larger one?

55 posts in this topic Last Reply

Recommended Posts

Hello everyone!

 

I am running 6.3.5 with:

  • cache: 120GB SSD
  • Parity: 8TB
  • Data1: 6TB
  • Data2: 6TB
  • Data3: 6TB

 

During the next 6 months I want to replace all data drives with 8TB models, and I will start with Data1 this week.

 

If I just replace the drive and let the array rebuild then I can't use the NAS until the array has been rebuilt, right?

 

So my question now is, what is the best practice to do this with minimal downtime?

 

Thanks in advance! :)

Share this post


Link to post

You CAN use the array while a disk is being rebuilt as the missing disk is emulated by the combination of the other disks plus parity.   However you will notice performance degradation - the amount being dependant on your hardware.    Many users prefer to not use the array while a disk is being rebuilt but that is a personal preference and not mandated by unRAID.

Share this post


Link to post
23 minutes ago, itimpi said:

You CAN use the array while a disk is being rebuilt as the missing disk is emulated by the combination of the other disks plus parity.   However you will notice performance degradation - the amount being dependant on your hardware.    Many users prefer to not use the array while a disk is being rebuilt but that is a personal preference and not mandated by unRAID.


Thanks itimpi!

 

I thought that I can't use the array during the rebuild as writing new files on the array would change the parity which is required for the rebuild.

Good to know that this is not the case!

 

So best practice is to just remove the 6TB drive, put in the 8TB drive and rebuild?

Share this post


Link to post
13 minutes ago, cholzer said:

So best practice is to just remove the 6TB drive, put in the 8TB drive and rebuild?

 

Yes

Share this post


Link to post

Here's what I do when I replace a data drive:

1. Run a parity check first before doing anything else

2. Set the mover to not run by changing it to a date well into the future. This will need to be undone after the array has been recovered.

3. Take a screenshot of the state of the array so that you have a record of the disk assignments

4. Ensure that any dockers which write directly to the array are NOT set to auto start

5. Set the array to not autostart

6 Stop all dockers

7. Stop the array

8. Unassign the OLD drive (ie: the one being replaced)

9. Power down server

10. Install the new drive

11. Power on the server

12. Assign the NEW drive into the slot where the old drive was removed

13. Put a tick in the Yes I want to do this  box and click start. 

 

The array will then rebuild onto the new disk. Dockers that don't write directly to the array can be restarted.

 

When the rebuild is complete, the mover, docker and array auto start configuration can be returned to their normal settings.

 

NOTE: You CAN write to the array during a rebuild operation, but I elect not to do so, to ensure my parity remains untouched for the duration of the recovery. Reading from the array is fine as the device contents are emulated whilst the drive is being rebuilt.

Edited by PeteB
  • Like 2
  • Thanks 2

Share this post


Link to post
6 hours ago, PeteB said:

Here's what I do when I replace a data drive:

1. Run a parity check first before doing anything else

2. Set the mover to not run by changing it to a date well into the future. This will need to be undone after the array has been recovered.

3. Take a screenshot of the state of the array so that you have a record of the disk assignments

4. Ensure that any dockers which write directly to the array are NOT set to auto start

5. Set the array to not autostart

6 Stop all dockers

7. Stop the array

8. Unassign the OLD drive (ie: the one being replaced)

9. Power down server

10. Install the new drive

11. Power on the server

12. Assign the NEW drive into the slot where the old drive was removed

13. Put a tick in the Yes I want to do this  box and click start. 

 

The array will then rebuild onto the new disk. Dockers that don't write directly to the array can be restarted.

 

When the rebuild is complete, the mover, docker and array auto start configuration can be returned to their normal settings.

 

NOTE: You CAN write to the array during a rebuild operation, but I elect not to do so, to ensure my parity remains untouched for the duration of the recovery. Reading from the array is fine as the device contents are emulated whilst the drive is being rebuilt.

 

Thank you for the very detailed explanation! I will follow it to the letter! :D

Share this post


Link to post
Rebuild worked like a charm, thanks a lot!
Glad tp hear it went well

Sent from my SM-N920I using Tapatalk

Share this post


Link to post
On 4/9/2018 at 11:35 PM, cholzer said:

 

Thank you for the very detailed explanation! I will follow it to the letter! :D

Does Plex constitute as a docker that writes directly to the array?

Share this post


Link to post
3 hours ago, ptcadoc said:

Does Plex constitute as a docker that writes directly to the array?

Depends on how you have docker and plex configured. Is your appdata and system shares all on cache? Where is plex transcoding? Do you DVR with plex?

Share this post


Link to post
4 hours ago, trurl said:

Depends on how you have docker and plex configured. Is your appdata and system shares all on cache? Where is plex transcoding? Do you DVR with plex?

Thanks for the reply.  Appdata and system shares are on cache.  Don't know where Plex is transcoding (naïve here ...... how may I find that out?).  Don't have DVR with Plex.  Many thanks in advance.

Share this post


Link to post
14 minutes ago, ptcadoc said:

Don't know where Plex is transcoding

By default plex transcodes to a subfolder of its library, which would normally be in appdata. Which plex docker are you using?

Share this post


Link to post

Is there any reason why the array needs to be taken down and the server powered down in a hot-swap capable device? Can I not simply remove the old drive and replace it with the new drive while the array is still running?

 

-- 

Chris

Edited by bidmead

Share this post


Link to post
2 hours ago, bidmead said:

Is there any reason why the array needs to be taken down and the server powered down in a hot-swap capable device? Can I not simply remove the old drive and replace it with the new drive while the array is still running?

 

-- 

Chris

You probably do not need to power down, but Unraid is not hot-swap aware and it will not let you change any Disk assignments with the array started.

Share this post


Link to post
8 minutes ago, itimpi said:

You probably do not need to power down, but Unraid is not hot-swap aware and it will not let you change any Disk assignments with the array started.

As I've just discovered. Thanks. Yes, the problem is that the WebGUI MAIN page you need to do the necessary reassignment is only available when the array is spun down. This strikes me as design logic that might be improvable in future versions of UnRAID, unless there's a good reason why UnRAID can't handle full hotswapping.

 

I was keen to avoid spin-down as I'm at the end of my UnRAID trial period, awaiting my registration code. But I suppose this is a good opportunity to try out the trial extension scheme.

 

-- 

Chris 

Share this post


Link to post

Ah, interesting development here. It seems you can't apply to extend the trial while the array is still running. I've stopped the array and have successfully extended the trial, apparently---registration says I now have 14 days remaining.

 

However...

 

I can no longer restart the array. Every (many) times I've tried I get the message: Array stopped: start error.

 

According to the log there are "too many missing disks". The disks I've been using, however, including the parity disk, are all installed and lit up.

 

Worst case: I'd be happy to start afresh. But I'm not clear how to factory reset UnRAID. Any ideas on what best to do next would be welcome.

 

-- 

Chris

 

 

Share this post


Link to post
18 minutes ago, bidmead said:

what best to do next

Go to Tools - Diagnostics and attach the complete Diagnostics ZIP file to your NEXT post in this thread.

Share this post


Link to post

Further info: It seems that a second 18TB data drive that was previously unassigned but that I'd precleared in preparation for adding to the array as another data drive is now turning up in place of the parity drive. The real parity drive is nowhere to be seen on the system even though it hasn't been physically moved.

 

So apparently I need to find a way for UnRAID to find this parity drive and then reassign it to parity slot 1. And then unassign that second 18TB data drive. The first 18TB data drive is recognised in its correct place as Disk 1 and greenballed.

 

I can visualise an instinctive path forward through this but I'm happy to wait for solid info from folks who know.  Indeed, it was an instinctive path forward that got me into this start error mess...

 

--  

Chris

 

 

Edited by bidmead
syntax adjustment

Share this post


Link to post

I can only see 2 18TB disks being seen by the system, so something strange is going on as according to you there should be 3.   It might be worth power-cycling the server to see if all 3 18TB droves then appear.

Share this post


Link to post

Looks like you have the wrong drive assigned as parity, as you mentioned, and disk2 is disabled. Since you can't replace parity while you have a disabled data disk then that is why you get that message.

 

Share this post


Link to post

Looks like parity is supposed to be

ST18000NM000J-2TV103_ZR50441Q

but that appears nowhere in syslog or SMART

Share this post


Link to post

Yes, that's right. The parity drive is an 18TB Exos.

 

*>>embarrassment<<* Ah, wait. Oh, sorry, guys---I clearly have no idea what I'm doing. UnRAID is exactly right and I'm totally wrong. The Exos drive has been sitting here on my desk all along. I pulled what I thought was the unassigned 18TB IronWolf Pro to photograph it. But somehow it's the Exos.

 

I plead senility. And apologise to trurl and itimpi for wasting their time. Still, we've all learnt something. Me, that UnRAID is semi-hotswappable but you'd better know where those drives are going, and trurl and itimpi that bidmead may well be past his sell-by date.

 

LATER THAT SAME AFTERNOON

 

The drives are all back in their right places and the array is now running. The main lesson I've learnt here is that UnRAID groks UnRAID far better than I do at the moment. But with its help and the help of you good guys in the community (assuming you're still speaking to me) I'm on track to learn more.

 

It only remains to clear up the issue with the Maxtor drive, which I'd previously pulled to investigate emulation during absence (which worked very impressively. I'd created a Veracrypt disk image on it which mounted easily with the drive absent and decrypted on the fly and played its multimedia content flawlessly).

 

The Maxstor is now back in place, but UnRAID still thinks it has to emulate it and it's marked as such. I'm wondering how I can help UnRAID appreciate that this drive really has come home. The hardware assures me that its powered, but there's no evidence of disk activity.

 

-- 

Chris

 

Share this post


Link to post

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.