[linux-l] Volumen gruppen (LVM)

Peter Ross Peter.Ross at bogen.in-berlin.de
Do Jul 13 07:31:33 CEST 2017


Hi Michael,

On Wed, 12 Jul 2017, Michael Kappes wrote:

> Liebe Liste,
>
> Ich habe eine Maschine mit "mehreren" Volumen Gruppen und mehreren
> Virtuellen Maschinen. Gibt es einen Befehl im LVM der mir anzeigt welche
> VG an welcher VM "hängt" ?

Ich vermute mal, Du benutzt Linux als Hostsystem zur Virtualisierung?

Z.B. mittels KVM?

Und auf dem Hostsystem hast Du LVM?

Ich nehme das mal an.

Die KVM-Kommandos kenne ich leider nicht (mehr) ordentlich, habe es zu 
lange nicht mehr genutzt.

"virsh list" für laufende Machinen.

"virsh dumpxml <vm>" gibt die Konfiguration der VM.

Darin kann man dann nach disk devices suchen. xmlgrep kann dabei z.B. 
helfen.

Wenn Du den Disknamen hast, kannst Du mit "df <disk file>" abfragen, wo 
es liegt.

Das kann man sicher auch skripten.

So in etwa, um eine Tabelle der virtuellen Disks und wo sie liegen zu 
bekommen:

get_vm_list()
{
    virsh list | awk '{..}' # print the list of VMs
}

get_vm_disks()
{
    VM=$1
    virsh dumpxml ${VM} | xmlgrep .. # get disk file names
}

get_device()
{
    disk_file=$1
    df ${disk_file} | awk '{..}'    # Get device (LVM volume)
                                    # for the disk file in question
}

vms=`get_vm_list`
for vm in ${vms}; do
    disks=`get_vm_disks ${vm}`
    for disk in ${disks}; do
       device=`get_device ${disk}`
       echo "VM:${vm} disk:${disk} device:${device}"
    done
done

Es mag aber auch eleganter gehen;-)

Gruß
Peter


Mehr Informationen über die Mailingliste linux-l