qemuを触った話
qemuで起こったトラブルを自分用にメモ
2台目にインストールするとVNCで接続しろと出る。VNC接続でもいいけれど、1台目はSDLを利用してるのでできれば同じにしたい。
SDL support no
yesにならないので多分何らかのライブラリが足りないんだろうなあと考えググる。
http://kawa0810.hateblo.jp/entry/2014/05/29/004717
どうやら libsdl1.2-devが必要らしい。
1台目
root@munou:/home/munou/qemu/build# ../configure | grep SDL
SDL support yes
root@munou:/home/munou/qemu/build# dpkg -l | grep sdl
ii libsdl1.2-dev 1.2.15-10+b1 amd64 Simple DirectMedia Layer development files
ii libsdl1.2debian:amd64 1.2.15-10+b1 amd64 Simple DirectMedia Layer
2台目
root@munou2:/home/munou/qemu# ./configure | grep SDL
SDL support no
root@munou2:/home/munou/qemu# dpkg -l | grep sdl
ii libsdl1.2debian:amd64 1.2.15-10+b1 amd64 Simple DirectMedia Layer
ということでapt install する
root@munou2:/home/munou/qemu/build# ../configure | grep SDL
SDL support yes
やったぜ。
- qemuでpostcopyをしたかった話
これを読む。
http://wiki.qemu.org/Features/PostCopyLiveMigration
migrate_set_capability postcopy-ram on をしてから普通にmigrationをすればpostcopyになるんだろうなと思った。
移送元
root@munou:/home/munou/qemu/build# qemu-system-x86_64 \-enable-kvm \-monitor stdio \-m 1024 \/home/qemuimage/VM-debian.qcow2
QEMU 2.6.0 monitor - type 'help' for more information
(qemu) migrate_set_capability postcopy-ram on
(qemu) migrate -d tcp:192.168.11.22:4449
(qemu) qemu-system-x86_64: socket_writev_buffer: Got err=32 for (131758/18446744073709551615)
移送先
root@munou2:~# qemu-system-x86_64 /home/qemuimage/VM-debian.qcow2 -enable-kvm -monitor stdio -m 1024 -incoming tcp:0:4449
QEMU 2.6.0 monitor - type 'help' for more information
(qemu) migrate_set_capability postcopy-ram on
(qemu) qemu-system-x86_64: postcopy_ram_supported_by_host: userfaultfd not available: Function not implemented
qemu-system-x86_64: load of migration failed: Operation not permitted
userfaultfd??? ってなんだ???とよく読んでみると
On Linux: userfaultfd in the 4.3 kernel is needed (Now supported on most architectures, tested mainly on x86, some testing on Power and aarch64, s390 support being worked on)
って書いてありました。今つかってるの3.16でしたね。
で、2台とも4.3.1入れてみたんですけど
root@munou:/home/munou# uname -r
4.3.1
いざやってみると
(qemu) qemu-system-x86_64: postcopy_ram_supported_by_host: userfaultfd not available: Function not implemented
またこれですね、
Linux/include/uapi/linux/userfaultfd.hやfs/userfaultfd.c もありますし、どういうことでしょうという気持ちです。
追記2016/8/26
カーネルコンフィグでUSERFAULTFDって項目許可してないだけでした・・・以上。