On Sun, Mar 14, 2010 at 23:26, rj <ratnadeep@xxxxxxxxx> wrote: > Hi, > > How does MD RAID0 layer support disks with different sizes? > 1. Does it take the size of smallest disk and do the striping > accordingly? This way there would be wastage of space in bigger > disks. > Or > 2. Does it stripe across all the space of disks? This way, if striping > is not possible for a disk because it has exhausted the space, > striping will continue or remaining devices (although with > compromising performance for these stripes because they have one disk > less). > > What approach md chooses? Also, what approach is taken for RAID5 in such cases? > MD RAID0 follows #2; 4/5/6 follow #1. From the man page for md: RAID0 <snip> If devices in the array are not all the same size, then once the small‐ est device has been exhausted, the RAID0 driver starts collecting chunks into smaller stripes that only span the drives which still have remaining space. RAID1 <snip> All devices in a RAID1 array should be the same size. If they are not, then only the amount of space available on the smallest device is used (any extra space on other devices is wasted). <snip> RAID4 <snip> Unlike RAID0, RAID4 also requires that all stripes span all drives, so extra space on devices that are larger than the smallest is wasted. <snip> My understanding is that this is why MD RAID0 does not yet support --grow, while MD RAID456 does - since they take different striping approaches, it's much harder to reuse the --grow algorithm. Good luck, Conway S. Smith -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html