LVM: How to access a foreign volume group

Volker Wysk post at volker-wysk.de
Sun Dec 10 15:50:23 UTC 2017


Hi

I've used these instructions (in German): 
https://www.thomas-krenn.com/de/wiki/LVM_Caching_mit_SSDs_einrichten

I've worked it out, although there were some issues, which needed fixing. It works now, in a virtual machine.

What you've described in you mail, below, looks familiar to me:


Am Samstag, 9. Dezember 2017, 21:32:40 CET schrieb Xen:
> Volker Wysk schreef op 04-12-2017 2:03:
> 
> > I'm about to set up an LVM cache (for my encrypted root file system).
> 
> I suggest the following in /etc/initramfs-tools/hooks/dmcache:
> 
> -----------
> #!/bin/sh
> 
> if [ "$1" = "prereqs" ]; then
>      exit 0
> fi
> 
> . /usr/share/initramfs-tools/hook-functions
> 
> # pdata_tools is the cache_check executable
> copy_exec /usr/sbin/pdata_tools
> 
> # you have to use relative symlinks here:
> for f in /usr/sbin/cache*; do ln -sr ${DESTDIR}/usr/sbin/pdata_tools 
> ${DESTDIR}$f; done
> 
> # safest is just to copy all of the device mapper modules:
> copy_modules_dir kernel/drivers/md
> -----------
> 
> But I assume you have already done this?

The procedure, which I've followed, involves something similar. See above.

 
> > It would be bad, if I had to restore it from a backup, because I have
> > installed and configured a lot of things.
> 
> The greatest risk is that the logical volume for root is not activated 
> because of a missing module or executable in your initrd.

Precisely. That's what I've encountered.


> > How to instruct LVM to operate on another installation? When I start
> > the rescue system, which I've installed on an USB stick, I can access
> > only the native LVM installation, like it should be.
> 
> That's because your main system is encrypted.
> 
> Otherwise LVM would start destroying your system (maybe).
> 
> > Also, both volume groups have the same name.
> 
> Yes you won't be able to activate both volume groups very well until you 
> rename the one in the rescue system.
> 
> This isn't very hard.
> 
> BEFORE you do any cryptsetup open on the main system, run:
> 
> vgrename kubuntu-vg rescue-vg
> 
> Then you must verify that /etc/fstab in the RESCUE system contains no 
> references to "kubuntu-vg" and you might also have to rerun 
> "update-grub" if you want to keep it this way.
> 
> That is all you need to do to rename the volume group.
> 
> After that you can open the crypt and it won't conflict.

Yes, that's what I was looking for. However, for now I'll use a non-encrypted, non-LVM rescue system.

 
> > Because I installed both
> > from the Kubuntu 16.04 install ISO (from an USB stick), and this
> > assigns "kubuntu-vg" to the VG name.
> 
> You are wise to say so, the LVM of 16.04 is not very good with 
> conflicts.
> 
> (16.10 is better).
> 
> 
> Make sure /etc/initramfs-tools/hooks/dmcache is executable:
> 
> chmod +x /etc/initramfs-tools/hooks/dmcache
> 
> Also rerun update-initramfs -u.
> 
> After, verify that the initramfs contains everything you need:
> 
> lsinitramfs /boot/initrd* | grep "pdata\|cache"
> 
> It has to contain at least:
> 
> usr/sbin/cache_restore
> usr/sbin/cache_repair
> usr/sbin/cache_metadata_size
> usr/sbin/cache_dump
> usr/sbin/cache_check
> usr/sbin/pdata_tools
> lib/modules/4.10.0-40-generic/kernel/drivers/md/dm-cache-cleaner.ko
> lib/modules/4.10.0-40-generic/kernel/drivers/md/dm-cache-smq.ko
> lib/modules/4.10.0-40-generic/kernel/drivers/md/dm-cache.ko
> 
> Or similar.
> 
> I assume you will be running this from your installed system. So you 
> have only one chance to get it right before you need to reboot into the 
> live or rescue environment.

Yeah. That's what I've encountered...

> 
> If you end up on an initrd prompt (busybox) because your system doesn't 
> boot, try to run:
> 
>    vgchange -ay
>    vgchange -ay
> 
>    exit
> 
> To continue booting.


Volker





More information about the ubuntu-users mailing list