Hi support,
I just set up a pair of standalone PVE servers that utilize ZFS storage. I'm using pve-zsync to create ZFS snapshots of the VMs and replicate them from one PVE server to the other. It's worth mentioning that one of the VMs is comprised of several large virtual hard disks (64 TB each). These virtual disk volumes take various amount of time to transfer with pve-zsync, Each virtual diskvol snapshot takes about 10 minutes to transfer.
The issue I noticed is that pve-zsync takes a snapshot of the 1st virtual disk volume and then it sends it to the destination PVE host. Afterwards, it takes a snapshot of the 2nd virtual disk volume and then sends it to the destination host, etc.
So, rather than doing it this way (method #1):
1a. zfs snapshot vm diskvol 1
1b. zfs send vm diskvol1 to destionation host
2a. zfs snashot vm diskvol 2
2b. zfs send vm diskvol2 to destination host
3a. zfs snapshot vm diskvol3
3b. zfs send vm diskvol3 to destination host
I would like to see pve-zsync work like this (method #2):
1a. zfs snapshot vm diskvol 1
1b. zfs snapshot vm diskvol 2
1c. zfs snapshot vm diskvol 3
2a. zfs send vm diskvol1 to destination
2b. zfs send vm diskvol2 to destination
2c. zfs send vm diskvol3 to destination
This makes a huge difference when the virtual machine is running. Method #2 insures that all of ZFS disk volume snapshots occur at the same time. In the future, when the VM is recovered, all of the virtual disk volumes can be returned to the same point in time. Furthermore, imagine if I wanted to schedule a script on the VM that shuts it down temporarily for PVE-zsync.
-Rick
I just set up a pair of standalone PVE servers that utilize ZFS storage. I'm using pve-zsync to create ZFS snapshots of the VMs and replicate them from one PVE server to the other. It's worth mentioning that one of the VMs is comprised of several large virtual hard disks (64 TB each). These virtual disk volumes take various amount of time to transfer with pve-zsync, Each virtual diskvol snapshot takes about 10 minutes to transfer.
The issue I noticed is that pve-zsync takes a snapshot of the 1st virtual disk volume and then it sends it to the destination PVE host. Afterwards, it takes a snapshot of the 2nd virtual disk volume and then sends it to the destination host, etc.
So, rather than doing it this way (method #1):
1a. zfs snapshot vm diskvol 1
1b. zfs send vm diskvol1 to destionation host
2a. zfs snashot vm diskvol 2
2b. zfs send vm diskvol2 to destination host
3a. zfs snapshot vm diskvol3
3b. zfs send vm diskvol3 to destination host
I would like to see pve-zsync work like this (method #2):
1a. zfs snapshot vm diskvol 1
1b. zfs snapshot vm diskvol 2
1c. zfs snapshot vm diskvol 3
2a. zfs send vm diskvol1 to destination
2b. zfs send vm diskvol2 to destination
2c. zfs send vm diskvol3 to destination
This makes a huge difference when the virtual machine is running. Method #2 insures that all of ZFS disk volume snapshots occur at the same time. In the future, when the VM is recovered, all of the virtual disk volumes can be returned to the same point in time. Furthermore, imagine if I wanted to schedule a script on the VM that shuts it down temporarily for PVE-zsync.
-Rick