Anyone an expert in Synology here?

Synology’s Hybrid Raid (SHR) is a funky little system, especially since it’s built on standard Linux tools.

What I’m wondering though, is how data is distributed when you change the disks in the system.

Imagine I have 2x1TB drives and 2x4TB drives in a system.

  • First it creates a 4x1TB “chunk” which is essentially RAID5. (3TB available)
  • Next it creates a 2x3TB chunk which acts like RAID1 (although internally may be calculated like a RAID5 parity.) (3TB available from this)

Now let’s say I replace those two 1TB drives with 4TBs (safely, preserving data, etc.), and tell SHR to expand to use the new drives. I can see a number of scenarios from this point:

  • It mirrors the two new blocks into another 3TB chunk, giving me 9TB total. (3 from RAID5, 3 from first mirror pair, 3 from second mirror pair)
  • It expands the 3TB mirror into a second RAID5 group, giving 12TB total. (3 initial plus 9 in the second group)
  • It does the same thing and also rewrites the data on the (former) 3TB mirror pair to be striped across all four disks
  • It expands the 3TB mirror to RAID5, *and merges it with the original 3TB RAID group, giving a single 12TB RAID5.
  • Again it does the same thing but with rewriting of the data that was formerly just mirrored.

This isn’t likely to be a huge deal, but I’d like to know how it works under the covers.