[SOLVED] zfs error: "cannot receive incremental stream: destination space X quota exceeded."

kcpx

New Member
May 18, 2021
3
1
3
44
Hi everyone,

I have my Proxmox system running fine so far, but recently a problem appeared with my backup strategy.
The whole system is running on zfs and in regular intervals, I create a snapshot of my pool and send it to an external disk with
> zfs send -R -i mypool@oldsnapshot mypool@newsnapshot | zfs recv externaldisk/mypool

This was working fine until now and synced all VMs to the external disk.
Recently, I resized the bootdisk of a VM (from 20GB to 100GB) because space was getting low.
Now, I'm confronted with a strange error when trying to sync to the backup disk:
> cannot receive incremental stream: destination externaldisk/mypool/VMs/subvol-101-disk-0 space quota exceeded.

When I do a "zfs list", I can see the available space on the source subvol-101-disk-0 is 100G, while on the destination it's 20G.
Anyhow, I didn't set any quota for the filesystems so I'm not sure how to proceed.
I think this might be the same problem as in https://redmine.ixsystems.com/issues/26929 , and while it's commented as "not a bug" in that thread, a solution for the original problem is missing.

Can anybody shed some light on this and tell me how to fix this problem?
 
Most likely because the volume dataset on the external disk still has a "volsize" property of 20G. You could remove the dataset on the external disk and send it anew or try to set the volsize property to 100G as well.

Code:
zfs set volsize=100G /<pool>/<dataset>
 
So I tried to set the volsize, but that didn't work out:

Code:
> zfs get volsize externaldisk/mypool/VMs/subvol-101-disk-0
NAME                                            PROPERTY  VALUE    SOURCE

> zfs set volsize=100GiB externaldisk/mypool/VMs/subvol-101-disk-0
cannot set property for 'externaldisk/mypool/VMs/subvol-101-disk-0': 'volsize' does not apply to datasets of this type

> zfs get type externaldisk/mypool/VMs/subvol-101-disk-0
NAME                                            PROPERTY  VALUE       SOURCE
externaldisk/mypool/VMs/subvol-101-disk-0  type      filesystem  -

Removing the whole dataset from external disk and sending it again would be an option, but I have some snapshots on that disk that I already removed from the source. So I would rather take that option as a last resort. Are there any other options?
 
Sorry! I missed the subvol. Container datasets are a bit different.

The property should be "refquota".

You can check the current values by running zfs get refquota pool/dataset
 

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!