FYI: Veeam Endpoint Backup Service failed to start (Solution)

Hello everyone

Over the course of the last week I tried to install Veeam Endpoint Backup (or rather Veeam Agent for Windows) on a Windows Server 2016 bhyve VM. I let vm-bhyve auto-create a disk for the VM. After installing Windows and installing Veeam Agent for Windows, the SQL Service and the Veeam Endpoint Service would not start.

I went back and forth with the Veeam support to solve this problem, until we finally found out the SQL service was not starting because the sector size of the disk file was set to the ZFS default (which is 128k on FreeBSD). The MS SQL LocalDB service needs either 512B or 4K sectors to be able to start successfully.
The solution is either a) to set the recordsize of the dataset to 4k before creating the VM or b) to create a zvol with a specific block size like so:

zfs create -V 36G [B]-b 4k[/B] -o volmode=dev vmpool/vm/veeam/disk0

and then configure the VM settings like so:


Maybe this helps someone out there trying to get Veeam Agent for Windows on a bhyve VM running.

Have a nice weekend
Yes, I've heard that MS SQL does not like disks with physical sectors other then 512b and 4KB. Your solution has two downsides: 1) small block size increase data fragmentation and reduces performance on linear read operations, and 2) with some pool configurations it may lead to very bad space efficiency, when data occupy several times more space on pool then they should.
According bhyve man page there is sectorsize=logical[/physical] option, which should allow overriding physical sector to 4KB without causing issues for pool operation.