-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Risk of metadata partition filling up with LVM Thin Provisioning #3243
Comments
Chris (@tasket) has also noted the above issue. On my primary Qubes machine, the default lvm metadata allocation is 112MB for a 472GB data allocation. Increasing it seems like a no-brainer, as some Qubes features make heavy use of it. Suggested mechanisms to avoid metadata full->corruption in Qubes:
B |
I definitely agree with the first three. However #4 might not help because it appears to be using an estimation routine that 's also used when the pool is initialized. Therefore, if Qubes installer is doubling the initial tmeta size, this patch would only extend tmeta further if the user were to increase pool size to more than double. So I think #2+3 is much more valuable, and the widget could even prompt the user, offering to extend tmeta itself. Long-term considerations:Recalling the discussion we had in qubes-users on this topic, I came to a conclusion that defragmentation was a missing ingredient. It seems necessary because it keeps metadata complexity/size to manageable ratios with respect to the overall pool size. With defragmentation, you can handle metadata growth the way NTFS does which is far less likely to lead to catastrophic data loss. I don't know what the likelihood is of a pool defrag tool being accepted in the thin-provisioning-tools package. There is a defragger for regular LVM volumes which has languished for over a decade. |
Can this be a "must have" for R4.1? Quadruple even. The current failure mode is punishing. |
I'm trying to find the right value and I'm confused. Metadata size is chosen here. Internally it uses
First, lets try to reproduce this calculation (108MB of metadata volume):
Something is off. Maybe chunk size?
Ok, looks like it (blivet apply rounding on top of this number).
It's almost the same! Maybe even more:
Ok, here I got a bigger number. I consider using whatever number it calculate and doubling it. |
Additionally, I don't see any clean way to specify metadata size while using automatic partitioning. There are multiple abstraction layers, without much flexibility in extra arguments. I'm afraid I'll need to settle down on a blivet patch adjusting the defaults. |
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243 Adapted from 88b59572bccd4cfa60d5eb8d0379094a81908358 By Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243 Adapted from 88b59572bccd4cfa60d5eb8d0379094a81908358 By Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243 Adapted from 88b59572bccd4cfa60d5eb8d0379094a81908358 By Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
The default is too small in Qubes use case. Fixes QubesOS/qubes-issues#3243 Adapted from 88b59572bccd4cfa60d5eb8d0379094a81908358 By Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
According to "man lvmthin" section "Metadata space exhaustion", exhaustion of a thin pool's metadata space can cause "inconsistent thin pool metadata and inconsistent file systems" (and even if that's not accurate it would necessarily stop thin volume creation and thus starting and creating VMs), so it would be important to avoid it.
Currently Qubes installer seems to create a ~100MB metadata partition and also leave ~15-16GB free. According to "man lvmthin" it seems possible to have the metadata partition automatically grow, but it's not clear how, and not clear whether this is enabled by the Qubes installer.
It would be nice to make sure that either the metadata partition is automatically extended up to the 16GB limit or just create a 16GB metadata partition from the start.
The text was updated successfully, but these errors were encountered: