20110507xen+virtio
TRANSCRIPT
゚+.(・ω・
ここ最近のXenのお話
OSC2011 東日本大震災支援緊急企画OSSチャリティーセミナー
長谷川 猛 (@hasegaw)
Special Thanks: 株式会社びぎねっと & 株式会社NTTデータ
゚+.(・ω・
ぷろふぃ~る
長谷川 猛(HASEGAWA Takeshi)
おもにLinuxや仮想化技術を得意とする
雑食系システムエンジニア
゚+.(・ω・
おもな著書・寄稿
゚+.(・ω・
Webサイトの記事など
エンジニアなら知っておきたい仮想マシンのしくみhttp://gihyo.jp/dev/serial/01/vm_work/
゚+.(・ω・
最近の日課
• Android 買いました
SAMSUNG Galaxy S (GT-I9000)
• 通勤電車の中での過ごし方
• 寝る
• Xen-develを読破
゚+.(・ω・
最近の注目している内容
• GSoCでの作業を表明している学生たち
• SeaBIOSのPV Blockデバイスサポート
• VirtioをXenにポーティング
• Linuxべースのスタブドメイン
• 準仮想化オーディオ
• qemu(本家コミュニティ版)のサポート
• SPICE (仮想デスクトップ)
• Virtio (I/O仮想化)
゚+.(・ω・
なぜqemu?
• XenもKVMもハードウェアエミュレーションはqemuに依存
Linux
KVM
Qemu-kvm
Xen
domain-0 Guest OS
qemu-dmGuest OS
゚+.(・ω・
新しいqemuを試めすには? (1)
Xen
• Xen-unstableをビルド。 Xen 4.1.0でもOK
qemu
• 下記のorigin/qemu-dm-v15ブランチをビルド
git;//xenbits.xensource.com/
people/aperard/qemu-dm.git
参考
http://wiki.xen.org/xenwiki/QEMUUpstream
゚+.(・ω・
qemuを試めすには? (2)
• Xenのドメイン定義ファイルの作成
device_model = path/to/new/qemu
゚+.(・ω・
Xenでvirtio!
• ゲストOSでMSI(-X) を無効化
Linuxカーネルパラネーメータ pci=nomsi
• Xenのドメイン定義ファイルの作成
vif = [ 'type=ioemu, bridge=br0,
mac=00:16:3e:09:ac:cd,model=virtio' ]
゚+.(・ω・
試してみてわかったこと
• xen+最新qemuでvirtioは使えるか?
○? virtio-net × virtio-blk
• ホスト・ゲスト間の通知アプローチに差がある
IRQ MSI(-X) その他
Xen ○ - eventchannel
KVM ○ ○ -
゚+.(・ω・
最近の注目している内容
• GSoCでの作業を表明している学生たち
• SeaBIOSのPV Blockデバイスサポート
• VirtioをXenにポーティング
• Linuxべースのスタブドメイン
• 準仮想化オーディオ
• qemu(本家コミュニティ版)のサポート
• SPICE (仮想デスクトップ)
• Virtio (I/O仮想化)
Virtio ファンクションドライバ
Virtio リングバッファ
Virtio-pci インターフェイス
仮想ハードウェア
Xenのリングバッファ、イベントチャネルで置き換え
゚+.(・ω・
まとめ
• Xenで最新qemuが利用可能になりつつある
• Linux KVMの様々な機能がXenでも使える?
• Virtio …… MSIサポートの追加も必要?
• SPICE …… こちらは普通に動きます
• Xen, KVMの思想・実装の差異が面白い
• オープンソース=相互作用こそが面白い