Paul Kraus via illumos-zfs
2014-08-31 20:33:32 UTC
I have a server running FreeBSD 10.0 with a RAIDz2 based zpool. The zpool consists of five 1TB drives. Recently one of the drives failed and I replaced it with a much more modern 1TB drive. Unfortunately, the replacement drive is 4KB block and the older drives are 512B block. So zpool status is rightly complaining:
***@FreeBSD2:/freebsd1/etc # zpool status
pool: export
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Aug 31 15:45:34 2014
113G scanned out of 2.87T at 52.1M/s, 15h25m to go
22.4G resilvered, 3.83% done
config:
NAME STATE READ WRITE CKSUM
export ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
replacing-0 ONLINE 0 0 0
ada6p1 ONLINE 0 0 0 block size: 512B configured, 4096B native
diskid/DISK-WD-WMC5K0159058 ONLINE 0 0 0 block size: 512B configured, 4096B native (resilvering)
diskid/DISK-JPW9K0N018164Lp1 ONLINE 0 0 0
diskid/DISK-9QJ5252Gp1 ONLINE 0 0 0
diskid/DISK-9QJ517HQp1 ONLINE 0 0 0
diskid/DISK-9QJ574MKp1 ONLINE 0 0 0
errors: No known data errors
Note, I used a 2TB drive I had lying around as a temporary spare while I waited for the replacement drive to arrive. I was not worried about the 2TB drive being 4KB as I knew that I would be replacing it real soon now with a 1TB drive. Unfortunately the 1TB drive is also 4KB.
So the real question here is if I can destroy the zpool and rebuild it FORCING 4KB block size (even on the 512B drives) ? I know there will probably be performance degradation, but only until all of the older 512B drives die and get replaced.
Or am I better off having two zpools, one made up of 4KB block drives and one of 512B drives. That would be harder to manage. I could go to 2-way mirrors and just add pairs as the old drives die off and migrate the data, but since we can’t shrink a zpool, that would mean rebuilding the old zpool every time a drive fails. Not something I am looking forward to.
Reminder: This is FreeBSD 10.0
Thanks for the input.
--
Paul Kraus
***@kraus-haus.org
***@FreeBSD2:/freebsd1/etc # zpool status
pool: export
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Aug 31 15:45:34 2014
113G scanned out of 2.87T at 52.1M/s, 15h25m to go
22.4G resilvered, 3.83% done
config:
NAME STATE READ WRITE CKSUM
export ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
replacing-0 ONLINE 0 0 0
ada6p1 ONLINE 0 0 0 block size: 512B configured, 4096B native
diskid/DISK-WD-WMC5K0159058 ONLINE 0 0 0 block size: 512B configured, 4096B native (resilvering)
diskid/DISK-JPW9K0N018164Lp1 ONLINE 0 0 0
diskid/DISK-9QJ5252Gp1 ONLINE 0 0 0
diskid/DISK-9QJ517HQp1 ONLINE 0 0 0
diskid/DISK-9QJ574MKp1 ONLINE 0 0 0
errors: No known data errors
Note, I used a 2TB drive I had lying around as a temporary spare while I waited for the replacement drive to arrive. I was not worried about the 2TB drive being 4KB as I knew that I would be replacing it real soon now with a 1TB drive. Unfortunately the 1TB drive is also 4KB.
So the real question here is if I can destroy the zpool and rebuild it FORCING 4KB block size (even on the 512B drives) ? I know there will probably be performance degradation, but only until all of the older 512B drives die and get replaced.
Or am I better off having two zpools, one made up of 4KB block drives and one of 512B drives. That would be harder to manage. I could go to 2-way mirrors and just add pairs as the old drives die off and migrate the data, but since we can’t shrink a zpool, that would mean rebuilding the old zpool every time a drive fails. Not something I am looking forward to.
Reminder: This is FreeBSD 10.0
Thanks for the input.
--
Paul Kraus
***@kraus-haus.org