momoto.github.io

Libvirtを用いて仮想マシンを構築、インストールする

virt-installを使って、CUIから仮想マシンのディスクイメージを作成する。

動作要件として、ホストOSにハイパーバイザ(KVMやXen)とlibvirtがインストールされていて、libvirtdが起動している必要がある。 virt-install自体は、RPMでは”python-virtinst”パッケージに含まれている。 (参考:RPM resource virt-install

virt-installのオプションには仮想マシンに割り当てるリソースなどを指定する。 例えば、仮想マシン名は「myvirtualmachine」、インストールイメージにはkddilabs.jpのミラーが配布しているCentOS6.3[x86_64]を 指定した準仮想化ゲストOSを/var/lib/libvirt/images/myvirtualmachine.imgに作成する場合は下のようなオプションになる。

1
2
3
4
5
6
7
8
9
10
# virt-install \
--name=myvirtualmachine \
--ram=512 \
--vcpus=1 \
--paravirt \
--location='ftp://ftp.kddilabs.jp/Linux/packages/CentOS/6.3/os/x86_64/' \
--file=/var/lib/libvirt/images/myvirtualmachine.img \
--file-size=8 \
--nographics \
--keymap=jp106

また、--promptオプションを使うと対話的に各項目を指定することができる。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# virt-install --prompt

  Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems.
  // 完全仮想化を行うかどうか(noで準仮想化)
    no

  What is the name of your virtual machine?
  // 仮想マシンの名称
    myvirtualmachine

  How much RAM should be allocated (in megabytes)?
  // 仮想マシンに割り当てるメインメモリの容量
    512

  What would you like to use as the disk (file path)?
  // イメージディスクのファイルパス
    /var/lib/libvirt/images/myvirtualmachine.img

  How large would you like the disk (/var/lib/xen/images/centos-6.3-x86_64.img) to be (in gigabytes)?
  // イメージディスクに割り当てる容量
    8

  Would you like to enable graphics support? (yes or no)
  // グラフィクスサポートを有効にするかどうか
    no

  What is the install CD-ROM/ISO or URL?
  // ISOイメージのファイルパス、または配布元のURL
    ftp://ftp.kddilabs.jp/Linux/packages/CentOS/6.3/os/x86_64/

--nographicsオプションを指定していれば、テキストユーザインタフェースでゲストOSのインストールが始まる。 ゲストOSとのコンソール接続を終了する場合は、’Ctrl + ]‘でホストOSへ戻ることができる。

参考