> From: Phil Harman <phil.har...@gmail.com> > Date: Tue, 10 Aug 2010 09:24:52 +0100 > To: Ian Collins <i...@ianshome.com> > Cc: Terry Hull <t...@nrg-inc.com>, "zfs-discuss@opensolaris.org" > <zfs-discuss@opensolaris.org> > Subject: Re: [zfs-discuss] RAID Z stripes > > On 10 Aug 2010, at 08:49, Ian Collins <i...@ianshome.com> wrote: > >> On 08/10/10 06:21 PM, Terry Hull wrote: >>> I am wanting to build a server with 16 - 1TB drives with 2 8 dri >>> ve RAID Z2 arrays striped together. However, I would like the capa >>> bility of adding additional stripes of 2TB drives in the future. W >>> ill this be a problem? I thought I read it is best to keep the str >>> ipes the same width and was planning to do that, but I was wonderi >>> ng about using drives of different sizes. These drives would all b >>> e in a single pool. >>> >> It would work, but you run the risk of the smaller drives becoming >> full and all new writes doing to the bigger vdev. So while usable, >> performance would suffer. > > Almost by definition, the 1TB drives are likely to be getting full > when the new drives are added (presumably because of running out of > space). > > Performance can only be said to suffer relative to a new pool built > entirely with drives of the same size. Even if he added 8x 2TB drives > in a RAIDZ3 config it is hard to predict what the performance gap will > be (on the one hand: RAIDZ3 vs RAIDZ2, on the other: an empty group vs > an almost full, presumably fragmented, group). > >> One option would be to add 2TB drives as 5 drive raidz3 vdevs. That >> way your vdevs would be approximately the same size and you would >> have the optimum redundancy for the 2TB drives. > > I think you meant 6, but I don't see a good reason for matching the > group sizes. I'm for RAIDZ3, but I don't see much logic in mixing > groups of 6+2 x 1TB and 3+3 x 2TB in the same pool (in one group I > appear to care most about maximising space, in the other I'm > maximising availability) > > The other issue is that of hot spares. In a pool of mixed size drives > you either waste array slots (by having spares of different sizes) or > plan to have unavailable space when small drives are replaced by large > ones.
So do I understand correctly that really the "Right" thing to do is to build a pool not only with a consistent strip width, but also to build it with drives on only one size? It also sounds like from a practical point of view that building the pool full-sized is the best policy so that the data can be spread relatively uniformly across all the drives from the very beginning. In my case, I think what I will do is to start with the 16 drives in a single pool and when I need more space, I'll create a new pool and manually move the some of the existing data to the new pool to spread the IO load. The other issue here seems to be RAIDZ2 vs RAIDZ3. I assume there is not a significant performance difference between the two for most loads, but rather I choose between them based on how badly I want the array to stay intact. - Terry _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss