Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jun 2009 23:12:16 -0500
From:      "James R. Van Artsdalen" <james-freebsd-fs2@jrv.org>
To:        freebsd-fs <freebsd-fs@freebsd.org>
Cc:        Randy Bush <randy@psg.com>
Subject:   Re: adding drive to raidz1
Message-ID:  <4A3B1020.2010305@jrv.org>
In-Reply-To: <m2bpol6v8r.wl%randy@psg.com>
References:  <m2bpol6v8r.wl%randy@psg.com>

next in thread | previous in thread | raw e-mail | index | archive | help
As a feature suggestion why not reject an "zpool add" of a non-redundant
vdev to a pool of redundant vdev's unless -f is given?  A command of
that sort is almost always a mistake so requiring -f would seem no
hardship for anyone...

Randy Bush wrote:
> 	    NAME        STATE     READ WRITE CKSUM
> 	    tank        ONLINE       0     0     0
> 	      raidz1    ONLINE       0     0     0
> 		ad4s3   ONLINE       0     0     0
> 		ad5s3   ONLINE       0     0     0
> 		ad6s1   ONLINE       0     0     0
> 	      ad7s1     ONLINE       0     0     0
>   

As was said, a vdev (ad7s1) cannot be removed from a pool, and a device
cannot be added to a raidz.

However, I believe it is possible to attach a device to a single-device
vdev such as ad7s1 and turn that vdev into a mirror, regaining
redundancy without recreating the pool, perhaps something like:

# zpool attach tank ad7s1 ad8s1

to get

	    NAME        STATE     READ WRITE CKSUM
	    tank        ONLINE       0     0     0
	      raidz1    ONLINE       0     0     0
		ad4s3   ONLINE       0     0     0
		ad5s3   ONLINE       0     0     0
		ad6s1   ONLINE       0     0     0
              mirror    ONLINE       0     0     0
	        ad7s1   ONLINE       0     0     0
	        ad8s1   ONLINE       0     0     0

(hand edited, not actual zpool output)

Even if the pool the pool is to be rebuilt I suggest converting the naked vdevs to mirrors in the meantime to avoid disaster...

PS. I prefer pools of mirrors over raidz anyway with such a small number of devices since it's easier to protect against many more kinds of system faults (i.e., power supply, cable, device firmware, host controller, driver, etc).




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A3B1020.2010305>