How to replace drive and switch from BTRFS to XFS?


Karyudo

Recommended Posts

How can I remove some smaller-capacity BTRFS drives and swap in some larger-capacity XFS drives?

 

I recently completed some parity drive upgrades, and I'd like to now use the two former parity drives as data drives, replacing two existing smaller-capacity data drives.

 

The wrinkle is that the two smaller-capacity drives are formatted BTRFS, so I'd imagine merely swapping drives and rebuilding from parity would result in the new drives being BTRFS, too. Not what I want: after I had a BTRFS drive write errors due to a flaky, not-completely-supported SATA controller, I was advised that XFS is still a safer/more robust format than BTRFS, so I'd like to take this opportunity to switch to XFS.

 

I'm guessing it's something like:

• stop array, remove BTRFS drive from configuration, add new XFS-formatted former parity drive as data drive to configuration, restart array

• mount BTRFS drive under Unassigned Devices

• use Krusader to copy data from UD-mounted BTRFS drive to array

...right?

 

Any insight or advice or admonishment is appreciated!

Link to comment
3 minutes ago, Karyudo said:

stop array, remove BTRFS drive from configuration, add new XFS-formatted former parity drive as data drive to configuration, restart array

Almost right. You have to let Unraid format the disk AFTER you add it to the array.

 

The rest should work assuming you have Krusader configured to work with Unassigned Devices.

Link to comment
9 minutes ago, Karyudo said:

stop array, remove BTRFS drive from configuration, add new XFS-formatted former parity drive as data drive to configuration, restart array

Actually, I think this needs further clarification. If you replace the btrfs drive, then Unraid will rebuild it to btrfs. Then you can reformat it to XFS after the rebuild.

 

Link to comment
23 minutes ago, trurl said:

...assuming you have Krusader configured to work with Unassigned Devices.

This sounds important, and I don't know how to make sure I've got it set up right.

 

Is there a quick summary someplace that would run me through the setup?

 

Or is there something better than Krusader that I should be using these days (that can handle UD)?

Link to comment

Just to clarify further on what you had in mind at the beginning.

42 minutes ago, Karyudo said:

remove BTRFS drive from configuration

To actually remove (instead of replace) a drive you have to New Config without the drive and rebuild parity without it.

 

42 minutes ago, Karyudo said:

add new XFS-formatted former parity drive as data drive to configuration

If you add a disk to a new data slot in an array that already has valid parity, Unraid must clear the disk so parity remains valid, unless the disk has already been precleared. A formatted disk is NOT a clear disk, so no point in formatting it before adding it since it would be cleared anyway and have to be formatted again.

 

So, as you can see, it is somewhat more complicated than your initial idea. Since Unraid is trying to keep all the disks in sync with parity you can't just remove, add, or replace them without rebuilding, either a data disk or parity.

 

If you are going to be doing multiple disks, you could just New Config to get all the disks you want in or out of the array at once, and rebuild parity. Then you could format any new (or former parity) disks as XFS, and proceed with copying the data from the removed btrfs disks as Unassigned Devices.

 

Tell us how you want to proceed, ask if you have questions. Probably a good idea to spell out exactly what you are going to do step-by-step, and let us give further advice on your planned steps.

Link to comment

OK, more detail...

 

I have four disks in my system right now:

2x 4TB array drive, BTRFS

2x 10TB former parity drives

 

I want to end up with those same drives in this configuration:

2x 10TB array drive, XFS

2x 4TB drives retired from system

 

Current parity is two 18TB drives, just rebuilt last week (one at a time) as I swapped out the 10TB drives. There is just over 6.5TB free in the array currently, with each of the 4TB drives at 3.69 TB full.

 

My plan would be:

1) Stop array. Use New Config to remove both 4TB BTRFS drives.

2) Restart array, and wait for parity to rebuild (about 40 hours). Not thrilled I'll be without any parity protection at all for nearly two days, but I guess that can't be helped.

3) Can I preclear the two 10TB former parity drives at the same time the parity is being rebuilt, while they're Unassigned Devices?

4) Stop array. Add both 10TB former parity drives as array drives. Format XFS.

5) Mount both removed 4TB BTRFS drives in UD.

6) Using Krusader (sorry, Midnight Commander: I think it's going to be easier to copy things to the right places with a GUI...) copy data from 4TB drives back into the array.

 

Seems tedious but not complicated. Unless I'm missing some finer point like, "do this important step at the beginning, otherwise several irreversible steps later you won't be able to do something crucial, and you'll lose a whole bunch of data."

 

Or has BTRFS matured enough that it's now at least as good a choice as XFS? If so, maybe I change my plans and just swap in the 10TB drives in place of the 4TB drives, and rebuild from parity...?

 

 

Link to comment

Ah, good to know! Thanks. And yeah, I guess that makes sense. Sort of collapses steps 1, 3, and 4, and saves a bunch of time.

 

I usually preclear new drives to fend off infant mortality, but considering the drives being added were until recently healthy parity drives, that shouldn't be an issue.

Link to comment

Yes... ish. There's important and irreplaceable, and then there's IMPORTANT AND IRREPLACEABLE. Personal photos and documents, hell yes I've got other backups! 40+ TB of Linux ISOs that are going to take forever to redownload? No—considering the size and fact they're technically replaceable, parity is my reasonable hedge against loss.

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.