Re: striping 2x500G to mirror 1x1T

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello David,
what you propose here should work, but be aware that you are essentially first writing all data to the 2 smaller drives and then reading from them only when the mirror 1 TB disk gets added. If there are bad sectors that only gets dicovered while reading (not writing), you might lose data. A much cleaner way would be to make a backup of your data disk and then first crate the array with all disks, then write the data back from your backup once the disks are in sync. You should definitely make a backup or you could potentially lose data when creating this array.

I don't see the benefit of striping in your setup, by the way. For the two smaller disks it might seem that this is beneficial for performance, but since every write also needs to be made on the mirror, this will essentially lead to your read/write head moving back and forth a lot, no? Because if you write four consecutive chunks C1-C4 on the striped side, two of these would be written to each smaller disk. And on the 1 TB disk side this would mean writing the sectors with only one read/write head, each around 500GB apart from each other, and in a back and worth fashion (although that might be optimized by queuing). So your write performance could actually be *worse* than on a single drive, and definitely not gain the 2x speed benefit of striping. For read performance you might be okay, but nevertheless put unneccessary mechanical wear on your 1 TB drive.

[C1 C3 ....] 500GB-1      [C2 C4 ....] 500GB-2
[C1 C3 ... (500G space)  C2 C4 ....] 1TB

At least that's my understanding, someone correct me if I'm wrong and mdadm handles such setups more intelligently (i.e. by laying out the chunks completely linearly on the 1TB disk instead of 1-to-1 "mirroring" the chunks on the 2x500G RAID0). If you think I'm correct, then instead of striping I would just use linear mode on the 500GB disks to pool them into one large volume, and thus essentially get Raid1 speed benefits of double read performance compared to a single drive. This has the downside of putting very different wear on the two 500GB volumes, of course.

Best regards,
Natanji

Am 05.03.2022 um 05:47 schrieb David T-G:
Hi, all --

I have a 1T data drive (currently in use with data) that I'd like to
mirror with a pair of 500G drives striped together.  I'll be mirroring
two partitions, and I'll be striping partitions to ensure the correct
size, and my understanding is that I'll have to create the mirror on the
two new drives with half missing, mount it up, copy over the data, dump
the original disk, and add it as the other half of the mirror to sync.
If I've missed anything there, please let me know, but all of that
matches my Googling and I don't think I have any questions.

What I do wonder, and what I don't see in any searches since apparently
nobody talks about striping up half of a mirror, is if I should do
anything special with my two-disk RAID0 stripe.  I was gobsmacked at
the simplicity of RAID10 on only two drives by splitting each in half
and "flipping" one to maximize head movement performance.  Awesome! :-)
Are there any brilliant hacks for simple striping?  If I'm just putting
together two [not terribly large] disks, will I benefit from any other
funny stuff, or should I just stripe together two partitions -- each
half the size of my other drive, of course -- to make a "boring basic"
stripe and run with that?


TIA & HANW

:-D



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux