Con el incremento del uso de la virtualización viene el incremento de imágenes de disco (.iso, .vmdl, .qcow2, .vdi, etc) y sobre todo LVM’s, volumenes lógicos (LV), como alamacenamiento dedicado para Virtual Machines (VM). A menudo, cuando creamos o configuramos una VM, varias particiones se crean dentro de esos imágenes de discos.
Por esto, podemos llegar a tener una máquina (el host virtualizado), normalmente instalada a través de varias particiones,una de las cuales contienes sistemas de ficheros conteniendo una imagen de disco o un volumen físico LVM con varios volumenes lógicos, los cuales a su vez contienen algunas otras particiones, pudiendo contener un simple sistema de ficheros, o de nuevo contener un volumen LVM o RAID, que a su vez contienen más particiones, etc.
Aquí mostramos un metodo para acceder a esas particiones (LVM).
Usamos kpartx para esto. Desde el dom0, hacemos:
# kpartx -av /dev/grupo1/nombrevm
add map grupo1-nombrevm1 (253:13): 0 1024000 linear /dev/grupo1/nombrevm 2048 add map grupo1-nombrevm2 (253:14): 0 11556864 linear /dev/grupo1/nombrevm 1026048
# pvscan
PV /dev/sdb1 VG grupo2 lvm2 [1,82 TiB / 0 free] PV /dev/mapper/grupo1-nombrevm2 VG VolGroup lvm2 [5,51 GiB / 0 free] PV /dev/sda5 VG grupo1 lvm2 [688,48 GiB / 232,48 GiB free] Total: 3 [2,50 TiB] / in use: 3 [2,50 TiB] / in no VG: 0 [0 ]
Podemos ver que grupo1-nombrevm2, tiene una volumen lógico (grupo1-nombrevm1 es una partición normal)
# lvscan
ACTIVE '/dev/grupo2/backup' [1,82 TiB] inherit inactive '/dev/VolGroup/lv_root' [4,91 GiB] inherit inactive '/dev/VolGroup/lv_swap' [612,00 MiB] inherit ...
Aquí podemos ver que el grupo de volumenes VolGroup tiene dos particiones asociadas.
Ojo si existe más de una VM que internamente tenga el mimsmo nombre de volumen y grupo, dará algún timpo de inconsistencia como:
# lvscan
WARNING: Duplicate VG name VolGroup: Existing NbTCrS-Ba1k-ZraP-60dn-FcXN-ug6X-8OeC0g (created here) takes precedence over HOmS0b-C7fE-Gca5-sjnz-yOdI-1l8w-TdXSg8 WARNING: Duplicate VG name VolGroup: Existing HOmS0b-C7fE-Gca5-sjnz-yOdI-1l8w-TdXSg8 (created here) takes precedence over NbTCrS-Ba1k-ZraP-60dn-FcXN-ug6X-8OeC0g WARNING: Duplicate VG name VolGroup: Existing NbTCrS-Ba1k-ZraP-60dn-FcXN-ug6X-8OeC0g (created here) takes precedence over HOmS0b-C7fE-Gca5-sjnz-yOdI-1l8w-TdXSg8 inactive '/dev/VolGroup/lv_root' [4,91 GiB] inherit inactive '/dev/VolGroup/lv_swap' [612,00 MiB] inherit WARNING: Duplicate VG name VolGroup: Existing HOmS0b-C7fE-Gca5-sjnz-yOdI-1l8w-TdXSg8 (created here) takes precedence over NbTCrS-Ba1k-ZraP-60dn-FcXN-ug6X-8OeC0g
Aviso: No ejecutar más de un solo "kpartx -a" cuando las máquinas domU puedan tener los mismos nombres de grupo y volumen.
Si se sigue con normalidad, activamos el grupo de volumen:
# vgchange -a y VolGroup
2 logical volume(s) in volume group "VolGroup" now active ACTIVE '/dev/VolGroup/lv_root' [4,91 GiB] inherit ACTIVE '/dev/VolGroup/lv_swap' [612,00 MiB] inherit
# mount /dev/VolGroup/lv_root /mnt
Si es ext4
# mount -t ext4 /dev/VolGroup/lv_root /mnt
Desmontar la partición
# umount /mnt
Desactivar el volgroup
# vgchange -a n VolGroup
Desligar el /dev/mapper
# kpartx -d /dev/grupo1/nombrevm
Más info en:
http://www.normation.com/en/blog/2011/04/07/mounting-partitions-stored-in-a-logical-volume-or-a-disk-image/