![Wie man eine VM manuell gutschreibt, wie es vmbuilder tut](https://rvso.com/image/97227/Wie%20man%20eine%20VM%20manuell%20gutschreibt%2C%20wie%20es%20vmbuilder%20tut.png)
Ich experimentiere mit KVM-basierten VMs auf meinem Heimserver. Der Host läuft unter Ubuntu Server 16.04.1 LTS, und die Gäste würden das auch tun.
Ich konnte mit vmbuilder einen Gast erstellen. Er gibt ein qcow2-Image aus, das ich dann zur Leistungssteigerung in ein Rohimage auf einem logischen LVM-Volume konvertiert habe. Die Gesamtgröße dieses Images beträgt etwa 900 MB und es funktioniert gut für meine Anforderungen.
Wenn ich jedoch manuell eine VM erstelle und Ubuntu vom Ubuntu-Server-ISO darauf installiere, kann ich mein logisches Volume dem VM-Gast als Block-Raw-Gerät und nicht als Datei-Raw-Image verfügbar machen. Bei meinen Tests scheint dies die Festplattenleistung im Allgemeinen noch weiter zu verbessern, und zwar um nicht unerhebliche Margen, je nachdem, wie ich teste. Diese VM ist jedoch bei weitem nicht so schlank (installiert etwa 1,8 GB) und die Startzeit ist viel langsamer (die von vmbuilder erstellte Block-Device-VM startet in etwa 5 Sekunden, die dateibasierte VM, die ich manuell installiert habe, in etwa 15 Sekunden).
Mein Ziel ist also, eine VM zu haben, die der von vmbuilder installierten ähnelt, mit weniger Paketen, schnellem Booten usw., die aber als Speicher ein Raw-Blockgerät statt des dateibasierten Raw-Images verwendet.
Fragen:
Worin unterscheidet sich die von vmbuilder erstellte VM von der VM, die ich manuell installiere?
Ich sehe, dass Ubuntu (früher) Ubuntu JeOS hatte und sehe Hinweise, dass es vom Server-ISO installiert werden kann, aber ich kann nicht herausfinden, wie. Ist das immer noch eine Option? Wenn ja, ist es das, was der VMbuilder installiert?
Wie kann ich manuell ein vmbuilder-ähnliches System erstellen ODER wie kann ich das qcow2-Image in ein RAW-Block-Image statt in ein RAW-Datei-Image konvertieren?
Antwort1
Dies wurde nicht beantwortet, aber ich konnte eine Teillösung finden. Was ich gefunden habe, ist diesArtikel, darin wird beschrieben, wie das Qcow2-Image in ein RAW-Blockgerät statt in ein RAW-Dateiimage konvertiert wird.
Grundlagen:
- VM muss ausgeschaltet sein
Konvertieren Sie qcow2 in eine RAW-Bilddatei mit:
qemu-img konvertieren [qcow2] [rawimg]
Größe des Rohbildes in Bytes ermitteln:
ls -l [rohes mg]
123456789
LV erstellen und Größe exakt an das Rohbild anpassen:
lvcreate -L 123456789b -n [lvname] [vgruppe]
Rohbild in LV schreiben:
dd if=[rawimg] of=[Pfad/zu/lv]
Ändern Sie die XML-Definition der VM entsprechend, beispielsweise von:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/srv/virtual/vm_web/tmp5GWO4q.qcow2'/>
<target dev='hda' bus='virtio'/>
</disk>
Zu:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/vgroup/lv_disk'/>
<target dev='vda' bus='virtio'/>
</disk>