それなりに適当にやってます

なんとなくそれっぽいメモとか備忘録とか適当に。 2018年5月にブログ移転しました。 古い記事は未整理です。

Ubuntu 10.10 で KVM on KVM (Nested KVM)

'13/10/30 追記

Ubuntu 13.04 でやろうとしたらダメだったけど、少し設定調整したらいけた。

virt-managerの"ホストCPUの設定をコピーではダメで、以下の対応が必要だった。

$ virsh edit "VM名"
...
 <cpu mode='host-passthrough'>
 </cpu>
...

これでとりあえずVMが起動するところまでは確認した。


'12/2/13 追記

こちら に最新の情報があるのでこちらを参照した方が良いです。

要約すると

  • qemu-kvm の"-enable-nesting"はなくなっている
  • kvm_amd or kvm_intel モジュールで "nested=1" するのは変更なし
  • VMで仮想化支援を有効にしたい場合は virt-manager のVMの詳細設定で[Proccessor]=>[設定]にある"ホストCPUの設定をコピー"をクリックすればOK

下記みたいにややこい事する必要はなくなっています。

以上


こちら を参考にして適当に試した。 あとAMD系CPUでないと無理だと思う。

1月末ぐらいにINTEL系のパッチが出てたような気がするけど、そこまで確認してない。

あとKVM、libvirt-bin、virt-managerな環境が出来ている前提で適当に書いてる。

1.libvirt-bin 止めて、Kernelモジュールをホゲ

$ sudo /etc/init.d/libvirt-bin stop
$ sudo modprobe -r kvm_amd
$ sudo modprobe kvm_amd nested=1
$ sudo gedit /etc/modprobe.d/kvm.conf
  -----
  options kvm_amd nested=1
  -----

2./usr/bin の下に "kvm-nested" というファイルを作って実行権限付与

$ sudo gedit /usr/bin/kvm-nested
  -----
  #!/bin/bash
  exec /usr/bin/qemu-system-x86_64 -enable-nesting "$@"
  -----
$ sudo chmod +x /usr/bin/kvm-nested

3.AppArmorの設定に "kvm-nested" を追記

$ sudo gedit /etc/apparmor.d/abstractions/libvirt-qemu
  -----
  /usr/bin/kvm-nested rmix,
  -----
  ※"/usr/bin/kvm rmix," の次行ぐらいに書いておけばいんじゃないかな。

4.シンボリックリンクの張り替え

$ sudo unlink /usr/bin/kvm
$ sudo ln -s /usr/bin/kvm-nested /usr/bin/kvm

で、virt-manager(仮想マシンマネージャ)起動して、debian6とか適当な仮想マシン作成

仮想マシン上で "cat /proc/cpuinfo | grep svm" とかして AMD-V が使える事を確認

その仮想マシンでさらにKVMの環境作って、仮想マシンが起動できたらOKなんじゃないかな。重いだろうけどね。。


まあ何事も適当に。


以上