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

doc: Unclear Btrfs driver unefficiency #13688

Open
JoseFMP opened this issue Jul 1, 2024 · 2 comments
Open

doc: Unclear Btrfs driver unefficiency #13688

JoseFMP opened this issue Jul 1, 2024 · 2 comments
Labels
Documentation Documentation needs updating Improvement Improve to current situation
Milestone

Comments

@JoseFMP
Copy link

JoseFMP commented Jul 1, 2024

Document: reference/storage_btrfs.md

In the fragment:

This approach is not very efficient and might cause issues when creating snapshots.

It is not clear whether the is not very efficient refers to the whole Btrfs driver in general, or it refers only to creating snapshots.

In other words it is not clear whether the word and or the word when is the top level connector and therefore by reading the sentence I cannot determine if the inefficiency is concerned only with snapshots or with the Brtfs driver in general.


Document: reference/storage_btrfs.md

@tomponline tomponline added Documentation Documentation needs updating Improvement Improve to current situation labels Jul 1, 2024
@tomponline tomponline added this to the lxd-6.2 milestone Jul 1, 2024
Copy link

github-actions bot commented Jul 1, 2024

Heads up @ru-fu - the "Documentation" label was applied to this issue.

@simondeziel
Copy link
Member

therefore by reading the sentence I cannot determine if the inefficiency is concerned only with snapshots or with the Brtfs driver in general.

While we can certainly improve the doc, the inefficiency with btrfs is centered around its lack of block device support and how it needs to be worked around. As such, when block devices are needed, LXD has to resort to using big files with Copy-on-Write (CoW) disabled. Because there is no CoW, snapshot'ing those files is costly in terms of time and space.

There's another downside to disabling CoW that we don't mention in the doc because it doesn't affect the default setup. If you've tuned your storage pool to use btrfs compression support, this also gets turned off for the big files backing block devices.

So in summary, btrfs' performance is subpar when snapshot'ing block devices (typically VMs) but it otherwise should be fine.

@tomponline tomponline modified the milestones: lxd-6.2, lxd-6.3 Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Documentation needs updating Improvement Improve to current situation
Projects
None yet
Development

No branches or pull requests

3 participants