[ZFS-Backed VM Storage, PVE 9] Adding a zVol to a VM for an ext4 data drive: Disable Journaling on the ext4 disk inside the VM?

Sep 1, 2022
507
192
53
41
Hello,

I've added a new zVol-backed virtual disk to my VM for bulk storage. The backing storage is a a SATA HDD mirror pool with 8 HDDs in 4 mirrors. The virtual disk is in the RAW format, since it's being stored directly on my PVE node's local ZFS pool.

I've been reading some new guides lately, trying to learn more about reasonable optimizations for data storage when working inside VMs, and I came across this:
tune2fs -O ^has_journal /dev/{nvme dev name}

Apparently, this disables the ext4 journaling features for the drive, so we can "rely on ZFS" on the underlying real storage.

I generally understand the idea of not needing to use every protective feature of ext4 designed for data integrity on a real physical disk on a virtual disk that's really just a zVol in a ZFS dataset on a mirror pool, but aside from that, what are the real-world implications of this? I assume there's less overhead in general, but is there anything else I should be aware of when using this in production?

Assume I have backups.

Thanks!
 
Last edited:
I'm trying to figure out why they'd recommend this. What benefit could it have?
Less writes inside the VM and therefore less write amplification and maybe better (write) performance on the ZFS (or BTRFS or similar) of the Proxmox host? This will probably be true when everything goes well (unlike the scenario I mentioned earlier).
 
Less writes inside the VM and therefore less write amplification and maybe better (write) performance on the ZFS (or BTRFS or similar) of the Proxmox host? This will probably be true when everything goes well (unlike the scenario I mentioned earlier).
Thanks! I'm trying to decide how much I care about avoiding write amplification and maxing write performance for this project. I'll be backing up the contents with rclone once or twice a day. It's also on an HDD pool, so I'm not concerned about disk wear.

It's primarily going to be used for read-intensive workloads, possibly with some write work from vintage systems that were made to work with first generation SCSI and IDE (this is bulk storage for emulation and retrogaming, more or less).

That said, data loss would annoy me, even if I have it backed up. :P