2011年4月28日木曜日

Xen Meets virtio

開発版バージョンである xen-unstable と最新の qemu を組み合わせることによって virtio-net が Xen でも使えるようになってきたので紹介したいと思います。


■ 必要なもの



  • xen-unstable をレポジトリからひっぱってくる

  • qemu を git://xenbits.xen.org/people/aperard/qemu-dm.git から引っ張ってくる。ブランチ qemu-dm-v14 をチェックアウト。

  • QEMU のクラッシュを防ぐ vmport パッチ http://ysr.jp/~hasegaw/upstream-qemu_vmport.patch

    (vmportにアクセスしてくるような最近のdistroを動かす際に必要)


  • virtio対応のゲストOS


■ 設定方法


ドメイン定義ファイルで vif 行を下記イメージで記述します。

vif = [ 'type=ioemu, bridge=br0,mac=00:16:3e:09:ac:cd,model=virtio' ]


またドメインの作成には xl コマンドを使ってください。 xm コマンドだと新しい QEMU に対応できない可能性があります。


■ ゲストOS側の留意事項


Xen と QEMU の割り込み関係の相性が悪いのか、 MSI(-X) による割り込み通知が正しく inject されないようです。現時点の回避策として、ゲスト OS として Linux を起動する際に下記のカーネルパラメータを付けると問題を回避できます。

pci=nomsi


■ 参考


QEMUUpstream - Xen Wiki





1 件のコメント: