Comments
Description
Transcript
OOL ミニプロコン発表資料
沖縄オープンラボ スペシャリスト育成プログラム ミニプロコン 資料 ブロードバンドタワー 岩本裕真 慶應義塾大学 沖 幸太朗 1 背景 • クラウドのネットワークは、非常に規模が大きい • 構成するノードの数は、非常に多い 例 マイクロソフト社 • 10万台のサーバ • 3千台超のネットワーク機器 • 個々の機器を把握するのは非常に大変 • オペレーションミスの原因 • 物理層を意識しないネットワークを考えたい 2 目的 • データセンター内ネットワークの自動化する • オペレーションにかかる人件費の削減 • 運用にかけていた力をサービス開発にかけることができる。 • 物理結線したらネットワーク機器の設定情報は、すべ て自動生成してほしい。 • DHCPでIPアドレスを自動設定してコネクティビティを確保で きるのと同等の感覚になってほしい • いわゆるZeroconf(ゼロ・コンフィギュレーション・ネッ トワーキング)を実現したい。 3 クラウドにおける データセンタネットワークの要求 • 冗長性 • 耐障害性の確保 • 拡張性 • 機器のスケールアウト • サーバ数の増加 • ネットワークルータの増加 • コモディティースイッチ/ルータで構成 • 比較的よく利用されているルーティングプロトコルを用いる。 • ホワイトボックススイッチ等で独自プロトコルで構築されている ものは、汎用性が無い。 4 自動化の適応範囲 • データセンタ内にネットワーク機器が追加された場合に ルーティング設定を自動的に生成する。 • 機器追加に関する運用コストの削減 Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server Server 5 対象ネットワーク環境 • どのようなデータセンタネットワークに関して適応するか • データセンタネットワークを調査している際にJANOG33 Microsoft社のネットワーク構成についての資料を見つけた。 • BGPを用いたDC内のルーティング設計 • この構成のデータセンタネットワークに関する有用性も確認してみたい。 • 規模追従でIPアドレス、AS番号を自動管理 • データベースに保存し空きリソースから自動生成 6 ネットワーク構成 3層折り返しCLOS型 水平展開が容易 高密度コモディティスイッチ で実装可能 BGPを用いた経路制御 出典:http://www.janog.gr.jp/meeting/janog33/doc/janog33-bgp-nkposong-1-ja.pdf7 ルーティング設計 出典:http://www.janog.gr.jp/meeting/janog33/doc/janog33-bgp-nkposong-1-ja.pdf8 :仮想ルータ システム構成 :仮想サーバ Hypervisor YANG/NETCONF lerning server IPアドレスとAS番号の情報を管理 し、これらが重複しないようにス イッチ群に対してコンフィギュレー ションを自動生成する。 LLDP等のプロトコルを用いて 全体の接続関係を得る Server Server Server Server Server Server Server Server Server Server Server Server 9 機械学習を用いたアプローチ • 機械学習とは • データの中で見えているものを手がかりに見えないものを予 測する技術 • コンフィギュレーションの生成は、機械学習を用いると 自動生成できるのでは? • 現状本当に生成できるか確証がない。 • できるのか、できないのか、明確に答えを出すためにこのアプ ローチに関しても調査を進める。 • 12月にこれに関する話もできればと思っています。 10 実装環境 • ソフトウェアルーター(Quagga)を使用 • ハイパーバイザー上に仮想マシンを作成 • シングルテナント環境を想定する • マルチテナントは、複雑になるため今回まずシングルテナント で開発を行う。 11 付随的に興味があるところ • BGPを用いたデータセンター内ネットワークの利点を検 討すること • 単純に知見を得たい • 上記を構成するにあたっての障壁を確認すること。 12 利用する技術 制御関連 • BGP • Scikit-learn (Pythonの機械学習ライブラリ) • DB • yang 可視化関連 • 最終発表の見せ方については今後検討する 13 WebGLを用いたシステム構成の シミュレーション • WebGLとは • ウェブブラウザで3次元コンピュータグラフィックスを表示させる ための標準仕様。 • せっかくプログラムコンテストなのでプログラム作りました。 • 12月のプログラムコンテストで可視化する際の方法と してどの程度使えるのかの確認したかった。 • DC内ネットワークをシュミレーションを行った。 14 開発スケジュール • 8月 アーキテクチャ固め • 利用する技術について調査、学習する • シミュレーションソフト作成 • (本日)一度形としフィードバックをいただく • 9月 テスト環境構築 アルゴリズム設計(learning server) • 10月 実装 • 11月 2人で作ったものを合わせる • 12月 動作テスト 15