Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

軽快なPlan 9 Update - Illumos KVM上陸 -

2,659 views

Published on

2012/4/22
カーネルVM探検隊7

Published in: Technology
  • Be the first to comment

軽快なPlan 9 Update - Illumos KVM上陸 -

  1. 1. 軽快なPlan 9 Update- Illumos KVM上陸 -筑波大学システム情報工学研究科 / paravirt.org 齊藤 剛 / @go_vm 2012年4月22日 @IIJ Kernel/VM探検隊7
  2. 2. 軽快なPlan 9では
  3. 3. これをやったのでした
  4. 4. ハイパーコール• ハイパーコールで、ホ non-root ストのsocketを呼び出 mode ゲストOS す• ゲストはネットワーク に繋がってないのに、 mode root VMM 通信できちゃう!
  5. 5. ハイパーコール• ハイパーコールで、ホ non-root ストのsocketを呼び出 mode ゲストOS す vmcall• ゲストはネットワーク に繋がってないのに、 mode root VMM 通信できちゃう!
  6. 6. ときに• Linux KVMが、Illumosに移植されました • 米Joyent社の成果 (Node.js とかもやっているところ)
  7. 7. コードの構造は殆ど同じ• Linux KVMが読めれ ば、同じように読める はず• ただしBSDスタイル
  8. 8. 床抜き可能
  9. 9. <床抜き>
  10. 10. Demo
  11. 11. 床抜き• vmcall handlerに手をい れて• 処理をqemu-kvmまで 降ろすカーネル側
  12. 12. 床抜き• vmcall handlerに手をい れて• 処理をqemu-kvmまで 降ろす qemu側
  13. 13. スタブジェネレータ• Clojureで書きました• 床抜きコードのひな形を吐きます
  14. 14. ひな形が吐かれる• ホスト側
  15. 15. ひな形が吐かれる• ゲスト側
  16. 16. 処理を書く• socketとか 呼ぶ
  17. 17. 処理を書く• socket()• connect()• send(GET HTTP)• recv()
  18. 18. OpenBSDに埋め込む
  19. 19. boot• OpenBSDのboot中に...
  20. 20. !?
  21. 21. ネットはつながってない
  22. 22. 床が抜けてる• OpenBSDの起動中に、 non-root mode OpenBSD 床下のsocketを呼びま した• Illumos KVMでもでき mode root たよ! Illumos KVM
  23. 23. 床が抜けてる• OpenBSDの起動中に、 non-root mode OpenBSD 床下のsocketを呼びま した vmcall• Illumos KVMでもでき mode root たよ! Illumos KVM
  24. 24. </床抜き>
  25. 25. Illumos KVM上陸
  26. 26. まじめな話• Illumos KVMが使えると • ネットワークの設定が楽 • Linux • brctl? tun/tap??? • Illumos • sudo dladm create-vnic -l e1000g0 vnic0 • コマンド一発
  27. 27. まじめな話 • DTraceが使える • いろんなイベ ントを観察で きる • デバッグや性 能解析に便利
  28. 28. 文化的交流• たまにはSolarisも使ってみると、面白く ていいよ!
  29. 29. 以上

×