Pros and cons of a single server with raid1 vs two servers with send/recieve?

Hi folks,

I’m running out of storage on my rockstor server. Right now it’s raid1, and I’ve already purchased a couple of new drives to add to it.

However the thought also crossed my mind of putting the new drives into a second server (I have most of the other parts laying around already), setting it up do do nightly send/receive or some other form of sync, and making both servers use single/JBOD or maybe raid0. After the initial sync, I’d move the second server to my office and let it sync over the internet.

There’s an obvious benefit of having off-site backup - my data will now survive a house fire, etc, and I can see some additional value in having a server at my office to run rock-ons and whatnot.

I have a few questions, though, and I’d be interested in hearing other folk’s opinions and experiences before committing to this approach:

  • If a drive dies and gets replaced with a blank one, can BTRFS use the remote sync to intelligently restore just the missing data, or will I have to rebuild the pool from scratch?

  • I got the impression that btrfs sync is one-way, so to get two-way sync I’d need to have a “home share” and an “office share” with each one being effectively read-only on the other end?

  • If that’s the case, does anyone have any alternative recommendations for 2-way sync?

  • Would I need to purchase a second stable updates subscription for the second server?

It sounds like you’re attempting to use BTRFS as a Distributed filesystem, which is not the purpose of BTRFS.
The sync options are to allow for remote storage as a backup, not for realtime bidirectionally synchronized distribution between multiple locations.

For something like this, you’d be better off with something like Ceph, noting that Rockstor is not going to be your system of choice for this.