> ## Content Index
> Fetch the complete content index at: https://www.linuxfrickeln.de/llms.txt
> Use this file to discover other available public pages before exploring further.

# QEMU-KVM: Konvertierung von RAW-Images zu Logical Volumes
- URL: https://www.linuxfrickeln.de/2015/12/22/converting-raw-disk-images-to-lvm-logical-volumes/
- Published: 2015-12-22T13:45:33.000Z
- Updated: 2016-01-01T17:10:15.000Z
- Author: Tom Schäfer

**Logical Volumes** bieten ein sehr flexibles **Storage-Management** und sollten in keinem Linux-Storagesystem fehlen. Leider werden sie immer noch nicht so häufig verwendet, wie es ihr hoher Nutzen suggeriert.

In diesem kurzen Artikel konvertiere ich Standard KVM-Images zu Logical Volumes um damit flexibler zu sein, was nachträgliche Anpassungen der Speichergröße u.Ä. angeht. Die einzelnen Logical Volumes gehören zu einer **Volume Group** welche wiederum auf einem [**Raid 1**](https://de.wikipedia.org/wiki/RAID?ref=linuxfrickeln.de) aufsetzt und somit redundant ausgelegt ist.

Voraussetzung ist, dass das Image im RAW-Format vorliegt und **nicht in qcow2, vhd, vdi, vmdk oder Ähnlichem**. Außerdem sollte die betroffene VM ausgeschaltet sein, damit während des Kopiervorgangs keine Daten mehr in das Image geschrieben werden.

Zum Kopieren werden wir [**dd**](https://de.wikipedia.org/wiki/Dd%5F%28Unix%29?ref=linuxfrickeln.de) nutzen.  
Dabei spielt das Dateisystem und die Datenebene keine Rolle, weil alle Daten blockweise kopiert werden.

Ein gut gemeinter Rat: **vor Ausführung eines dd-Befehls bitte *immer* ein Backup anlegen**.

Nun aber ans Eingemachte...

Infos über das Imagefile bekommen wir mit `qemu-img info /kvm/images/disk/deb8.img`.

Output:

```
image: deb8.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 8.0G

```

Der Parameter **virtual size** gibt den maximal von der VM nutzbaren Speicher an, während der Wert **disk size** den belegten Speicher auf dem Host angibt.  
Für das gleich folgende **dd**\-Kommando ist es wichtig, ein **mindestens** genauso großes LV wie das IMG-file zu erstellen.

Erstellen des LVs

```
lvcreate -L 8589934592b vg_name -n deb8

```

Kopieren des Imageinhalts auf das angelegte LV

```
dd if=/kvm/images/disk/deb8.img of=/dev/vg_name/deb8

```

**Sei vorsichtig bei der Anwendung von dd**, es kann unschöne Spuren hinterlassen und komplette Dateisysteme zerschießen, wenn falsch angewendet.

Es wird nun blockweise von Input (if=) nach Output (of=) kopiert. Das bedeutet auch, dass das Zieldevice nicht mehr den Stand von vor Ausführung des Befehls haben wird, sondern mit dem des Inputs überschrieben wird. Etwaige wichtige Daten sind unwiederbringlich verloren, sollten sie nicht vorher gesichert worden sein.

Das Ganze kann je nach Größe durchaus etwas dauern. Sobald fertig, kontrolliere die Einstellungen der VM. Es sollte mindestens das Quelldevice des Storages der VM auf das neue geändert werden.

**VM starten und über die gewonnene Flexibilität freuen!**