-
-
Notifications
You must be signed in to change notification settings - Fork 187
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
LVM thin-provisioned volumes #202
Comments
Can you try turning it on in the
|
(unrelated to the LVM topic -- are you running Xen 4.6.1?) |
After a while of rebuilding & reflashing Heads, and reinstalling Qubes with thin partitioning, same error. However, I didn't make clean, and none of the usual ways to read config of the running kernel seem to work, so it may be possible that I'm still running the old kernel? Rebuilding again to see if that might have been it... :/ For me to say that things actually work though, the documentation would need a bit more love. The intended qubes disk layout is unclear to me, and I've still not yet been able to successfully boot Qubes even once. /bin/qubes-boot expects a If I modify the script to get the blkid for the "root" LV instead of 00 (and use /bin/xen.gz instead of the one in /boot because otherwise I only ever get VGA rainbows) then I can kexec into the kernel & initramfs installed to /boot by qubes, which gives me a cryptsetup prompt and then sits at "Reached target Basic System." for several minutes before dropping me into a dracut recovery shell: I'm first trying to even see if I can even get Qubes to boot at all, nevermind the TPM and dm-verity... So far I've only been able to successfully boot the installer (via
No, that's just what ships on the Qubes R3.2 install ISO. This is a dedicated machine I keep reinstalling. |
Okay, so I'm an idiot. I had only rebuilt qemu.img, haha. Also, zooming in on https://www.flickr.com/photos/osr/33156102504/ is informative re: your partitioning scheme. Documentation in disguise :) |
Okay, enough reinstalling for today. I'm going to go back to normal LVM and try to get this thing booting. Future tests should be possible with qemu. |
In other (non-LVM-related) news, with:
Qubes boots! :) |
Finally getting around to installing a Qubes 4.0-rc1 after SHA and I think I see the problem... With the old partitioning setup each device was its own luks entry, while with the thin provisioning there is only one partition and it is encrypted. To get to the volume group info the device needs to be mapped:
Now however, we're missing |
And the |
I've got another x230 coming arriving this week that I was planning to dedicate to Qubes 4/Heads testing. Will check out the LVM thin provisioning over the weekend. |
@jpouellet were you able to install Qubes 4 under Heads? I'm getting an error during the post install steps (split into issue #237) |
Installed Qubes 4 rc1 using default settings (creates LVM thin provisioned pool in Looks like by default in a single LUKS crypt device (from
To boot as you would've in Qubes 3.2, during the Heads TPM disk key sealing you can just leave the LVM device blank and use just |
Even in Qubes 3.2 with latest patchwork, LVM must be blank and /dev/sda2 must be set as block device. |
@tlaurion I think that's what I would expect, unless you had the LVM drive partitioning that @osresearch had originally outlined in the image in his docs (in which case you need the LVM == There's probably a better way to specify the LUKS device hierarchy / dependency, so I'd be open to suggestions for changes. |
@jpouellet, @flammit, @osresearch @kylerankin : linked to heads-wiki issue I was going to update... @jpouellet, @marmarek : any idea on what would be the good partition scheme and implementation to go forward? Heads could have lvm-thin-tools to facilitate measurements.... I'm just not sure of the way to go from here. We have:
What is missing is the possibility to measure templates between updates. I have no clue how to implement this right now until something is implemented in QubesOS. Would like to hear some inputs on where to go from now. EDIT: original discussion happened here on qubes-devel. |
I don't think thin-provisioning is needed within heads. Boot files should be in separate partition (not even LVM). What case I'm missing? |
@marmarek : To measure templates that are desired to stay RO, just like intended here in previous discussion by the help of dm-verity. And to start the discussion on how to make dom0 measurable. |
If going with measurable dom0, I'd simply put it outside of LVM thin pool, as a static LVM volume. That would have other benefits as well, like safety against filling up thin pool. The downside is wasting some of disk space - you need an extra space in dom0 that is rarely used (unpacking templates, temporary storage for backups etc) - with static LVM volume, you can't reuse it for running VMs. But if going for R/O dom0, that would need to be elsewhere anyway, so it shouldn't be an issue. Then, having measured dom0, you can leave measuring templates to that dom0. |
I think adding thin-provisioning-tools in Heads is be the first step torward temmplates integrity validation to permit QubesOS being preinstalled without having faith (vs verifiable trust) in OEM/Organization QubesOS predeployments. My main interest here is to provide a way for the user to validate that the OEM cloned disk image is in the same state that the OEM intended (if it could be in the same state that QubesOS intended, that would be even better!).
With that, the user would be able to validate that:
Thoughts? |
@flammit @osresearch and others: here is my WiP. |
Thinlvm can be opened without added tools for a while. |
It is my understanding that Qubes plans to moves to LVM thin provisioning by default in R4.0 (QubesOS/qubes-issues#2412), and this does not appear to be supported by Heads at the moment:
The text was updated successfully, but these errors were encountered: