Hi all, I have a D1000 array that I will use with ZFS. The array contains a pair of 36 GB disks, two pairs of 18 GB disks, and two pairs of 9 GB disks. My initial thoughts are to combine this lot together as one pool of mirrored disks (each pair is in its own half of the D1000, which has dual SCSI busses). SO far, so good. But what would happen if/when the time comes to upgrade the smaller disks to 36 GBers? Assuming there''s enough free capacity in the pool, can I remove one pair of disks at a time, replacing them with the bigger ones? In a way, I guess I am also asking if it is possible to remove a disk or disks from a pool? TIA, -- Rich Teer, SCNA, SCSA, OpenSolaris CAB member President, Rite Online Inc. Voice: +1 (250) 979-1638 URL: http://www.rite-group.com/rich
On Tue, Apr 04, 2006 at 03:25:10PM -0700, Rich Teer wrote:> Hi all, > > I have a D1000 array that I will use with ZFS. The array contains > a pair of 36 GB disks, two pairs of 18 GB disks, and two pairs of > 9 GB disks. My initial thoughts are to combine this lot together > as one pool of mirrored disks (each pair is in its own half of the > D1000, which has dual SCSI busses). > > SO far, so good. But what would happen if/when the time comes to > upgrade the smaller disks to 36 GBers? Assuming there''s enough > free capacity in the pool, can I remove one pair of disks at a time, > replacing them with the bigger ones? In a way, I guess I am also > asking if it is possible to remove a disk or disks from a pool?there is no way (yet) to remove a disk from a pool, but upgrading disks to larger sizes is supported and "just works". just replace each side of a mirror in turn with a larger disk, wait for it to resilver, and when all sides of a given mirror have been upgraded to larger disks, the total space in the pool increases by what you''ve added. :) grant.
On 4/4/06, grant beattie <grant at grunta.com> wrote:> just replace each side of a mirror in turn with a larger disk, wait > for it to resilver, and when all sides of a given mirror have been > upgraded to larger disks, the total space in the pool increases by > what you''ve added. :)How does this process work if I am doing a storage migration where I am using various arrays to provide the redundancy? Today with VxVM, I add a mirror to the new storage, then remove the mirror from the old storage. Can I use zpool replace even if what I am replacing is perfectly healthy? Mike -- Mike Gerdts http://mgerdts.blogspot.com/
On Tue, Apr 04, 2006 at 08:14:51PM -0500, Mike Gerdts wrote:> On 4/4/06, grant beattie <grant at grunta.com> wrote: > > just replace each side of a mirror in turn with a larger disk, wait > > for it to resilver, and when all sides of a given mirror have been > > upgraded to larger disks, the total space in the pool increases by > > what you''ve added. :) > > How does this process work if I am doing a storage migration where I > am using various arrays to provide the redundancy? Today with VxVM, > I add a mirror to the new storage, then remove the mirror from the old > storage. Can I use zpool replace even if what I am replacing is > perfectly healthy?yep :) if you are paranoid, you might want to add a 3rd side to the mirror before detaching any component so you always have two copies of the data. with here I create a mirror of two 18gb disks: # zpool create test mirror c0t0d0 c0t1d0 # zpool status pool: test state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 errors: No known data errors .. and replace one with a 36gb: # zpool replace test c0t1d0 c1t1d0 # zpool status pool: test state: ONLINE scrub: resilver completed with 0 errors on Wed Apr 5 11:22:12 2006 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 replacing ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 34K resilvered errors: No known data errors # zpool status pool: test state: ONLINE scrub: resilver completed with 0 errors on Wed Apr 5 11:22:12 2006 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 34K resilvered errors: No known data errors I don''t have another unused 36gb handy, but to demonstrate I can just detach the original 18gb disk.. # zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT test 16.9G 90K 16.9G 0% ONLINE - # zpool detach test c0t0d0 # zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT test 33.9G 108K 33.9G 0% ONLINE - the pool grows upon detaching the smallest component. the same works for raidz, just replace each disk in turn and when all of the smaller disks have been replaced, the pool grows. :) grant.