vmbuilderなどの仮想マシンに手動でクレジットを提供する方法

vmbuilderなどの仮想マシンに手動でクレジットを提供する方法

私のホームサーバーで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ブロックデバイスを保存するために使用することです。

質問:

  1. vmbuilderで作成された仮想マシンは、手動でインストールした仮想マシンとどう違いますか?

  2. 過去にUbuntuにUbuntu JeOSがあることを見て、サーバーISOからインストールする方法への参照も見ましたが、方法がわかりません。これはまだオプションですか?それでは、vmbuilderによってインストールされましたか?

  3. vmbuilder に似たシステムを手動で生成する方法、または qcow2 イメージを raw ファイルイメージではなく raw ブロックに変換する方法.

ベストアンサー1

まだ答えを受けていませんが、部分的な解決策を見つけることができました。私が見つけたのはこれです。記事、Qcow2 イメージを raw ファイルイメージではなく raw ブロックデバイスに変換する方法を説明します。

基本ステップ:

  1. VMをシャットダウンする必要があります。
  2. 次のコマンドを使用して、qcow2をrawイメージファイルに変換します。

    qemu-img 変換 [qcow2] [rawimg]

  3. 元の画像のサイズをバイト単位で取得します。

    ls -l [オリジナル]

    123456789

  4. LVを作成し、元の画像のサイズと正確に一致します。

    lvcreate -L 123456789b -n [lvname] [vgroup]

  5. 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>

おすすめ記事