[Linux] KVM (Kernel-based Virtual Machine)

ホストOSはUbuntu 11.10(oneiric)

# KVM 0.14.1
$ sudo apt-get install qemu-kvm

  新たにインストールされるもの
    bridge-utils
    libaio1
    qemu-common
    qemu-kvm
    seabios
    vgabios

# 仮想マシン管理GUIアプリ
$ sudo apt-get install virt-manager

  新たにインストールされるもの
    libvirt-bin
    libvirt0
    libxenstore3.0
    python-gtk-vnc
    python-libvirt
    python-urlgrabber
    virt-manager
    virtinst

# KVMを使うユーザをグループkvmに追加する
$ sudo adduser [userid] kvm

# OSの再起動が必要?

# KVMの確認 (intel-vtでの実行結果)
$ lsmod | grep kvm
kvm_intel  55857 0
kvm       337036 1 kvm_intel

# 仮想マシンの作成(GUI)
#  gksudoで起動するとウィンドウメニューがウィンドウに付いたままなので便利かも?
$ virt-manager

「今すぐディスク全体を割り当てる」
チェックを入れないと作成されるのは使用容量分都度増加するrawスパースファイル。
チェックを入れると、初めから最大容量を確保したrawノンスパースファイル。
ノンスバースファイルの方が動作は軽い。

rawノンスパースのイメージファイルをコピーする時は必ず
cpコマンドに--sparse=neverオプションを付ける。
無指定だとcpコマンドは未使用領域を圧縮してしまう。

「インストールの前に設定をカスタマイズする」
チェックを入れると、ゲストOSのインストール前に仮想PCの構成をデフォルト以外に
変更することができる。

# ゲストOSを確認 (virt-managerのGUI上でも見られる)
$ virsh list --all

# 仮想ネットワークのオーバーヘッドの削減
#  毎回有効にする場合は/etc/modulesに追加しておく
$ sudo modprobe vhost_net
$ sudo echo vhost_net >> /etc/modules


# 仮想CPUの選択肢一覧
$ kvm -cpu ?

# 仮想サウンドカードの選択肢一覧
$ kvm -soundhw ?

# 利用可能?全デバイス一覧
$ kvm -device ?



TODO
・Ubuntu 12.04(precise)をゲストOSにする場合で仮想CPUを2つ以上で動作させられないのか?
--->CPUモデルn270(Intel Atom CPU N270)にすると動く。ホストはIntel Core 2 Quad Q9450
--->--->ホストCPUの設定をコピーしてからqemu32を選択しておくのが無難か?
・ゲストOSのサウンドを鳴らす方法は?
--->全選択肢(ac97, es1270, ich6, pcspk, sb16)で音が出ず。