changeset 17:75220d70dfd9

update pdf
author taiki
date Tue, 17 Feb 2015 03:41:16 +0900
parents 118f7165b625
children 86bf9432d1ff
files paper/abstract.tex paper/abstract_eng.tex paper/chapter1.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/conclusion.tex paper/figures/iscsi_structure.pdf paper/introduciton.tex paper/master_paper.pdf paper/master_paper.tex paper/thanx.tex
diffstat 12 files changed, 61 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/paper/abstract.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/abstract.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -1,11 +1,12 @@
 \begin{abstract}
- IT 技術の進歩は目まぐるしく、学ぶ必要のあることが増えてきている。学習環境として Virtual Machine (以下 VM ) やコンテナがあるが、それらをを使用するにはクラウドサービスを使用するなど多くのコストを支払わなければならない。また学習のための環境を管理することは手間がかかる。
+
+ IT 技術の進歩は目まぐるしく、学ぶ必要のあることが増えてきている。学習環境として実際の計算機上でエミュレートされた仮想の計算機である Virtual Machine (以下 VM ) と、OS 上の隔離された環境を構築する技術であるコンテナがある。それらを使用するにはクラウドサービスを使用するなど多くのコストを支払わなければならない。また学習のための環境を管理することは手間がかかる。
  
  そのため学生がコストを支払うことなく IT 技術を学習するための環境が必要である。また提供した環境を使用させるにあたり、管理者への煩雑な手続きを無くすことで管理者の負担を減らさなければならない。管理者側の負担として、VM の作成やアップロード、また VM のセキュリティ管理が挙げられる。
  
- 琉球大学情報工学科 (以下 本学科) では、定期的にシステム更新を行う。次期システムではクラウドサービスと連携し、学生が開発したサービスをオンプレミスの環境から外のサービスへ移行することで、サービスへの高速なアクセスが可能になる。現在のシステム構成から得られた知見を活かし、新たな教育用のシステムを構築する必要がある。
+ 琉球大学情報工学科 (以下 本学科) の次期システムではクラウドサービスと連携する。学生が開発したサービスを、情報システムを使用者自身が管理する環境であるオンプレミスから、外のサービスへ移行する。そうすることによって、遠隔地からでも本学科の学生が開発したサービスへの高速なアクセスが可能になる。現在のシステム構成から得られた知見を活かし、新たな教育用のシステムを構築する必要がある。
 
-本研究では、IT 技術を教育するための環境を学生に提供するために、計算機に Shien システムの構築と評価を行った。本研究室では学生に VM が使える環境を提供し、複数のユーザに対応するための ie-virsh を開発している。Shien システムに ie-virsh と、Docker で使われる資源を管理するための ie-docker を組み込み、学生に使用させる。またその際に計算機同士で共有する iSCSI ディスクに使う Filesystem である GFS2 と、コンテナや VM の IO 速度の評価を行った。
+本研究では、IT 技術を教育するための環境を学生に提供するために、計算機にクラウドと VM 、コンテナを管理する Shien システムの構築と評価を行った。本研究室では学生に VM が使える環境を提供し、複数のユーザに対応するための ie-virsh を開発している。Shien システムに ie-virsh と、コンテナ管理ソフトウエアである Docker で使われる資源を管理するための ie-docker を組み込み、学生に使用させる。またその際に計算機同士で共有する iSCSI ディスクに使う Filesystem と、コンテナや VM の IO 速度の評価を行った。
 
 現在のシステムと比較して、本研究で提案する Shien システムが教育用に適正であることを確認した。
 
--- a/paper/abstract_eng.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/abstract_eng.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -1,10 +1,10 @@
 \begin{abstract_eng}
 
-Information Tecnorogy advances is fast. We should pay many cost to study to use container and virtual machine. And we need to take time this environment for leaning IT.
+Information Tecnorogy advances is fast. We should pay many cost to study to use container and virtual machine. VM share physical hardware resources with other users but isolates the operating system aboid changing the end-user experience. Container separate isolating environment on operating system. We need to take time this environment for leaning IT.
 
 So that, we sould provide environment in which students learn IT. When we provide environment to learn IT, reduce burden of administrator. Burden is making VM, upload VM and VM security management.
 
-University of the ryukyus, Infomation Engineering update computer system. Next system cooperate with cloud service. This system need to migrate service that students cloud service. Utilizing the knowledge obtained from the current system configuration, it is necessary to construct new educational system.
+Next system of University of the ryukyus Infomation Engineering cooperate with cloud service. This system need to migrate service that students cloud service. Utilizing the knowledge obtained from the current system configuration, it is necessary to construct new educational system.
 
 In this study, the environment in order to educate the IT, construct Shien system in educational computer system. We develop ie-virsh for resource management and provide using VM in our laboratory. ie-virsh can use multiple hypervisor and ie-virsh is wrapper of virsh. Shien system is incorporated ie-virsh and ie-docker. We evaluate the formatted performance of the disk in GFS2 and evaluate IO speed of Container and VM. 
 
--- a/paper/chapter1.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/chapter1.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -2,11 +2,6 @@
 
 本章では教育用システムの要件を挙げる。
 
-\section{コンテナへの対応}
-
-OS の環境を複数のグループで分割し、別のサーバのように利用することのできる技術がコンテナである。
-サーバ運用でコンテナを使用する例が増えてきている。一台のサーバに対して複数のサービスを、VM に比べて少ないオーバーヘッドで使用することができるためである。これからコンテナでの運用が主流になっていくので、教育用システムでもコンテナを使用可能にしなければならない。そのためには Linux をサーバに用いる必要がある。
-
 \section{Multi User Support}
 
 本学科では一学年 60 名、学科全体で 240 名の学生が在籍している。そのすべての学生に対応するため、複数のユーザを管理できる必要がある。そのためには、複数のユーザに同じ権限を容易に配布するシステムでなければならない。
@@ -17,6 +12,11 @@
 
 ユーザはユーザ自身の資源のみを操作することができる。またシステム全体に関わるネットワークや他ユーザの VM などの操作は行うことができない。
 
+\section{コンテナへの対応}
+
+OS の環境を複数のグループで分割し、別のサーバのように利用することのできる技術がコンテナである。
+サーバ運用でコンテナを使用する例が増えてきている。一台のサーバに対して複数のサービスを、VM に比べて少ないオーバーヘッドで使用することができるためである。これからコンテナでの運用が主流になっていくので、教育用システムでもコンテナを使用可能にしなければならない。そのためには Linux をサーバに用いる必要がある。
+
 \section{資源の制限}
 
 計算機の資源は、主にストレージ、CPU 、メモリである。ユーザに提供できる計算機資源は限られている。ユーザ1つに対して多くの資源を与えてしまうと、他のユーザへ資源の配布が困難になる。
@@ -46,7 +46,15 @@
 
 \section{iSCSI ファイルシステムへ対応}
 
-計算機の外部に大容量の記憶媒体を置くことで、計算機そのものに記憶媒体を搭載しなくても多くのユーザにデータ容量を配布できる。次期システムでは複数の計算機で大容量 iSCSI ディスクを共有する。
+計算機の外部に大容量の記憶媒体を置くことで、計算機そのものに記憶媒体を搭載しなくても多くのユーザにデータ容量を配布できる。図\ref{fig:iscsistructure}のように、次期システムでは複数の計算機で大容量 iSCSI ディスクを共有する。
+
+\begin{figure}[htpb]
+  \begin{center}
+    \includegraphics[scale=0.7]{figures/iscsi_structure.pdf}
+    \caption{iSCSI ディスクを使用した構成}
+    \label{fig:iscsistructure}
+  \end{center}
+\end{figure}
 
 複数台の計算機で iSCSI ディスクを使用することで、 VM イメージやユーザのデータを共有できる。またそれによって VM をライブマイグレーション可能にする。計算機がメンテナンスをしなければならなかったり、計算機を止める必要のある際に VM を止めずに他の計算機へ移動することができる。
 
--- a/paper/chapter2.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/chapter2.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -87,7 +87,7 @@
 
 Intel-VT や AMD-V などの仮想化支援機能を持つプロセッサや BIOS の載っている PC 上で動作する。
 
-本学科のシステムは、KVM と VMWare ESXi の2つの Hypervisor を利用している。本学科全体の VM 管理は、主に VMWare ESXi が使われている。
+本学科のシステムは、KVM と VMWare ESXi の2つの Hypervisor を利用している。本学科全体の VM 管理には、主に VMWare vSphere Client が使われている。
 
 \section{libvirt}
  VM 管理ツールである virsh を含む、 VM の制御を抽象化したライブラリである。 VM の情報を習得・操作することが可能な API 群である。
@@ -103,6 +103,7 @@
 図\ref{fig:libvirtarch}のように、アプリケーションから libvirt API を呼び出すと、API に従って内部の VMM API もしくは資源管理 API を呼び出し、制御を行う。libvirt は VM の管理だけではなく、仮想ネットワーク、仮想ストレージも管理することができる。もともとは Xen に対して API を提供していたが、現在は多くの Hypervisor に対応している。
 
 \section{virsh}
+
 virsh は libvirt に付属する VM 管理コンソールである。libvirt の API で VM を制御することができる。VM の起動や停止、情報の表示、ゲストが接続しているネットワークやデバイスの管理をすることができる。
 
 virsh をそのまま使用して複数のユーザを管理するためには、ユーザやグループの設定が必要である。またユーザやグループの設定を行ったとしても、ネットワークなどの操作をを制限することができない。
--- a/paper/chapter3.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/chapter3.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -26,6 +26,8 @@
 
 DLM は各クラスタノードで実行され、またロック管理はクラスタ内のすべてのノードを対象として行われる。
 
+Quorum はノードがクラスタのメンバとして、過半数と通信できるノードがクラスタとして動作できる権利である。二台の場合は過半数が無いため無効化される。
+
 DLM をクラスタで動作させるには、以下のように設定する必要がある。
 
 \begin{itemize}
@@ -81,23 +83,6 @@
 GFS2 でフォーマットされた一つの iSCSI ストレージを共有し、iSCSI ストレージに VM のディスクイメージ、コンテナで動かすアプリケーションを保存する。これにより複数のブレードサーバ間で VM のイメージの共有や移動、コンテナイメージの移動を簡単に行える。 
 
 
-\section{ie-virsh debug}
-
-本研究では、ie-virsh の新しい機能として debug コマンドの実装を行った。
-
-KVM には gdb で接続するための Port を指定し、接続すると gdb から Linux kernel のデバッグへ入ることができる。更に libvirt の XML 設定ファイルに、KVM へ gdb で接続するために開ける VM の Port を記述することで、VM の Port を開くことができる。
-
-今回は図\ref{fig:ievirshdebug} のように、Port の Pool から Port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。Port は、libvirt の XML 設定ファイルに Port 番号を書き込み、VM を起動することで割り当てられる。
-
-\begin{figure}[htpb]
-  \begin{center}
-    \includegraphics[scale=0.7]{figures/ievirshdebug.pdf}
-    \caption{ie-virsh debug}
-    \label{fig:ievirshdebug}
-  \end{center}
-\end{figure}
-
-
 \section{Docker}
 
 Docker とは Docker 社が開発してるオープンソースのコンテナ型仮想化ソフトウエアである。Linux 上で Linuxコンテナ (LXC) を活用し、コンテナ型の仮想環境を作成する。図\ref{fig:container} は Docker のアーキテクチャである。
--- a/paper/chapter4.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/chapter4.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -94,13 +94,27 @@
 
 \section{Kernel debug 方法}
 
+本研究では、ie-virsh の新しい機能として debug コマンドの実装を行った。本学科には Operating System という授業がある。その授業では OS について学習するため、Linux kernel を読む課題を出す。ie-virsh の開発はその授業 Operating System の課題に対応するためである。
+
+KVM には gdb で接続するための Port を指定し、接続すると gdb から Linux kernel のデバッグへ入ることができる。更に libvirt の XML 設定ファイルに、KVM へ gdb で接続するために開ける VM の Port を記述することで、VM の Port を開くことができる。
+
+今回は図\ref{fig:ievirshdebug} のように、Port の Pool から Port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。Port は、libvirt の XML 設定ファイルに Port 番号を書き込み、VM を起動することで割り当てられる。
+
+\begin{figure}[htpb]
+  \begin{center}
+    \includegraphics[scale=0.7]{figures/ievirshdebug.pdf}
+    \caption{ie-virsh debug}
+    \label{fig:ievirshdebug}
+  \end{center}
+\end{figure}
+
 Kernel debug をするためには、下記のコマンドを実行する。
 
 \begin{verbatim}
 % ie-virsh debug
 \end{verbatim}
 
-実行すると Port の Pool から Port を取得する。取得した Port を使用し Kernel debug のための VM が起動する。 VM の起動後に自動的に gdb が立ち上がる。取得した Port を使い、gdb から Kernel debug のための VM に接続する。
+実行後は gdb に入る。
 
 \section{ie-docker によるコンテナの起動}
 
--- a/paper/conclusion.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/conclusion.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -14,12 +14,26 @@
 
 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 を使用した例からも、脆弱なユーザ名やパスワードを使用するユーザは多い。そのため管理者側が定期的にユーザ名やパスワード、開いているポートをチェックし攻撃されてしまうような設定ならば通知を行う。このチェックは自動的に行えると良い。
+まず起動している 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 システムではサービスのデプロイは可能だが、オンプレミス環境とクラウドサービス上のサービスを切り替えることはできない。アプリケーションのデータの同期手法を実装する必要がある。
Binary file paper/figures/iscsi_structure.pdf has changed
--- a/paper/introduciton.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/introduciton.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -1,11 +1,11 @@
 %\chapter{序論}
 \chapter{IT 教育向けの計算機管理}
 
-IT 技術は VM やコンテナの普及により、より手軽に開発し試せる環境が整ってきている。手元の PC 上で VM やコンテナを立ち上げ、ウェブサービスやシステムの開発を行うことができる。しかし VM やコンテナを使用して IT 技術を学習するためには、高性能 PC の購入や、有料のクラウドサービスを使用しなければならないため、大きなコストがかかる。これらの負担を IT 技術を学ぶ学生に負わせない、新たな仕組みが必要である。
+IT 技術は VM やコンテナの普及により、より手軽に開発し試せる環境が整ってきている。手元の PC 上で VM やコンテナを立ち上げ、ウェブサービスやシステムの開発を行うことができる。しかし VM やコンテナを使用して IT 技術を学習するためには、高性能 PC の購入や有料のクラウドサービスを使用しなければならないため、大きなコストがかかる。これらの負担を IT 技術を学ぶ学生に負わせない、新たな仕組みが必要である。
 
  また本学科では定期的にシステムの更新を行う。次期システムではクラウドサービスとの連携を予定している。クラウドサービスへ学生が開発したサービスをオンプレミスの環境から外部のサービスへ移行することで、学生の開発した Web サービスへの、遠隔地からの高速なアクセスが可能になる。更にクラウドサービスを使用した Web サービスの開発のワークフローを学ぶことができる。
 
-本研究では学生の VM やコンテナの学習環境の提供方法と、クラウドサービスへの連携することのできる Shien システムを提案する。 Shien システムは複数の計算機と、その計算機の間で iSCSI ディスクを共有すること想定している。共有する iSCSI ディスクは、複数の計算機からの並列なアクセスに耐えられる Filesystem が必要である。その Filesystem には GFS2 を採用した。
+本研究では学生の VM やコンテナの学習環境の提供と、クラウドサービスへの連携することのできる Shien システムを提案する。 Shien システムは複数の計算機と、その計算機の間で iSCSI ディスクを共有すること想定している。共有する iSCSI ディスクは、複数の計算機からの並列なアクセスに耐えられる Filesystem が必要である。その Filesystem には GFS2 を採用した。
 
 Shien システムでは本研究室で開発している ie-virsh と ie-docker を使用する。ie-virsh は VM の管理に、ie-docker はコンテナの管理に使用される。Shien システムの評価では、使用する Filesystem の GFS2 の計測・評価を行った。本学科で行われている授業 Operating System で使用した際の利点を挙げ評価を行った。
 
Binary file paper/master_paper.pdf has changed
--- a/paper/master_paper.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/master_paper.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -9,7 +9,7 @@
 
 \jtitle{IT 技術学習のための\\
 教育用計算機システムの研究}
-\etitle{Study of educational computer system for learning IT}
+\etitle{Study of Educational Computer System for Learning IT}
 \year{平成26年度}
 \affiliation{\center%
   \includegraphics[clip,keepaspectratio,width=.15\textwidth]
--- a/paper/thanx.tex	Mon Feb 16 19:09:57 2015 +0900
+++ b/paper/thanx.tex	Tue Feb 17 03:41:16 2015 +0900
@@ -1,8 +1,10 @@
 \chapter*{謝辞}
 \addcontentsline{toc}{chapter}{謝辞}
 
- 本研究を行うにあたりご多忙にも関わらず日頃より多くの助言、ご指導をいただきました河野真治准教授に心より感謝いたします。
+本研究を行うにあたりご多忙にも関わらず日頃より多くの助言、ご指導をいただきました河野真治准教授に心より感謝いたします。
 
 研究を行うにあたり、環境の調整、意見、実装に協力いただいた並列信頼研究室の全てのメンバーに感謝いたします。
 
- 最後に、大学の修士まで支えてくれた家族に深く感謝します。
+ブレードサーバ環境について相談に乗っていただいた長田智和助教授に感謝いたします。
+
+最後に、大学の修士まで支えてくれた家族に深く感謝します。