TrueNAS Core Newbie Question: Verifying ashift on boot-pool


I just installed TrueNAS Core 13 (which I couldn’t have done without advice in other threads here–thanks again!).

Unlike Proxmox, the installer didn’t give me an option to set the ashift value for the boot NVME.

When I ask ZFS what the ashift value is via zpool get ashift, I get this:

# zpool get ashift
SSD-Pool   ashift    12      local
boot-pool  ashift    0       default

After some research, my understanding is that a value of 0 is “auto-detected,” which means it asks the drive.

I want to make sure it didn’t assign the NVME an ashift of 9.

I did some googling and got halfway there.

Running zdb -S -U /data/zfs/zpool.cache and then zdb -U /data/zfs/zpool.cache | grep ashift gets me the ashift for the SSD-Pool, but I can’t figure out how to do the same thing for the boot pool.

I know that ZFS stores the boot pool cache, when it exists, at /etc/zfs/zpool.cache, so I thought maybe I could just run the command zdb -S -U /etc/zfs/zpool.cache, but I don’t entirely understand what that does and I’m wary of poking at the boot pool too much (compared to an empty data pool I haven’t started using yet).

What’s the easiest way to get the actual ashift for the boot pool? Am I worried over nothing? I’d think in 2024 TrueNAS Core would be set up to avoid write amplification on the boot SSD, but I wanted to make sure.


We always leave them at default and have not had an issue.

1 Like


I’m used to having to babysit ZFS a bit more in Proxmox; not being able to tell what it did made me nervous. :stuck_out_tongue:

I inadvertently created the /data/zfs/zpool.cache file when I was poking around. It didn’t exist before I ran the zdb -U /data/zfs/zpool.cache | grep ashift command. Is it going to hurt anything just to leave it there, or should I get rid of it?

Thanks again.