Re: ZFS: alignment/boundary for partition type freebsd-zfs

From: Allan Jude <allanjude_at_freebsd.org>
Date: Tue, 26 Dec 2017 11:44:29 -0500
On 2017-12-26 11:24, O. Hartmann wrote:
> Running recent CURRENT on most of our lab's boxes, I was in need to replace and restore a
> ZFS RAIDZ pool. Doing so, I was in need to partition the disks I was about to replace.
> Well, the drives in question are 4k block size drives with 512b emulation - as most of
> them today. I've created the only and sole partiton on each 4 TB drive via the command
> sequence
> 
> gpart create -s GPT adaX
> gpart add -t freebsd-zfs -a 4k -l nameXX adaX
> 
> After doing this on all drives I was about to replace, something drove me to check on
> the net and I found a lot of websites giving "advices", how to prepare large, modern
> drives for ZFS. I think the GNOP trick is not necessary any more, but many blogs
> recommend to perform
> 
> gpart add -t freebsd-zfs -b 1m -a 4k -l nameXX adaX
> 
> to put the partition boundary at the 1 Megabytes boundary. I didn't do that. My
> partitions all start now at block 40.
> 
> My question is: will this have severe performance consequences or is that negligible?
> 
> Since most of those websites I found via "zfs freebsd alignement" are from years ago, I'm
> a bit confused now an consideration performing all this days-taking resilvering process
> let me loose some more hair as the usual "fallout" ...
> 
> Thanks in advance,
> 
> Oliver
> 

The 1mb alignment is not required. It is just what I do to leave room
for the other partition types before the ZFS partition.

However, the replacement for the GNOP hack, is separate. In addition to
aligning the partitions to 4k, you have to tell ZFS that the drive is 4k:

sysctl vfs.zfs.min_auto_ashift=12

(2^12 = 4096)

Before you create the pool, or add additional vdevs.

-- 
Allan Jude
Received on Tue Dec 26 2017 - 15:50:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC