ext4 or ZFS backup datastore on a single disk?

extcon

New Member
Mar 26, 2023
16
1
3
Hi,
I'm learning so bear with me. I have a single SSD which I want to use to store backups on. What are the pros and cons to use ZFS or ext4 on a single disk? I initially set it up with ZFS which seemed to work just fine however adds complexity for a newbie e.g. when I want to replace the disks. I'm looking to set up PBS again and playing with the idea of using ext4 instead of ZFS for simplicity unless I will miss features/functionality.
 
What are the pros and cons to use ZFS or ext4 on a single disk?
ZFS can detect data corruption (but not correct data corruption...for that you would need a mirror). Ext4 got way less overhead. As PBS can also check for data integrity on the software level, I would use a ext4 with a single SSD. Deduplication, syncing, compression and so on is also done by PBS on the file level, so these ZFS features aren't really needed.
But keep in mind that corrupting a single block of data means that all backups of a single guest (or even multiple guests) might fail to restore, because of the deduplication nothing is ever stored twice. Have 30 backups of a VM and all 30 backups share the same chunk file and that chunk file corrupts, all 30 backups are effected. So I would always prefer a ZFS pool with redundancy so ZFS can detect and fix that corrupted chunk.
 
Last edited:
  • Like
Reactions: extcon
Thank you very much, very well explained and just what I was hoping for!
I currently am learning and playing. In "production" I would use a ZFS mirrored pool. For now the PVE hosts store backups both locally and on PBS single disk backup datastore.
ZFS can detect data corruption (but not correct data corruption...for that you would need a mirror). Ext4 got way less overhead. As PBS can also check for data integrity on the software level, I would use a ext4 with a single SSD. Deduplication, syncing, compression and so on is also done by PBS on the file level, so these ZFS features aren't really needed.
But keep in mind that corrupting a single block of data means that all backups of a single guest (or even multiple guests) might fail to restore, because of the deduplication nothing is ever stored twice. Have 30 backups of a VM and all 30 backups share the same chunk file and that chunk file corrupts, all 30 backups are effected. So I would always prefer a ZFS pool with redundancy so ZFS can detect and fix that corrupted chunk.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!