Migrate from Centos 8 with large MDADM and LVM


I have a home storage system running on Centos 8 with LVM and MDADM drives - the largest one is 7 x 8TB drive in RAID6.

This has served me well over the years - but with the recent Centos issues i have made the decision to move on.

I make extensive us of Docker but it looks like Rockstor has that covered so no issue there.

My biggest concern is the disk migration - ultimately i would like to end up on BTRFS - but do not have a spare 40tb of disk sitting around so will have to migrate over time.

My thought would be

  1. Setup Rockstor on a boot SSD
  2. Import my MDADM/LVM drives (question 1 is Rockstor ok with the RAID/LVM ? even if i have to do it all from the command line no biggie
  3. Add 4 x spare 6TB drives as a BTRFS Drive Pool (equivalent of RAID 6 - so 12TB of space)
  4. migrate so discrete data from the LVM set to the BTRFS drives, then shrink the RAID/LVM by one drive, move the 8TB drive across to the BTRFS pool (does it support a mixture of drive sizes and just uses the smallest size/partition amount - i have read the WIKI re using the whole drives without the complication partitions etc so how would this work)
  5. repeat step 5 above until all my 8TB drives are in the pool and then decrease the pool size (can BTRFS do this ?) until i have freed up all the 6TB drives and remove the from the box
  6. Does Rockstor have huge memory requirements ? Currently running with 16GB RAM only
  7. in the past as i needed more disk space i would just purchase a new drive at least the same size as the biggest drive in the array (sometimes larger depending on what was economical at the time) and then expand the RAID set, then the LVM and then the FS on top of that) - i would do this by partitioning the new drive into two seperate partitions - one the same size as the other RAID members and the remainder into another RAID set) Is this something i can do on an ongoing basis in Rockstor (which has turned me off ZFS as an option as it appears to be all or nothing there with growing arrays etc.


1 Like

Welcome @curto , that’s an interesting post! I have some thoughts…

Step 1: Setup Rockstor on a boot SSD - yes that’s ideal and exactly what I have done
Steps 2 to 5: Not sure how the Rockstor GUI will handle non-BTRFS drives/pools. You could possibly mount the existing array in the underlying OS with CLI, and copy data across from there, a drive at a time, then resize existing array down as you work through your disks. It’s not something I’ve tried so hopefully someone with experience will chip in here.

Just a note on the OS: the only current installer is Rockstor v3-something, and is based on CentOS. A new version of Rockstor is tantalisingly close to release: there are a few activities that need to be completed in the background before this is released into the wild.

However, it is possible to build your own v4 installer from the current beta (v4.0.5) and this is based on OpenSUSE Leap 15.2, which is the future of Rockstor.

There is a great thread here:

Can BTRFS handle different drive sizes? Yes it can - there is a handy online space calculator here which I’ve used:

A note of caution as you refer to Raid6 in your post. I don’t believe that Raid5 and 6 are yet considered production stable in BTRFS - there’s plenty of discussion on the web around this, however some of what i have seen appears to be more scaremongering, but I thought I should highlight it anyway. I have used Raid0, 1 and 10 successfully. If you haven’t already done so, there is a lot of interesting stuff online explaining how BTRFS does it’s raid thing - its different to the traditional multi-drive mirror raid (eg raid1 with 3 drives), but with the same end-result (but much more flexible).

Memory Requirements: I dont think Rockstor has excessive memory requirements. I run with a puny 8GB no problem. Without any Rock-ons (docker containers) running, I see typically <10% memory used with most of the rest as buffer/cache, and a few percent truly free:

Rock-ons will increase that memory usage, but I’d say 16GB is easily more than sufficient.

One other thing is that adding and removing drives to/from a BTRFS pool can be done with the NAS still online: each time this is done Rockstor runs the ‘balance’ which can be time consuming depending on how much data is in question, but better than having the appliance offline.

If I think of anything else, I will come back.




Hey Geoff - thanks for taking the time to answer this one.

I may wait a little longer as the box in question is my main storage system in the house and also runs nearly all my docker containers.

As the 4 x 6TB drives i would be using as “donor” space come from my backup server - i would not have any backups of this media (most of which is downloaded TV series etc)

I will continue to do a little more investigation and might fire up some Virtual machine and play with them to get comfortable



Yeah - I spent a lot of time in Virtualbox trying and testing things before making the leap (opensuse pun intended lol).
Good luck!

1 Like