I wonder why EC2 is so slow on snapshots. We use CEPH internally and if we wanted we could export the diffs [0] (we use proxmox backup instead). Snapshots always felt blazing fast (I still often forget to do them, need a solution to trigger them from the guest) [0] https://ceph.io/en/news/blog/2013/incremental-snapshots-with...
Blockdiff: We built our own file format for VM disk snapshots
21–30 of 30 posts
Re: Blockdiff: We built our own file format for VM disk snapshots
#22Re: Blockdiff: We built our own file format for VM disk snapshots
#23It's a bit surprising that they dismissed qcow2, because it does exactly what they want. It's also pretty easy to implement in a vm. The file format is a 2 level page table per snapshot, with pointers to blocks. I suspect they didn't really look at it enough. Here's the implementation I did for openbsd; it's around 700 lines, including the gunk to interface with the hypervisor. https://github.com/openbsd/src/blob/mas…
I use it to back up external disks, usb sticks etc. Because the resulting qcow2 images are sparse and compressed they use less storage which is great for backups.
Re: Blockdiff: We built our own file format for VM disk snapshots
#24Re: Blockdiff: We built our own file format for VM disk snapshots
#25Re: Blockdiff: We built our own file format for VM disk snapshots
#26Re: Blockdiff: We built our own file format for VM disk snapshots
#27It's a bit surprising that they dismissed qcow2, because it does exactly what they want. It's also pretty easy to implement in a vm. The file format is a 2 level page table per snapshot, with pointers to blocks. I suspect they didn't really look at it enough. Here's the implementation I did for openbsd; it's around 700 lines, including the gunk to interface with the hypervisor. https://github.com/openbsd/src/blob/mas…
Re: Blockdiff: We built our own file format for VM disk snapshots
#28I see you use flags to determine if a file needs syncing. When we used fiemap within GNU cp we required FIEMAP_FLAG_SYNC to get robust operation. (We have since removed the fiemap code from cp, and replaced it with LSEEK_DATA, LSEEK_HOLE)
Re: Blockdiff: We built our own file format for VM disk snapshots
#29It's a bit surprising that they dismissed qcow2, because it does exactly what they want. It's also pretty easy to implement in a vm. The file format is a 2 level page table per snapshot, with pointers to blocks. I suspect they didn't really look at it enough. Here's the implementation I did for openbsd; it's around 700 lines, including the gunk to interface with the hypervisor. https://github.com/openbsd/src/blob/mas…
When working with microVM's, which I'm assuming Cognition is doing, you don't have the option of doing qcow2. Raw disks as either block devices or files is all you've got.
Re: Blockdiff: We built our own file format for VM disk snapshots
#30Earlier quoted context omitted.
When working with microVM's, which I'm assuming Cognition is doing, you don't have the option of doing qcow2. Raw disks as either block devices or files is all you've got.
That's nonsense. Qcow2 is a file, with a pretty easy to implement format.