第1回 MidoNetでネットワークの仮想化 ~MidoNet・ネットワークの仮想化とは~

2015/02/05 技術系 投稿者:細谷

今回からMidoNetを使用したネットワークの仮想化についてご説明致します。

~ネットワークの仮想化とは?~
「ネットワークの回線やネットワークの機器を仮想化すること。または物理的にではなくソフトウェアの制御により、ネットワークを構築すること。
例えば、1台のサーバ上に構成された複数の仮想マシンを接続するためのネットワークを論理的に構築するために必要な機器、アダプタ、MACアドレス、IPアドレスなどを自由に構成することが可能になる。サーバなどの仮想マシンの個性変更に合わせて、物理ネットワークを変更することなく柔軟にネットワーク構成を再構築することができる。」

~ITトレンドより抜粋~

これから紹介するMidoNetはネットワークの仮想化を実現するための一つの技術です。

MidoNetの特徴

  • 以前は商用だったが、2014年にオープンソース化
  • オーバーレイ型のネットワーク仮想化を実現できる。
  • 分散型の設計方針
  • MidoNetの機能をOpenstack上で利用できる
  • 完全に仮想化されたL2、L3そしてL4のネットワーキング(機能については今後紹介していきます。)

MidoNetが動作する階層を図で表しています。MidoNetの場合ハイパーバイザーKVM。クラウド管理システムにOpenstackが当てはまります。

mido3

MidoNetを構成している主なアプリケーションは下記になります。(Openstackに含まれるアプリケーションは一部を除いて省略しています)

Neutron Plugin
シンプルなネットワーク構成だけでなく、SDN(Software-Defined Network) のような複雑な構成、ネットワーク機器のベンダーなどが提供する様々なネットワーキングソリューションを利用できるプラグインです。

NSDB(Network State Database)
仮想ネットワークのトポロジ(構成)を保存しておくための場所です。ZooKeeperがこれに当たります。

Datapath
名前の通り、datapathは各ホストに存在しVM間やホスト外部のネットワークと接続されているパケットの通り道になります。

ZooKeeper
仮想ネットワークのトポロジ(構成)を保存しておくための場所です。MidoNetの特徴である分散型のアプリケーションを構築する上で必要となる同期、設定管理、グルーピング、名前管理、などの機能を提供します。ZooKeeperはOpenStackにアプリケーションとして含まれています。

Cassandra
NoSQLの1つです。NoSQLとは、幅広い種類の膨大な量のデータを高速かつ動的に整理し分析することを可能にする、非リレーショナルな広域分散データベースシステムです。

Midolman
Midolmanは各ホスト上に存在するagentで、NSDBの情報をキャッシュしており、ホスト上のVMからのトラフィックが通過するdatapathを制御します。

その他に、MidoNetを使用するためのAPI、CLIなどが用意されています。

Midonetのアーキテクチャ(構造)

実際にMidoNetを導入して仮想化した場合のイメージとして下記の図を参照ください。緑の枠で覆った部分が仮想化される範囲、VMが仮想マシンを表しています。それぞれの物理サーバの中にMidoNetがインストールされ仮想ネットワークを構成しています。VMからVMへの通信、VMから物理サーバへの通信する際に仮想ネットワークの設定を受けることができます。図の物理ネットワークの部分は仮想ネットワークの設定を受けることはできません。物理サーバの中にMidoNetとVMは共存できるようになっています。

mido04

続いて下記の図をご覧ください。MidoNetを使用して仮想化した際のネットワーク構成図を仮想構成図と物理構成図に分けて考えた場合の図です。緑枠で囲った部分に注目してください。下記の図の左側、仮想構成図を見てみると緑枠で囲った中にルータやブリッジが設置され仮想ネットワークが構築されている状態です。実際にVM同士やインターネットに通信をする場合、ルータAやルータBの設定の影響を受けることになります。ですが右側の物理構成図を見た場合、実際にはルータやブリッジは設置されておらず、MidoNetがインストールされているハードウェアで構成することができます。MidoNetで仮想化することによってルータやブリッジなどのネットワーク機器を物理的に用意せずに、仮想ネットワークで構成された機器の設定を受けることができます。

mido01

設計思想、通信の流れとしては・・

  1. ネットワーク設定(静的情報)とサービスのステート(動的情報)をMidoNetがインストールされている全マシンで共有する。
  2. 各サーバが入力パケットについて出力先(最終処理対象)ホストを確定する。
  3. そこに対してダイレクトな経路をトンネルとして作成し通信しする。
  4.  それによって土台は単なる L2 ネットワークだが、トンネル(オーバレイ)網として仮想ネットワークが構築される。

MidoNetがインストールされているサーバは、個々でネットワーク情報を持つことにより、負荷分散型のネットワークを実現しています。メリットとしては下記の通りです。

  • ネットワークのリソースを増やす場合、MidoNetをインストールしたサーバを追加すればよいため、拡張が容易。
  • 障害が発生した場合、問題となっているサーバを切り離すことができる。個々にネットワーク設定情報を持っているため影響を受けない。
  • 仮想ネットワークの全体ではなく、局所的に設定をすることが可能になる。

まとめ

MidoNet以外にもネットワークの仮想化をする技術としてOpenFlowがあります。OpenFlowにもメリット、デメリットがありますがどちらがより適しているかを考える必要があります。今回紹介したネットワークの仮想化は比較的新しい技術です。特にMidoNetに関しては情報が少ないため、これから少しでも参考になるように伝えていきたいと思います。

カレンダー

    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       

カテゴリー

PRODUCE ネディアプロデュース
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
ワイドオフィス
イヤホンのブランドでハイクラスを誇る | n+um(エニューム)