view paper/conclusion.tex @ 17:75220d70dfd9

update pdf
author taiki
date Tue, 17 Feb 2015 03:41:16 +0900
parents 118f7165b625
children
line wrap: on
line source

\chapter{結論} \label{chapter:conclusion}

本章では、本論文で述べたことをまとめ、また今後の課題を述べる。

\section{まとめ}

本研究ではまず始めに次期システムに対応し、さらに複数のユーザの資源を管理する教育用システムの要件を挙げた。次に本学科のシステム構成と現在使用されている OS 管理システムの使用方法の説明を行った。使われていたシステムは VMWare ESXi を用いた OS 管理システムと、ie-virsh を用いた OS 管理システムである。挙げた2つのシステムが始めに挙げた要件を満たしているか検証を行った。

Shien システムは iSCSI ディスク上の GFS2 を計算機が共有するという構成になっている。これまでの本学科のシステムと比べ、一定の資源を一度に配ることができ、またコンテナに対応している。ie-docker の実装を新たに行ったためである。次期システムのクラウドサービスをユーザに使用させるため、クラウドサービス上の資源をユーザにコンテナとして配布するという仕組みも述べた。

また Shien システムの操作方法や Shien システムを使った資源の管理方法を述べ、これまでのシステムとの違いやコンテナを使ったクラウドサービスへの対応についての説明を行った。

最後に GFS2 を他のファイルシステムと比較し、またホストサーバや VM 、コンテナから GFS2 のベンチマークを計測した。GFS2 を使用することで複数の計算機と VM イメージやデータの共有をシングルノード用の Filesystem と変わらず使用することができることを確認した。またコンテナを使用することで VM と比べ速い IO でアプリケーションを動作させられることを確認した。更に授業 Operating System で ie-virsh を使用した際の問題点の抽出と、評価を行った。

Shien システムを使用することで次期システムに対応することができ、クラウドサービスもユーザに使用させられることを確認した。

\section{推奨するシステム}

これまでの検証から、本研究で提案する Shien システムは次のようになる。Shien システムはオンプレミスとクラウドサービス上の使用に分かれている。

オンプレミスは、複数の計算機と iSCSI ディスクで構成される。iSCSI ディスクを GFS2 でフォーマットし計算機同士で共有する。共有した iSCSI ディスクには、VM イメージやコンテナで動作させるアプリケーションを配置する。ie-virsh で VM の管理を、ie-docker でコンテナの管理を行う。ie-virsh と ie-docker は複数の計算機に対応していないため、VM 専用の計算機に ie-virsh を、他の計算機に ie-docker を導入する。

GFS2 でフォーマットされた iSCSI ディスクの共有は、本研究で検証を行った。その検証結果では複数の計算機から同時にアクセスしても別のファイルやディレクトリであれば、ホストのディスクにアクセスする速度と変わらない速度でアクセスすることができることが分かった。そのため ie-virsh と ie-docker をホスト上で直接動作させることと同様に使用できる。

ie-virsh では、VM にグローバル IP アドレスを使用することで VM 上に構築したサービスを公開することができる。また ie-docker で公開するためには、ie-docker が割り当てる Port を使用する。Proxy を介することで、Port とホストの IP アドレスの組み合わせに名前を割り当てることで外部に公開することができる。

クラウドサービスでは、ie-docker を使用する。オンプレミスで使用しているコンテナを、クラウドサービスへ移行する。Docker は Docker イメージを Build し、そのイメージをベースにコンテナを起動する。そのため Docker イメージを Build することで、VM イメージと比べて軽量なイメージをクラウドサービスとやり取りすることができる。またアプリケーションと Docker のイメージの Build に使われる Dockerfile を Repository へ登録し、クラウドサービスへアプリケーションを Commit し Push することで、そのアプリケーションをクラウドサービス上のコンテナで動作させる。

\section{今後の課題}

まず起動している VM やコンテナに対するセキュリティチェックの必要性があげられる。授業 Operating System で Vagrant Box を使用した例からも、脆弱なユーザ名やパスワードを使用するユーザは多い。そのため管理者側が定期的にユーザ名やパスワード、開いているポートをチェックし攻撃されてしまうような設定ならば通知を行う。このチェックは自動的に行えると良い。ssh を使ったユーザ名とパスワードのチェックをする場合、パスワードを 3000 個使用すると、1つのユーザ名に関して二時間以上かかってしまうため、パスワード候補は更に少ない数を選択しなければならない。

次にコンテナと VM の使い分けを、複数の計算機上でどう行えばよいかを考える必要がある。Shien システムの ie-virsh や ie-docker の構築は、今回一つの計算機上で行った。しかし iSCSI ディスクを共有している計算機は複数あるため、複数の計算機上ではどういった使用が適切か計測し、使用方法を検討する必要がある。

また複数の計算機で ie-virsh を使用する際に、VM をどの計算機に配置するかを決定する機能が必要である。ie-virsh は現在一つの計算機で動くことを想定している。しかしユーザに配る VM を配置する計算機が複数台ある場合は、計算機のメモリ容量やディスク使用率を参照し VM を配置する計算機を選択する必要がある。

ie-docker をクラウドサービス上で使用させる場合、継続的インテグレーションに対応するとユーザの開発を補助することができる。具体的には Jenkins を各ユーザに ie-docker と連携し使用可能にする。Jenkins は Jenkins ユーザを全ての Build に割り当てるため、ie-docker との協調方法を考えなければならない。

またクラウドサービスとオンプレミス環境の連携を考える必要がある。Shien システムではサービスのデプロイは可能だが、オンプレミス環境とクラウドサービス上のサービスを切り替えることはできない。アプリケーションのデータの同期手法を実装する必要がある。