![vmbuilderのようにVMを手動でクレジットする方法](https://rvso.com/image/97227/vmbuilder%E3%81%AE%E3%82%88%E3%81%86%E3%81%ABVM%E3%82%92%E6%89%8B%E5%8B%95%E3%81%A7%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
私は自宅のサーバーで KVM ベースの VM を試しています。ホストは Ubuntu Server 16.04.1 LTS を実行し、ゲストも同様に実行します。
vmbuilder を使用してゲストを作成することができました。qcow2 イメージが出力され、それを LVM 論理ボリューム上の raw イメージに変換してパフォーマンスを向上させました。このイメージの合計サイズは約 900 MB で、私のニーズには十分対応できます。
ただし、手動で VM を作成し、Ubuntu サーバー ISO から Ubuntu をインストールすると、論理ボリュームをファイル RAW イメージではなくブロック RAW デバイスとして VM ゲストに公開できます。私のテストでは、これにより、テスト方法に応じて、ディスク パフォーマンスがさらに大幅に向上するようです。ただし、この VM はそれほど軽量ではなく (1.8 GB 程度インストール済み)、起動時間も大幅に遅くなります (vmbuilder によって作成されたブロック デバイス VM は約 5 秒で起動しますが、手動でインストールしたファイルベースの VM は約 15 秒かかります)。
したがって、私の目標は、vmbuilder がインストールする VM と同じような、パッケージが少なく、起動が速い VM を作成することですが、ファイルベースの raw イメージではなく、raw ブロック デバイスをストレージとして使用することです。
質問:
vmbuilder によって作成された VM は、手動でインストールした場合とどう違うのでしょうか?
Ubuntu (以前は) には Ubuntu JeOS があり、サーバー iso からインストールできるという参照も見ましたが、方法がわかりません。これはまだオプションですか? もしそうなら、vmbuilder がインストールするのはそれですか?
vmbuilder のようなシステムを手動で作成するにはどうすればよいでしょうか。または、qcow2 イメージを raw ファイル イメージではなく raw ブロックに変換するにはどうすればよいでしょうか。
答え1
答えは得られませんでしたが、部分的な解決策を見つけることができました。私が見つけたのはこれです記事ここでは、Qcow2 イメージを、raw ファイル イメージではなく raw ブロック デバイスに変換する方法について説明します。
基本的な手順:
- VMをオフにする必要があります
次を使用して qcow2 を raw イメージ ファイルに変換します。
qemu-img 変換 [qcow2] [rawimg]
生画像のサイズをバイト単位で取得します:
ls -l [rawimg]
123456789
LV を作成し、RAW 画像のサイズと正確に一致させます。
lvcreate -L 123456789b -n [lvname] [vgroup]
生の画像をLVに書き込みます:
dd if=[rawimg] of=[path/to/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>