Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Guidelines for Array drive upgrade?

Featured Replies

As I get more familiar with how Unraid is different than Raid, I'm thinking about upgrade strategies.

For example, I would like to replace some of the drives in the array with larger drives over time. That is a nice feature of Unraid that the array doesn't have to be built from identical drives. I understand the Parity drive must be the largest of the array.

So what is the procedure to upgrade the capacity of an Array drive?

Upgrading Parity:

1) Stop Array, Spin down all disks.

2) Hot-swap the parity drive? Or completely power down the server first?

3) Re-start system, start array.

4) Wait a day or so for parity check to be complete. (last check was 23 hours)

Upgrading an Array Drive

While waiting for parity to update, can I copy data to the new Array drive?

Should I insert the new array drive in the server in a spare drive slot and set it up as an Unassigned Drive?

If so, I could SSH in as root and copy everything from the drive I'm replacing to the new drive.

Hmm - looking at /mnt, I don't see my currently unassigned drive - it does not mount by default. In Main, there is a Unassigned Disk Devices row, and there is a Mount button. It has no effect when clicked.

Below that there is a row with a function to edit mount point.. The current Disk Label is ZR714CKY

It says "Changing the Mount Point will also change the disk label on all disks and the pool name on a ZFS disk."

Finally, once I have the new drive ready, how do I install it in the array and ensure it is properly integrated and used in the array.

Should I attempt to copy data to the new drive, or just let the Array reconstruct it from Parity once the Parity process has completed, updating the parity disk from the old array drives? Presumably the data on the Array (or at least the replaced drive) would be unavailable during the parity reconstruction, and given that takes over 20 hours, that could be an logistics and operational issue.

If there is a "proper" way to upgrade a drive in an Array with minimum downtime? I'd be interested in learning more.

  • Community Expert
2 hours ago, timg11 said:

Stop Array, Spin down all disks.

Just need to stop the array, you can hot swap if your hardware supports it, then refresh main to see the new device.

2 hours ago, timg11 said:

While waiting for parity to update, can I copy data to the new Array drive?

You can but it will be extra slow, and slow slows down the parity sync, not recommended.

You don't need to use UD to replace array drives, just do a standard replacement.

  • Author

@JorgeB, thanks for reply. So by "Standard replacement" you mean stop array pull the sled for the old drive (T440 supports hot swap), upgrade the drive, re-insert sled, and start array?

I would do that twice. First replace parity drive, wait for parity to re-generate. Then replace data drive, and let array rebuild data drive from parity? No need for any copying of data?

During the entire 2 day process, the array data is available? Right after I replace the data drive in the array, I can start the array, and access data normally (maybe a bit slower) because it is computed "on the fly" from the parity drive?

I understand that protection would not be available for drive failures in the array until all the syncing is done.

  • Community Expert
1 hour ago, timg11 said:

So by "Standard replacement" you mean stop array pull the sled for the old drive (T440 supports hot swap), upgrade the drive, re-insert sled, and start array?

You need to assign the new drive before array start.

1 hour ago, timg11 said:

During the entire 2 day process, the array data is available? Right after I replace the data drive in the array, I can start the array, and access data normally (maybe a bit slower) because it is computed "on the fly" from the parity drive?

I understand that protection would not be available for drive failures in the array until all the syncing is done.

Correct

  • 1 month later...
  • Author

I have not performed this upgrade since I've been solving other issues.

I had another thought about the process, though.

Could I stop the array, install the new 24G drive, start the array and add the new drive as a 2nd parity? That would keep the existing 16G drive as a functional parity while the parity is generated on the new drive. Then when complete, I could remove the old parity drive or leave it installed but move it to Unassigned? Is it allowed to have a 16G parity drive at the same time as a 24G parity, as long as none of the array drives are larger than 16G?

I also learned something about the parity check process. It seems to pause if the array is busy with reading or writing from clients. A parity check was running today from the crashes yesterday. It was at 53.4% when I started copying about 200G of data to the array. That took a couple of hours. During the copy, the parity did not move from 53.4%. After the copy was done, it started increasing again. I presume this is by design to keep from slowing down the system during parity checks. It's good to know in the context of drive upgrades, though.

Edited by timg11

  • Community Expert
25 minutes ago, timg11 said:

Is it allowed to have a 16G parity drive at the same time as a 24G parity, as long as none of the array drives are larger than 16G?

Yes.

  • 2 weeks later...
  • Author

So I'm still working on this array drive upgrade, trying to minimize downtime and disruption.

I discovered that stopping the array is not a simple matter, and may require in a full reboot, or hours of waiting with the system unavailable.

So I'm trying to add these drives with the fewest times I need to stop the array.

My goal is to replace the parity drive and one of the array drives with 24T drives.

I now have 6 16T drives installed in 6 of the 8 bays in the T440. That is 1 for parity, 4 for array data, and one unassigned.

Phase 1 - first array stop:

1) Stop the array.

2) remove the unassigned 16T drive, replace it with a 24T drive into the sled, and insert back into server.

3) From Array configuration assign one of the new 24T drive as an additional parity drive.

4) Leave the other 24T drives as Unassigned.

5) Bring up Array.

Then I would wait 2 days until the 24T Parity drive has completed the parity check process. That would temporarily give me two parity drives.

Phase 2 - second array stop once Parity check is completed.

My next step would be logically replacing one of the 16T drives in the array with a 24T drive that was installed previously.

1) stop the array,

2) remove a 16T active data drive from the array,

3) add a 24T drive to the array, configure it as part of the array (how do I tell Unraid this is a replacement for the 16T drive I removed?)

4) Physically remove the 16T parity drive since the array will have a 24T drive in it a 16T parity is no longer possible. Install the 3rd 24T drive in that sled and leave as Unassigned.

5) Start the Array

6) Let Unraid update the 24T data drive based using the Parity (2 days)

Please advise if this is the proper process.

Would there be any time savings possible by copying data from one of the 16T array drives to the new 24T drive while it is unassigned and the parity check is underway on the new 24T parity drive? Would that data copied to the 24T when unassigned be usable by the array and reduce the copying needed from the parity once the 24T drive is part of the array?

At the end of this process I will have 3 24T drives and 3 16T drives installed in the T440.

The Unraid array will have 3 16T drives and 1 24T drive for data, 1 24T drive for parity, and 1 24T drive for unassigned.

Edited by timg11

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.