How to recover some files from lvm thinpool (from Qubes OS)
I mounted, on Ubuntu, a LUKS partition that has these lvm containers from Qubes OS:
ubuntu@ubuntu:~$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
pool00 qubes_dom0 twi---tz-- <452.86g
root qubes_dom0 Vwi---tz-- <452.86g pool00
swap qubes_dom0 -wi-a----- 8.96g
vm-anon-whonix-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-bitpay-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-bitpay-private-1604634684-back
vm-bitpay-private-1604634684-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-debian-10-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-debian-10-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-debian-10-root-1604634337-back
vm-debian-10-root-1604634337-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-debian-sys-net-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-debian-sys-net-private-1600569197-back
vm-debian-sys-net-private-1600569197-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-debian-temp-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-debian10-coding-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-debian10-coding-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-debian10-coding-root-1604634103-back
vm-debian10-coding-root-1604634103-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-default-mgmt-dvm-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-fedora-29-dvm-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-fedora-29-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-fedora-29-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-fedora-29-root-1599172317-back
vm-fedora-29-root-1599172317-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-hacking-private qubes_dom0 Vwi---tz-- 20.00g pool00 vm-hacking-private-1602069716-back
vm-hacking-private-1602069716-back qubes_dom0 Vwi---tz-- 20.00g pool00
vm-multipurpose-private qubes_dom0 Vwi---tz-- 11.00g pool00 vm-multipurpose-private-1589207893-back
vm-multipurpose-private-1589207893-back qubes_dom0 Vwi---tz-- 11.00g pool00
vm-orwell3-private qubes_dom0 Vwi---tz-- 137.00g pool00 vm-orwell3-private-1602465727-back
vm-orwell3-private-1602465727-back qubes_dom0 Vwi---tz-- 137.00g pool00
vm-orwell4-private qubes_dom0 Vwi---tz-- 117.23g pool00 vm-orwell4-private-1605439750-back
vm-orwell4-private-1605439750-back qubes_dom0 Vwi---tz-- 117.23g pool00
vm-orwell4-private-snap qubes_dom0 Vwi---tz-- 117.23g pool00 vm-orwell4-private
vm-orwell4-root-snap qubes_dom0 Vwi---tz-- 10.00g pool00 vm-debian10-coding-root
vm-orwell4-volatile qubes_dom0 Vwi---tz-- 10.00g pool00
vm-pcb-design-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-pcb-design-private-1598425853-back
vm-pcb-design-private-1598425853-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sd-flasher-private qubes_dom0 Vwi---tz-- 10.00g pool00 vm-sd-flasher-private-1596569587-back
vm-sd-flasher-private-1596569587-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-social2-private qubes_dom0 Vwi---tz-- 21.00g pool00 vm-social2-private-1605439747-back
vm-social2-private-1605439747-back qubes_dom0 Vwi---tz-- 21.00g pool00
vm-social2-private-snap qubes_dom0 Vwi---tz-- 21.00g pool00 vm-social2-private
vm-social2-root-snap qubes_dom0 Vwi---tz-- 10.00g pool00 vm-debian-10-root
vm-social2-volatile qubes_dom0 Vwi---tz-- 10.00g pool00
vm-sys-firewall-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-firewall-private-1588756764-back
vm-sys-firewall-private-1588756764-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sys-firewall-private-snap qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-firewall-private
vm-sys-firewall-root-snap qubes_dom0 Vwi---tz-- 10.00g pool00 vm-fedora-29-root-1599172317-back
vm-sys-net-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-net-private-1603850959-back
vm-sys-net-private-1603850959-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sys-usb-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-usb-private-1605439744-back
vm-sys-usb-private-1605439744-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sys-usb-private-snap qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-usb-private
vm-sys-usb-root-snap qubes_dom0 Vwi---tz-- 10.00g pool00 vm-fedora-29-root
vm-sys-usb-volatile qubes_dom0 Vwi---tz-- 10.00g pool00
vm-sys-whonix-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sys-whonix-private-1598482831-back
vm-sys-whonix-private-1598482831-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sysnet-debian10_2-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sysnet-debian10_2-private-1605439757-back
vm-sysnet-debian10_2-private-1605439757-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-sysnet-debian10_2-private-snap qubes_dom0 Vwi---tz-- 2.00g pool00 vm-sysnet-debian10_2-private
vm-sysnet-debian10_2-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-sysnet-debian10_2-root-1605439757-back
vm-sysnet-debian10_2-root-1605439757-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-sysnet-debian10_2-root-snap qubes_dom0 Vwi---tz-- 10.00g pool00 vm-sysnet-debian10_2-root
vm-sysnet-debian10_2-volatile qubes_dom0 Vwi---tz-- 10.00g pool00
vm-temp-private qubes_dom0 Vwi---tz-- 10.00g pool00 vm-temp-private-1595675857-back
vm-temp-private-1595675857-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-unsafe_code-private qubes_dom0 Vwi---tz-- 78.00g pool00 vm-unsafe_code-private-1605379428-back
vm-unsafe_code-private-1605379428-back qubes_dom0 Vwi---tz-- 78.00g pool00
vm-whonix-gw-14-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-whonix-gw-14-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-whonix-gw-14-root-1571185748-back
vm-whonix-gw-14-root-1571185748-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-whonix-ws-14-dvm-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-whonix-ws-14-private qubes_dom0 Vwi---tz-- 2.00g pool00
vm-whonix-ws-14-root qubes_dom0 Vwi---tz-- 10.00g pool00 vm-whonix-ws-14-root-1571185609-back
vm-whonix-ws-14-root-1571185609-back qubes_dom0 Vwi---tz-- 10.00g pool00
vm-win10_unsafe_coding-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-win10_unsafe_coding-private-1602769589-back
vm-win10_unsafe_coding-private-1602769589-back qubes_dom0 Vwi---tz-- 2.00g pool00
vm-win10_unsafe_coding-root qubes_dom0 Vwi---tz-- 90.00g pool00 vm-win10_unsafe_coding-root-1602769589-back
vm-win10_unsafe_coding-root-1602769589-back qubes_dom0 Vwi---tz-- 90.00g pool00
vm-zoom2-private qubes_dom0 Vwi---tz-- 2.00g pool00 vm-zoom2-private-1599067205-back
vm-zoom2-private-1599067205-back qubes_dom0 Vwi---tz-- 2.00g pool00
Something is wrong and I want to recover only the vm-orwell4-* containers. At least copy some files from it. I know nothing about lvm thinpool.
I tried
sudo lvchange -ay -v qubes_dom0/vm-orwell4-private
Activating logical volume qubes_dom0/vm-orwell4-private.
activation/volume_list configuration setting not defined: Checking only host tags for qubes_dom0/vm-orwell4-private.
Creating qubes_dom0-pool00_tmeta
Loading table for qubes_dom0-pool00_tmeta (253:2).
Resuming qubes_dom0-pool00_tmeta (253:2).
Creating qubes_dom0-pool00_tdata
Loading table for qubes_dom0-pool00_tdata (253:3).
Resuming qubes_dom0-pool00_tdata (253:3).
Executing: /usr/sbin/thin_check -q --clear-needs-check-flag /dev/mapper/qubes_dom0-pool00_tmeta
/usr/sbin/thin_check failed: 1
Check of pool qubes_dom0/pool00 failed (status:1). Manual repair required!
Removing qubes_dom0-pool00_tdata (253:3)
Removing qubes_dom0-pool00_tmeta (253:2)
Also tried
ubuntu@ubuntu:~$ sudo vgchange -ay
Check of pool qubes_dom0/pool00 failed (status:1). Manual repair required!
1 logical volume(s) in volume group "qubes_dom0" now active
UPDATE:
Here's the output of what I tried after looking into https://unix.stackexchange.com/questions/351921/lvm-how-to-recover-lvm-thin-pool-volume-after-failed-repair
ubuntu@ubuntu:~$ sudo lvchange -an qubes_dom0
ubuntu@ubuntu:~$ sudo lvchange -pr -ay qubes_dom0/pool00_tmeta
Operation not permitted on hidden LV qubes_dom0/pool00_tmeta.
ubuntu@ubuntu:~$ sudo lvs -a --units m | grep pool00_tmeta lvs -a --units m | grep pool00_tmeta ^C
ubuntu@ubuntu:~$ sudo lvs -a --units m | grep pool00_tmeta
[pool00_tmeta] qubes_dom0 ewi------- 116.00m
ubuntu@ubuntu:~$ sudo lvcreate -L 256M -n pool00R qubes_dom0
Logical Volume "pool00R" already exists in volume group "qubes_dom0"
ubuntu@ubuntu:~$ sudo lvchange -ay qubes_dom0/poool00R
Failed to find logical volume "qubes_dom0/poool00R"
ubuntu@ubuntu:~$ sudo lvchange -ay qubes_dom0/poool00R
Failed to find logical volume "qubes_dom0/poool00R"
ubuntu@ubuntu:~$ sudo thin_repair -i /dev/qubes_dom0/pool00_tmeta -o /dev/qubes_dom0/pool00R
Output file does not exist.
The output file should either be a block device,
or an existing file. The file needs to be large
enough to hold the metadata.
ubuntu@ubuntu:~$ # what? /dev/qubes_dom0 does not even exist
ubuntu@ubuntu:~$ sudo thin_check /dev/qubes_dom0/pool00R
Couldn't stat path
ubuntu@ubuntu:~$
Solution 1:
When you executed the command
sudo lvcreate -L 256M -n pool00R qubes_dom0
you created a logical volume called pool00R.
With this command
sudo lvchange -ay qubes_dom0/poool00R
you were trying to activate a logical volume called poool00R (notice the extra "o"), which does not exist.
As the author of the Unix StackExchange answer where that typo was in the first place I can do nothing but to give you my deepest apologies: that extra "o" appeared invisible to me as well. I am incredibly sorry for finding it out this late.