Migrating from custom NAS

I guess the answer should be fairly simple. Many years ago I created my own NAS using Tumbleweed Transactional server and a bare-metal btrfs RAID setup.

I’m now looking to nuke the SSD my transactional is on and install rockstor instead… So the question is: can I bring my btrfs raid with me? If not, can I still use the raid itself but leave the subvols in place until I migrate that data to new subvols that rockstor sets up?

@fluke Welcome to the Rockstor community forum

Possibly: our btrfs subsystem is that of openSUSE Leap 15.5/15.6 or TW (if you are more game) so there are now blockers there. But you may well have to use a base OS (installer profile) that is at least as new as your current TW. Sometimes btrfs that has run on a newer kernel/btrfs-progs doesn’t like to be mounted on an earlier one: but the reverse can be true also. You will likely be find though.

The other element is we have some restrictions on our Web-UI’s ability to understand a btrfs structure. We cannot have duplicate subvol names in a single system, and we only support subvols created at the top level. But given your current achievements to date you will likely be fine with modifying your structure so that Rockstor’s Web-UI shows up the subvols you want it to.

A quick way to get a feel for this is to try a Rockstor install in a VM and give it a little drive to create a data pool on. Then create one of our Shares (btrfs top-level subvol) then you can look via the command line to see if that is how you did your own btrfs vol (Pool in Rockstor speak) layout.

OK, that could be a show-stopper. I had assumed in the above that you were using pure btrfs. We do. If you have used mdraid under your btrfs you are not benefittin fully from the flexibility of btrfs as the disk manager. Again you can see what we do by experimenting. Our very strongly recommended use btrfs volumes created using raw drives. You may well have created partitions first: this is another incompatibility/fragility layer we skip entirely: but we can support btrfs in partition: but only one btfs formatted partition per drive. And we can import from such an arrangement: given all of the above limits.

But if you have mdraid under your btrfs volume the you are out-of-luck: this weakens btrfs’s repair capability and we support no raid under the btrfs volume members. Let us know your arrangement. It may be you will have to back-up and restore to a structure that is first created by our Web-UI.

Keep us updated as we get a number of folks who have previously run their own DIY btrfs NAS arrangements: but again, MDRAID or hardware raid is not how we do things. We use bare un-partitioned drives as our much preferred pool device members. This keeps things as simple as possible with the absolute minimum of layers. It is then btrfs all the way down to the hardware.

But note that although our Web-UI may well get confused, our underlying OS is Leap 15.5/15.6 or TW and is entirely as per upstream. We just run a subset of packages from their repos and build our installers thus:

pre-build installers available via our downloads page.

Hope that helps.


Thanks for the detail. I am using pure btrfs yes. I think I will use two of my drives for a full backup before I attempt shenanigans.


Turns out I could import the whole lot without issues. Perfect.

Now, if only python wasn’t so easy to create a mess in.