Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Using rump on NetBSD 7.0

1.431 Aufrufe

Veröffentlicht am

Installing and using rump on NetBSD 7.0 platform.

Veröffentlicht in: Software
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Using rump on NetBSD 7.0

  1. 1. rumpを使ってみる NetBSD 7.0編 Dec 5, 2015 Masaru OKI @masaru0714
  2. 2. はじめに NetBSD上でrumpを使ってみた報告になります。 さわりはじめて2日たったくらいの理解度ですので、ボケてる可能性も大いにあります。 今回はNetBSD 7.0で試しています。(2015年10月8日にリリースされています) 数日前にNetBSD 6.1.5で試したのですが、NetBSDつながりの友人いわく NetBSD 6.1.5は古すぎてダメ。7.0と-currentもわりと違うかも? みなさん、これがNetBSDです。覚悟を決めて臨みましょう。
  3. 3. rump? http://rumpkernel.org/ 本来カーネル用に書かれたネットワークスタックやデバイスドライバを ユーザプログラムで動かすためのフレームワーク? ライブラリ? rumpkernelと、 それを中心にした各種コンポーネントの総称。。 anykernel(元となるカーネルコンポーネント;現在はNetBSD kernel)から ユーザプログラム用としてビルドしたライブラリ(rumpkernel)を作り、 アプリケーションをrump用バイナリ(unikernelというらしい)としてビルドする。 Linux(CentOS, Fedora, Debian, Ubuntu等), NetBSD, FeeeBSD, Solaris等で動作。
  4. 4. rumpの動かし方いくつか server-client方式 ● rumpkernelをリンクして作られたrump_serverを起動しておく ● rump.clientライブラリをリンクして各種プログラム(lsとかpingとか)をビルド。 ● 各種プログラムを実行し、rump_serverのリソースを操作。 unikernel方式 ● rumprunを用いて各種プログラムの単一バイナリをビルド。 ● rumprun qemuで起動したQEMU上で実行。 ● rumprun qemuの各種パラメータでIPアドレスなどを設定する。
  5. 5. こんなかんじ(server-client) native OS kernel rump_server rump_client native OS apps NetBSDカーネルの 機能を提供する。 native OSで実行でき るNetBSDのアプリ kernel userland socket通信
  6. 6. 環境を整える 下記、事前にgmakeをインストールしないと失敗するので注意。 SSL certificate云々言われたときは pkgin insall mozilla-rootcerts-openssl します。 ● Building rump_server git clone http://repo.rumpkernel.org/buildrump.sh cd buildrump.sh ./buildrump.sh ● Building rump_client binaries (using rumpctrl) git clone http://repo.rumpkernel.org/rumpctrl cd rumpctrl git submodule update --init ./buildnb.sh
  7. 7. rump_serverの起動 全部入りrump_allserverの起動(下記例では2つ起動している) ./buildrump.sh/rump/bin/rump_allserver unix:///tmp/rump1sock ./buildrump.sh/rump/bin/rump_allserver unix:///tmp/rump2sock バックグラウンド動作する。 個別指定はたとえば下記のようにする。 rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpvfs -lrumpdev - lrumpdev_bpf -lrumpnet_virtif unix:///tmp/rump1sock ネットワークを使いたいときは(tapを読み書きするので)root権限で起動すること。
  8. 8. rumpctrlによるrump clientの実行 # cd rumpctrl # . ./rumpctrl.sh rumpctrl (NULL)$ export RUMP_SERVER=unix:///tmp/rump1sock rumpctrl (unix:///tmp/rump1sock)$ ifconfig lo0: flags=0x8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33648 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 rumpctrl (unix:///tmp/rump1sock)$ rump_serverをroot権限で起動した場合、クライアントもroot権限の必要あり。
  9. 9. rumpctrl TIPS rump clientとして使えるコマンド一覧 rumpctrl_listcmds rumpctrlモードのままホストのコマンドを実行 rumpctrl_hostcmd コマンド... わざわざこれを使わなくてもフルパスでコマンドを叩けば普通に実行できる。 rumpctrlモードから通常状態への復帰 rumpctrl_unload
  10. 10. ホストとの通信の方法 1. ホストでtapインタフェースを作る。名前はtapN(Nは任意の数値) 2. rumpctrlでifconfig virtN createすると、tapN (Nが同じtap)とつながる host rump_server rump_server tap0 tap1 virt0 virt1 ifconfig tap0 create ifconfig virt0 create
  11. 11. 1. ホスト上でtap0とtap1をブリッジする 2. virt0に172.21.0.1, virt1に172.21.0.2を付ける 3. pingを投げる host bridge テスト rump_server rump_server tap0 tap1 virt0 virt1ping 172.21.0.2 172.21.0.1 172.21.0.2
  12. 12. tap0とtap1のブリッジ ここでは無理に、Lagopus http://lagopus.github.io の開発版を使ってみます。 普通にやる場合はbridge(4)を使ってください。 $ sudo pkgin install gmp $ ./configure; gmake; sudo gmake install $ sudo lagopus -C 2port-tap.dsl $ sudo pkgin install py27-pip $ sudo pip27 install ryu $ ryu-manager port1-2.py tap0とtap1をLagopus bridgeに接続する設定 port 1とport 2の間で パケット転送する設定
  13. 13. IPアドレスの割り当て $ sudo -s # cd rumpctrl # . ./rumpctrl.sh # rumpctrl (NULL) $ export RUMP_SERVER=unix:///tmp/rump1sock # rumpctrl(unix:///tmp/rump1sock)$ ifconfig virt0 create # rumpctrl(unix:///tmp/rump1sock)$ ifconfig virt0 172.21.0.1/24 up # rumpctrl(unix:///tmp/rump1sock)$ RUMP_SERVER=unix:///tmp/rump2sock # rumpctrl(unix:///tmp/rump2sock)$ ifconfig virt1 create # rumpctrl(unix:///tmp/rump2sock)$ ifconfig virt1 172.21.0.2/24 up
  14. 14. server起動した。ifconfigもできた。いざping! rumpctrl (unix:///tmp/rump1sock)$ ifconfig virt0 virt0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 address: b2:0a:8e:0b:0e:00 inet 172.21.0.1 netmask 0xffffff00 broadcast 172.21.0.255 inet6 fe80::b00a:8eff:fe0b:e00%virt0 prefixlen 64 scopeid 0x2 rumpctrl (unix:///tmp/rump1sock)$ ping 172.21.0.2 PING 172.21.0.2 (172.21.0.2): 56 data bytes 64 bytes from 172.21.0.2: icmp_seq=0 ttl=255 time=0.000000 ms 64 bytes from 172.21.0.2: icmp_seq=1 ttl=255 time=0.000000 ms 動く! 動くぞ!!
  15. 15. まとめ pingだけしか試してないけれど、 NetBSD 7.0であれば比較的素直に動いてくれた。よかった。 おしまい。

×