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>