bhyve and vfs.zfs.arc_max, and zfs tuning for a hypervisor

Patrick M. Hausen hausen at punkt.de
Tue Mar 19 08:06:17 UTC 2019


Hi!

> Am 19.03.2019 um 03:46 schrieb Victor Sudakov <vas at mpeks.tomsk.su>:
> 1. Does ARC actually cache zfs volumes (not files/datasets)?

Yes it does.

> 2. If ARC does cache volumes, does this cache make sense on a hypervisor,
> because guest OSes will probably have their own disk cache anyway.

IMHO not much, because the guest OS is relying on the fact that when
it writes it’s own cached data out to „disk“, it will be committed to
stable storage.

> 3. Would it make sense to limit vfs.zfs.arc_max to 1/8 or even less of
> total RAM, so that most RAM is available to guest machines?

Yes if you build your own solution on plain FreeBSD. No if you are running
FreeNAS which already tries to autotune the ARC size according to the
memory committed to VMs.

> 4. What other zfs tuning measures can you suggest for a bhyve
> hypervisor?

e.g.
	zfs set sync=always zfs/vm

if zfs/vm is the dataset under which you create the ZVOLs for your emulated
disks.

I’m using this for all my VM „disks“ and have added a 16 GB SLOG device
to my spinning disk pool - seems to work great. This is on a home system.

Our new data centre systems feature all NVME SSDs and no spinning rust.
So no need for a separate SLOG.

HTH,
Patrick
-- 
punkt.de GmbH			Internet - Dienstleistungen - Beratung
Kaiserallee 13a			Tel.: 0721 9109-0 Fax: -100
76133 Karlsruhe			info at punkt.de	http://punkt.de
AG Mannheim 108285		Gf: Juergen Egeling



More information about the freebsd-virtualization mailing list