On the Mac, what if Disk Utility is used to mirror two hard drives, one is 1.5TB, and the other is 2TB?
In this situation, I recommend using disk utility to partition the larger drive such that one partition matches the size of the smaller drive.  Then setup the partitions of the same size as a RAID1.  You will end up with a mirrored partition of 1.5TB and another un-mirrored partition of 0.5TB based on your first example.

Same thing will work for a 2TB + 3TB drive, but the mirrored/un-mirrored partitions will be 2TB and 1TB, respectively. Brand won't matter and you can use disk utility to find the exact sizes.