Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snapshot filesystem changes capture and restoration #824

Open
CuriousGeorgiy opened this issue Sep 18, 2023 · 0 comments
Open

Snapshot filesystem changes capture and restoration #824

CuriousGeorgiy opened this issue Sep 18, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@CuriousGeorgiy
Copy link
Member

CuriousGeorgiy commented Sep 18, 2023

Describe the enhancement
Currently, the filesystem changes are captured in a “patch file”, which is created by mounting both the original container image and the VM block device and extracting the changes between both using rsync. Even though rsync uses some optimisations such as using timestamps and file sizes to limit the amount of reads, this procedure is quite inefficient and could be sped up by directly extracting the changed block offsets from the thinpool metadata device and directly reading these blocks from the VM rootfs block device. These extracted blocks could then be written back at the correct offsets on top of the base image block device to create a root filesystem for the to be restored VM. However, for this approach to work across nodes for remote snapshots, support to deterministically flatten a container image into a filesystem would be required to ensure the block devices of identical images pulled to different nodes are bit-identical. In addition, further optimisations would be necessary to more efficiently extract filesystem changes from the thinpool metadata device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant