Em um novo rocky9 vm, o LVM2 NÃO vê os PVs recém-anexados sob LUKS.
===
O objetivo final é migrar um servidor "repo" simples (que contém arquivos iso) do centos8 para o rocky9.
Eu tenho um rocky9 linux vm recém-instalado. Ele inicializa bem e tem LUKS e LVM.
Enquanto as VMs antigas e novas foram interrompidas, peguei as
<disk>...</disk>
seções dos discos de dados e as adicionei ao new-ish /etc/libvirt/qemu/repo9.xml
, e fiz um arquivo /usr/bin/systemctl reload libvirtd
. Ele vê os discos.
Também peguei as entradas /etc/crypttab
e as migrei para o novo host repo9.
Após uma nova reinicialização, ele solicita o luks PW e eu o forneço uma vez (mesmo pw para todos os dispositivos).
# /bin/cat /etc/redhat-release
Rocky Linux versão 9.0 (Blue Onyx)
Sim, blkid os vê.
# /usr/sbin/blkid | grep -i luks
/dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10: UUID="52oE6g-azSo-95kU-3NGu-Hyfq-tcN6-XKcQe5" TYPE="LVM2_member"
/dev/sda2: UUID="2f5518cd-8453-4660-abe0-b2550b30ba10" TYPE="crypto_LUKS" PARTUUID="42a79f19-02"
/dev/vda1: UUID="5c44226e-3bc5-4b04-b369-beea69f6ca8c" TYPE="crypto_LUKS" PARTUUID="82535424-01"
/dev/vdb1: UUID="a50cd287-d4d2-4301-bd44-d3937e4d9df3" TYPE="crypto_LUKS" PARTUUID="9f2b9d8e-01"
/dev/vdc1: UUID="b893a690-a1a0-4021-b078-1d971fe156d2" TYPE="crypto_LUKS" PARTUUID="abbfb472-01"
/dev/vdd1: UUID="7e42260f-9739-4d8a-8e07-5cc19590d460" TYPE="crypto_LUKS" PARTUUID="40333c29-01"
/dev/mapper/luks-b893a690-a1a0-4021-b078-1d971fe156d2: UUID="tqgPNb-Jbos-IlCG-nWD9-8yMP-5ZII-jyvZb0" TYPE="LVM2_member"
/dev/mapper/luks-5c44226e-3bc5-4b04-b369-beea69f6ca8c: UUID="mnraHG-RX5m-eEmV-uYhr-UEng-x8JT-5YKZ3P" TYPE="LVM2_member"
/dev/mapper/luks-7e42260f-9739-4d8a-8e07-5cc19590d460: UUID="pSuS4s-e5vc-r3wV-PhBq-d7Nt-Myjf-RxZ5t0" TYPE="LVM2_member"
/dev/mapper/luks-a50cd287-d4d2-4301-bd44-d3937e4d9df3: UUID="odlXGf-Hzzd-C30f-cNML-wEFb-UVEA-IZYdzf" TYPE="LVM2_member"
E lsblk os vê.
# /usr/bin/lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 14G 0 disk
├─sda1 8:1 0 900M 0 part /boot
└─sda2 8:2 0 11.7G 0 part
└─luks-2f5518cd-8453-4660-abe0-b2550b30ba10 253:0 0 11.7G 0 crypt
├─vg00-slash 253:1 0 9000M 0 lvm /
vda 252:0 0 8G 0 disk
└─vda1 252:1 0 8G 0 part
└─luks-5c44226e-3bc5-4b04-b369-beea69f6ca8c 253:4 0 8G 0 crypt
vdb 252:16 0 7G 0 disk
└─vdb1 252:17 0 7G 0 part
└─luks-a50cd287-d4d2-4301-bd44-d3937e4d9df3 253:5 0 7G 0 crypt
vdc 252:32 0 15G 0 disk
└─vdc1 252:33 0 15G 0 part
└─luks-b893a690-a1a0-4021-b078-1d971fe156d2 253:6 0 15G 0 crypt
vdd 252:48 0 90G 0 disk
└─vdd1 252:49 0 90G 0 part
└─luks-7e42260f-9739-4d8a-8e07-5cc19590d460 253:9 0 90G 0 crypt
A saída acima é ruim, pois só vai até a entrada luks (para não-vg00). Uma saída de aparência adequada deve ter o LV sob luks, como:
vdd 252:48 0 90G 0 disk
└─vdd1 252:49 0 90G 0 part
└─luks-7e42260f-9739-4d8a-8e07-5cc19590d460 253:9 0 90G 0 crypt
├─vg01-opt 253:7 0 500M 0 lvm /opt
...
Aqui está a saída dos comandos do arquivo, que diz que o luks-* aponta para dm- e o dm- são do tipo LUKS.
# /usr/bin/file -s /dev/mapper/luks-*
/dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10: symbolic link to ../dm-0
/dev/mapper/luks-5c44226e-3bc5-4b04-b369-beea69f6ca8c: symbolic link to ../dm-4
/dev/mapper/luks-7e42260f-9739-4d8a-8e07-5cc19590d460: symbolic link to ../dm-9
/dev/mapper/luks-a50cd287-d4d2-4301-bd44-d3937e4d9df3: symbolic link to ../dm-5
/dev/mapper/luks-b893a690-a1a0-4021-b078-1d971fe156d2: symbolic link to ../dm-6
# /usr/bin/file -s /dev/dm-[04956]
/dev/dm-0: LVM2 PV (Linux Logical Volume Manager), UUID: 52oE6g-azSo-95kU-3NGu-Hyfq-tcN6-XKcQe5, size: 12566134784
/dev/dm-4: LVM2 PV (Linux Logical Volume Manager), UUID: mnraHG-RX5m-eEmV-uYhr-UEng-x8JT-5YKZ3P, size: 8586788864
/dev/dm-5: LVM2 PV (Linux Logical Volume Manager), UUID: odlXGf-Hzzd-C30f-cNML-wEFb-UVEA-IZYdzf, size: 7513047040
/dev/dm-6: LVM2 PV (Linux Logical Volume Manager), UUID: tqgPNb-Jbos-IlCG-nWD9-8yMP-5ZII-jyvZb0, size: 16102981632
/dev/dm-9: LVM2 PV (Linux Logical Volume Manager), UUID: pSuS4s-e5vc-r3wV-PhBq-d7Nt-Myjf-RxZ5t0, size: 96618938368
Então eu tento etapas manuais para ver os PVs.
# /usr/sbin/pvscan #(only finds the pv for vg00)
PV /dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10 VG vg00 lvm2 [<11,70 GiB / 980,00 MiB livre] Total: 1 [<11,70 GiB] / em uso: 1 [<11,70 GiB] / em nenhum VG: 0 [0 ]
# /usr/sbin/pvs #(only finds the pv for vg00)
PV VG Fmt Attr PSize PFree
/dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10 vg00 lvm2 a-- <11,70g 980,00m
Aqui está a versão do lvm2:
# /usr/bin/rpm -q lvm2
lvm2-2.03.14-4.el9.x86_64
E as configurações são todas padrão, sem filtros de rejeição ruins, aceita tudo.
# /usr/bin/rpm -qV lvm2
(sem saída)
# /usr/sbin/lvm dumpconfig
config { } local { } dmeventd { } ativação { } global { } shell { } backup { } log { } alocação { } dispositivos { }
# /bin/cat /etc/crypttab
luks-2f5518cd-8453-4660-abe0-b2550b30ba10 UUID=2f5518cd-8453-4660-abe0-b2550b30ba10 none discard
luks-5c44226e-3bc5-4b04-b369-beea69f6ca8c UUID=5c44226e-3bc5-4b04-b369-beea69f6ca8c none discard
luks- a50cd287-d4d2-4301-bd44-d3937e4d9df3 UUID=a50cd287-d4d2-4301-bd44-d3937e4d9df3 none discard
luks-b893a690-a1a0-4021-b078-1d971fe156d2 UUID=b893a690-a1a0-4021-b078-1d971fe156d2 none discard
luks-7e42260f- 9739-4d8a-8e07-5cc19590d460 UUID=7e42260f-9739-4d8a-8e07-5cc19590d460 nenhum descarte
Eu tento mencionar explicitamente uma configuração inline para filtrar-> aceitar itens relevantes, mas sem sorte:
# /usr/sbin/pvscan --config 'devices { filter = [ "a|.*|" ] } '
/usr/sbin/pvscan --config 'devices { filter = [ "a|.*|" , "a|/dev/mapper/luks-*|" , "a|/dev/dm-*|" ] } '
PV /dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10 VG vg00 lvm2 [<11,70 GiB / 980,00 MiB livre] Total: 1 [<11,70 GiB] / em uso: 1 [<11,70 GiB] / em nenhum VG: 0 [0 ]
Mas aqui está um vislumbre de esperança.
O ÚNICO truque que tenho que torna os PVs do LVM visíveis é se eu os especificar após --devices :
# /usr/bin/pvs --devices $(echo /dev/mapper/luks-* | tr ' ' ',' )
PV VG Fmt Attr PSize PFree
/dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10 vg00 lvm2 a-- <11.70g 980.00m
/dev/mapper/luks-5c44226e-3bc5-4b04-b369-beea69f6ca8c vg01 lvm2 a-- <8.00g 0
/dev/mapper/luks-7e42260f-9739-4d8a-8e07-5cc19590d460 vg01 lvm2 a-- 89.98g 0
/dev/mapper/luks-a50cd287-d4d2-4301-bd44-d3937e4d9df3 vg01 lvm2 a-- <7.00g 0
/dev/mapper/luks-b893a690-a1a0-4021-b078-1d971fe156d2 vg01 lvm2 a-- <15.00g 5.13g
Mas se eu executá-lo sem --devices, novamente ele volta a não ver os PVs.
# /usr/sbin/pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/luks-2f5518cd-8453-4660-abe0-b2550b30ba10 vg00 lvm2 a-- <11.70g 980.00m
Eu tentei uma atualização do yum, não muitos patches ainda, apenas kernel* e binutils, mas eles não ajudaram.
Por que meu LVM2 não está vendo a maioria dos PVs no LUKS?
Todas as idéias seriam muito apreciadas!!
Obrigada.
A resposta:
==
Meu mal-entendido foi que o LVM analisa todos os dispositivos possíveis dinamicamente quando você executa comandos, bem, pelo menos, verificando comandos, pensei.
Em vez disso, a implementação do Linux LVM possui um arquivo
/etc/lvm/devices/system.devices
para acompanhar o que deve ser usado e é atualizado para determinadas operações, como a importação.Então, quando eu migrei discos (em kvm/qemu) para o novo host, ele não os olhava. Tiveram que ser importados.
Agora eles aparecem em todos os lugares que eu esperaria, como /usr/sbin/pvs etc.
Obrigado.