2011年5月1日日曜日

Ubuntu 11.04 で KVM + 仮想マシンマネージャを試してみる

Ubuntu 11.04 で KVM を試してみました。


KVM のネットワーク設定

KVM の仮想マシンが外部のネットワークへ接続するには、NAT を使う方法が簡単です。
ただし、この方法では外部のホストから仮想マシンへアクセスできない。
ホスト OS の物理インタフェースを通して、外部のホストから仮想マシンへのアクセスを許すには、ブリッジの設定が必要になります。

  1. bridge-utils パッケージをインストールします。
    $ sudo apt-get install bridge-utils

  2. ホスト OS のブリッジ設定をするために、"/etc/network/interfaces" を編集します。
    [/etc/network/interfaces]
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet manual

    auto br0
    iface br0 inet static
    address 192.168.1.10
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off


  3. ネットワーク設定の変更を反映します。
    $ sudo /etc/init.d/networking restart

  4. iptables、ufw などのファイアウォール設定を変更します。私の場合は、ufw を使用しているので、FORWARD のデフォルト ポリシーを ACCEPT に変更する。
    $ sudo vi /etc/default/ufw ← DEFAULT_FORWARD_POLICY="ACCEPT" に変更
    $ sudo ufw reload ← 変更を反映



KVM、仮想マシンマネージャーのインストール

  1. CPU が仮想化支援機能に対応しているか調べます。(BIOS の設定変更が必要な場合もあります。)
    $ sudo apt-get install cpu-checker
    $ sudo kvm-ok | grep CPU
    INFO: Your CPU supports KVM extensions

    または、
    $ egrep --color '(vmx|svm)' /proc/cpuinfo ← 出力があれば対応しています

  2. 必要なパッケージをインストールします。
    $ sudo apt-get install kvm libvirt-bin
    $ kvm-ok
    INFO: /dev/kvm exists
    KVM acceleration can be used

  3. ユーザを libvirtd グループに加えます。
    $ sudo adduser $USER libvirtd

  4. libvirtd グループに加わったことを反映するために、ログインしなおし、id コマンドで反映を確認します。
    $ id

  5. virt-manager、virt-viewer をインストールします。
    $ sudo apt-get install virt-manager virt-viewer


仮想マシンマネージャの起動、設定

  1. [仮想マシンマネージャ] (virt-manager) を起動します。
    (端末から起動する場合は、"virt-manager &")

  2. [localhost (QEMU)] が選択された状態で、メニューから [編集] > [接続の詳細] を選択する。

  3. [仮想ネットワーク] タブを選択します。初期設定では、[default] という名前のデバイス [virbr0] が存在します。これは、NAT するネットワークです。[default] は、設定変更できないようなので、[ネットワークの停止] をクリックした後、[ネットワークの削除] をクリックして削除します。

  4. [ネットワークの追加] をクリックし、新しい仮想ネットワークを作成します。
    (設定ファイルは、/var/lib/libvirt/network/*.xml に作成されます。)

    (作成例)
    ネットワーク名: default
    ネットワーク: 192.168.201.0/24
    DHCP 範囲の選択: (開始) 192.168.201.200, (終了) 192.168.201.249
    物理ネットワークへの接続: 物理ネットワークにフォワード, (宛先) いずれかの物理デバイス, (モード) NAT

  5. 仮想ディスクを保存する ストレージ プールを作成します。/var/lib/libvirt/images/ のままでよければ、ストレージ プールの作成作業は必要ありません。
    $ sudo mkdir -pm 755 /somedir/libvirt_images

  6. [ホストの詳細] の [ストレージ] タブを選択、[プールの追加] ボタンをクリックします。

    (作成例)
    名前: libvirt_images
    種類: dir: ファイルシステムディレクトリー
    ターゲットパス: /somedir/libvirt_images

  7. [default] を選択して、[プールの停止] をクリック、[自動起動] のチェックを外し、[適用] をクリックします。[default] を使う場合は、この作業は必要ありません。

  8. 仮想マシンマネージャの [新しい仮想マシンの作成] をクリックして、仮想マシンを作成します。
    (※ 仮想マシンの設定は、/etc/libvirt/qemu/<仮想マシン名>.xml に作成されます。)

  9. 仮想マシン作成後、仮想マシンを選択して、[開く] をクリック。[詳細] > [ディスプレイVNC] > [キーマップ] を [ja] に指定します。デフォルトの [Auto] では、アンダーバーの入力ができませんでした。

Virtual Machine Viewer での接続

仮想端末から、以下のようにして接続します。
$ virt-viewer -c qemu:///system VirtualMachine &


~/.bash_aliases に以下の行を加えると便利かもしれません。
alias virt-viewer='virt-viewer -c qemu:///system'




参考

0 件のコメント: