Looking for confirmation that I can do the following setup


I’m looking to build my first NAS ever, and I think Rockstor is the distro for me. I currently have a workstation with lots of drives and a bunch of external drives, and my data storage needs fall into various categories, like things that must be mirrored (hundreds of thousands of raw photos) and things that don’t need to (tv shows, movies)

I’m starting the system with 4 drives (not counting the USB stick that will house the OS)

  1. 2TB SATA that will have an offline mirror (this is for archival photos)
  2. 4TB SATA this will form part of my pools 1, 2 and 3
  3. 1.5TB SATA this will form part of pool 2
  4. 0.5TB SATA this will form part of pool 3

#1 -> First Question
Can I have a mirrored pool 1 that is 1.5TB and lives on drive 2 and 3?
Can I have a mirrored pool 2 that is 0.5GB and lives on drive 2 and 4?
Can I have a non-mirrored pool 3 that is on drive 2?

* drive 2 * drive 3 *
* 1.5TB   * 1.5TB   *
* mirror->*<-mirror *
* drive 2 * drive 4 *
* 0.5TB   * 0.5TB   *
* mirror->*<-mirror *
* drive 2 *
* 2TB     *
* no-mir  *

#2 -> next question
drive 3 and 4 have data on them, as do other drives in my old system. All this data will eventually be moved onto my shinny new 4TB drive and it’s pool mirrors.
Can I do the following?:

  1. Build my system with just the USB drive and the 4TB drive
  2. Partition the 4TB drive into the sizes for the 3 pools
  3. Transfer the data from the old computer and other drive onto the 4TB drive
  4. Then wipe the old drives (3 and 4) and install them into the NAS
  5. Add the newly installed drives 3 and 4 to the pools I previously made on drive 2 (the 4TB drive)
  6. Then have the pools mirror the content to the new drives


I know this all sounds complicated, and it would just be easier to buy a few shinny new 4TB drives and make a proper Raid10 system, but I’m a bit money poor right now, so I’m trying to work with what I’ve got.

Thanks for you help and advice

As far as I know, you can setup your pools like you are asking via the command line. But it’s just messy using partitions like that.

You may play around with the btrfs calculator here --> http://carfax.org.uk/btrfs-usage/ to give you more of an idea of what’s possible. IE; all your drives in a raid1 pool.

Thanks for the link… but is this really how btrfs’s round-robin-scheme works? Then I’m a little disappointed in it’s capability of mixing different drive sizes, basically in all raid levels except for raid1, which works as I’d expect.

In what way are you disappointed?

Well, for instance in Raid5- if you have one larger device you will never succeed in using its full capacity- regardless of how many devices you use, there will always be an unused portion. I don’t get why it has to be that way… same in raid0, which is a little bit more intuitive to explain: If I have three disks in raid0: 1,2,3 TB - I’d expect btrfs to use the full 6TB. According to the calculator it doesn’t. You always need the largest disk twice to use the full capacity.

Compared to traditional raid5, you’d only get the capacity of the smallest drive times number of drives. Seems pretty reasonable to me. Plus you can add/remove drives to plan your capacity increase. Grab another 4tb drive down the road.

Yeah, you’re probably right. I kind of realised that raid0 is basically JUST about performance, and while mathematically possible, one is apparently simply not interested in using all the available space but rather uses all the available speed, hence the aforementioned distribution. Personally, I was just more interested in the (raid5) storage while having some redundancy, so my expectation was way off as I mentioned already in another thread earlier.

EDIT: After thinking about it that way, I saw that you can switch your minimum data strips to 1 and voila- full capacity available. And for raid5 it might actually not be possible to optimize it. Well, you learn something new every day :smile:

Sorry for pignapping your thread @pignapper… I am sure your reasoning is sound, but you’ll have a hard time using rockstor for that, since it won’t allow you to just use parts (partitions) of your drives but instead always uses complete disks to build pools. You can of course do all that on the terminal as baggar said, but you’ll lose more then you’d gain I guess. I am in the process of migrating my data as well and ran into problems balancing my drives. Still not sure about the root issue though. You’d have to balance your pools as well after adding disks.