QEMU v2.7.91 (v2.8.0-rc1)にネットのバグ

ある日突然,仮想マシンがへそを曲げました.ホストのdnsmasqからゲストはIPアドレスを取得できず,IPv4LL (Local Link address)を自分勝手に設定するものですから,ホストとも当然外界ともつながりません.

ゲストのネットワーク設定を固定IPアドレスにすると,IPアドレスは設定されますが,ホストとつながらない状況は変わりません.つまり,ネットワークの機能そのものに問題があります.

KVM関係のパッケージのupdateをしましたが,事態は改善しません.

結論的には,表記にあるように,QEMUをv2.7.91 (v2.8.0-rc1)にするとNGと判明しました.gitのbranchを当然ながらのmasterにしておくと,はまります^^;

もちろん,今まで動いていたのに何にもしないのにある日突然動かなくなったわけではなく,いろいろアップデートの作業をしていて,気がついたら仮想マシンのネットが機能しなくなっていたと言うことです^^;

そこで,QEMUをStableの2.6(v2.6.2)にして使用しようかと思いましたが,qemuだけstable-2.6にしても,あまりに古くてvirt-mangerと整合性が悪いようで,仮想マシンが動いてくれません^^;;

そこで,不安定版^^; だけどソースがリリースされている2.7.0にしてみました.動きました.ネットもつながります.

2.8.0が正式リリースになるまでは,2.7.0を使うことにします.

[追記] 2.7.92 (2.8.0-rc2)も改善なし(2016年11月30日(水))

表題のままです.2.7.92がリリースされましたが,ネットに関する不具合は直っていません.

たぶん,qemu起動時のオプションの仕様が違うのだと思います.

Kernel 4.8.4で解消 (Kernel 4.8.0でvirtioグラフィック動かず(3))

治りました.

ゲストの仮想マシンのKernelを4.8.0〜4.8.3とした場合,仮想ビデオにvirtioを選択するとX.orgは動きませんでした.この問題は4.8.4で解消しました.

よくわかりませんが,Changelogにvirtioの修正の件が書いてあります.

Kernel 4.8.0でvirtioグラフィック動かず(2)

他のマシンでも試してみました.

  1. ホストマシンの,QEMU, libvirt, libvirt-glibを最新のものにして,Kernelは4.7.6のままにする
  2. ここで,ゲストマシンのKernelは4.7.xのまま再起動して,virtioドライバーでグラフィックが正常(X.orgがちゃんと起動する)であることを確認
  3. ゲストマシンのKernelを4.8.0にして,再起動

という手順で,ゲストマシンのビデオドライバーをこれまで使ってきたvirtioのままにすると,X.orgが起動しません.

QXL, cirrus, VMVGAでX.orgは起動しますが,cirrusとVMVGAでは,1024×768が最大の解像度です.QXLは,1920×1200までの各種解像度に設定ができますが,ドラッグしたウィンドーの跡が途中に残るとか,汚らしいです.

ということで,高解像まで各種の解像度設定ができて,跡が残るなどのバグのないvirtioドライバーがまた使えるようになってほしいです.

どこかの設定が変わった(新しい設定が必要になった)ってだけの話なのかなぁ

2016/10/10追記: 4.8.1でも同じ

バグならば改善されているかなと期待しましたが,何の変化もありません.やはり何か設定の変更(モジュールや機能の追加)が必要なのかな.

2016/10/24追記

Kernel 4.8.4で解消しました.

Ubuntuのゲストでは,VMVGAで,2560×1600までの多種の解像度が利用できます.当該のSlackware 13.xのゲストはX.orgが古いので,1024×768までに限定されるものと推測しています.

Kernel 4.8.0でvirtioグラフィック動かず

ゲストOSである,Slackware 32bitのKernelを4.8.0にしたら,virtioのgraphicドライバーをXorgが認識しなくなってしまいました.仕方ないので当分QXLを使うことにしました.

なんか,仕様が変わったんでしょうか.情報も全然ないので,様子をしばらく見るしかありません.ちなみに,32bitのSlackwareはGUIが目的ではなく,古いPloneのデータにアクセスするためだけに動かしていますから,GUIはなくてもいいんですが,ないと寂しいです^^;

2016/10/24追記

Kernel 4.8.4で解消しました.

なんとも不可解なIPv6 (2)

現在できていること

  • ホストマシンが,SLAACでIPv6アドレス・ルーティング情報を上流(プロバイダーのお仕着せルーター)から自動的に得ること
  • ホストマシンから外界へIPv6でつなぐこと
  • 外界からホストマシンのhttpd,sendmailなど公開しているサービスに,IPv4とIPv6で接続すること
  • ホストマシンからゲストマシンにdhcpdでIPv4のプライベートアドレスとIPv6のグローバルアドレスを与えること
  • ゲストマシンからIPv4のnatで外界につなぐこと
  • ホストマシンとゲストマシンの間のIPv6による双方向接続

できていないこと

  • ゲストマシンから外界にIPv6でつなぐこと

症状としては,例えばゲストマシンからSo-netのお仕着せルーターのIPv6アドレスをtraceroute6すると,ホストのvirbr0まで届くのですが,その先に行きません.ホストがブリッジ機能を果たしてくれません.

たぶん,引っかかっているのは,解ってしまえばなんでもないようなことだと思うのですが,この二日間悩んでいます.

KDDIのお仕着せルーターで,サーバー公開設定している.