私のホームサーバーでKVMベースの仮想マシンを試しています。ホストシステムはUbuntu Server 16.04.1 LTSを実行しており、ゲストも同様です。
vmbuilder を使用してゲストを作成できます。 qcow2イメージを出力し、LVM論理ボリュームのネイティブイメージに変換してパフォーマンスを向上させます。画像の全体サイズは約900MBで、私のニーズにぴったりです。
ただし、VMを手動で作成してUbuntu Server ISOからUbuntuをインストールすると、論理ボリュームをファイルのRAWイメージではなくブロックRAWデバイスとしてVMゲストに公開できます。テストの結果、テスト方法によって一般にディスクのパフォーマンスが大幅に向上することがわかりました。しかし、このVMはあまりリーン(1.8GBほどインストール)されず、起動時間もはるかに遅い(vmbuilderで作成したブロックデバイスVMは起動に約5秒かかり、私が手動でインストールしたファイルベースのVMは約15秒かかりました) )。 。
したがって、私の目標は、vmbuilderのインストール、より少ない数のパッケージ、高速ブートなどの仮想マシンを備えていますが、rawファイルベースの画像の代わりにrawブロックデバイスを保存するために使用することです。
質問:
vmbuilderで作成された仮想マシンは、手動でインストールした仮想マシンとどう違いますか?
過去にUbuntuにUbuntu JeOSがあることを見て、サーバーISOからインストールする方法への参照も見ましたが、方法がわかりません。これはまだオプションですか?それでは、vmbuilderによってインストールされましたか?
vmbuilder に似たシステムを手動で生成する方法、または qcow2 イメージを raw ファイルイメージではなく raw ブロックに変換する方法.
ベストアンサー1
まだ答えを受けていませんが、部分的な解決策を見つけることができました。私が見つけたのはこれです。記事、Qcow2 イメージを raw ファイルイメージではなく raw ブロックデバイスに変換する方法を説明します。
基本ステップ:
- VMをシャットダウンする必要があります。
次のコマンドを使用して、qcow2をrawイメージファイルに変換します。
qemu-img 変換 [qcow2] [rawimg]
元の画像のサイズをバイト単位で取得します。
ls -l [オリジナル]
123456789
LVを作成し、元の画像のサイズと正確に一致します。
lvcreate -L 123456789b -n [lvname] [vgroup]
LVに元の画像を書き込む:
dd if=[rawimg] of=[パス/ターゲット/lv]
それに応じてVMのXML定義を変更します。たとえば、次のようになります。
<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>
到着する:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/vgroup/lv_disk'/>
<target dev='vda' bus='virtio'/>
</disk>