Trying to clone a ZFS drive, can't get ashift=12

Daniel Eischen deischen at
Wed Apr 1 21:44:46 UTC 2015

On Tue, 31 Mar 2015, Peter Wemm wrote:

> On Wednesday, April 01, 2015 12:30:46 AM Daniel Eischen wrote:
>> I have an Oracle (nee Sun) X4-2 server with identical 300GB SAS
>> drives.  I did an MBR ZFS install from FreeBSD 10.1-RELEASE CD
>> and have it updated to p6:
> [..]
>>    # zpool create -o cachefile=/tmp/newpool.cache bootpoolNew label/boot0
>>    # zdb -U /tmp/newpool.cache | grep ashift
>>                ashift: 9
>> What gives?  How do I get it to use 4k?
> Before creating the pool, try:
> #  sysctl vfs.zfs.min_auto_ashift=12

Thanks, and to Dmitri also.  This seemed to do the trick.

It is interesting that the default in the 10.1-RELEASE
CD doesn't match the actual OS that is installed.

> But watch your alignment of the MBR slices/partitions. I think you'll find it
> easier to manage with gpt for a data disk, eg:
> # gpart create -s gpt da1
> # gpart add -t freebsd-zfs -a 4k da1
> combine that with the sysctl above you should have everything on 4k.
> Setting -a just sets the rounding for the start/end sectors, it doesn't affect
> zfs when its sizing the sector size internally.
> btw; for a 300G drive you might not want 4k - this changes the base allocation
> size to be 8 times larger.  You might find your space efficiency less than ideal
> if you have a lot of tiny files.

The server is a web server and poudriere package builder, with some
postgres and mysql databases as backends for the web services.  We
don't anticipate user data or home/project directories.

My first ZFS install was Solaris 11, which recommended (mandated?)
that rpool be from a slice not an entire disk, and boot from
an SMI (VTOC) disk.  So I followed the same convention when
installing FreeBSD.


More information about the freebsd-stable mailing list