# HG changeset patch # User taiki # Date 1397994281 -32400 # Node ID 733691adea78b5d00e89b93b84ccf862d184a705 # Parent 0335e71f5bc84a5c013d2944717172cf5905db16 improve pdf diff -r 0335e71f5bc8 -r 733691adea78 paper/ievirsh.tex --- a/paper/ievirsh.tex Sun Apr 20 19:10:30 2014 +0900 +++ b/paper/ievirsh.tex Sun Apr 20 20:44:41 2014 +0900 @@ -29,14 +29,14 @@ ie-virsh には virsh にあるような、ネットワークの構成などの管理者側がするべき操作はなく、管理者でない学生は操作できないようになっている。また学生は、他の学生の VM を操作することもできない。 -学生が ie-virsh を使用して VM を起動する手順はこうである。まず学生のノートPCで、VMWare や Virtual Box を使って Linux をインストールし、イメージを作成する。作成したイメージをブレードサーバにアップロードする。イメージを qcow2 に変換して指定のディレクトリに配置し、以下のコマンドを実行する。 +学生が ie-virsh を使用して VM を起動する手順はこうである。まず学生のノートPCで、VMWare や VirtualBox を使って Linux をインストールし、イメージを作成する。作成したイメージをブレードサーバにアップロードする。イメージを VirtualBox の OVF 形式から qcow2 形式に変換して指定のディレクトリに配置し、以下のコマンドを実行する。 \begin{verbatim} % ie-virsh define [domain name] \end{verbatim} そうすると、template XML を元に domain が生成される。 -ie-virsh は XML の template を持ち、その template は学生が VM のイメージをブレードサーバにアップロードして define した際に使用される。そこには virsh 上で VM を使用するために必要な設定が記述されている。 +ie-virsh は XML の template を持ち、その template は学生が VM のイメージをブレードサーバにアップロードして define した際に使用される。template には virsh 上で VM を使用するために必要な設定が記述されている。 生成された domain は以下のように起動することができる。 \begin{verbatim} @@ -47,6 +47,10 @@ \begin{verbatim} % ie-virsh list +uid 45273 gid 45273 name taiki + - test/taiki/01 shut off + + - test/taiki/02 shut off \end{verbatim} \subsection{ie-virsh の動作環境} @@ -56,8 +60,9 @@ \begin{itemize} \item OS:debian \item CPU: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz -\item Memory: 24GB -\item Filesystem: OCFS2 +\item CPU 数: 2 +\item Core 数: 6 core (論理 core 24) +\item メモリ: 128GB \end{itemize} SAN は Oracle Cluster Filesystem(OCFS2) でのフォーマットを行った。OCFS2 は汎用の、共有ディスククラスタファイルシステムである。一つのブロックデバイスを複数の PC から同時に読み書きすることができる。 @@ -67,7 +72,7 @@ 標準のファイルシステムインターフェイスを通じてすべてのノードが並行してストレージに読み書きできるため、クラスタにまたがって動作するアプリケーションの管理が容易になる。 OCFS2 との接続は、図\ref{fig:sanstructure}となっている。複数台のブレードサーバから OCFS2 でフォーマットされたファイルシステムへ接続し、書き込みを行う。ブレードに内蔵されている SSD では大量の VM イメージを保存するには足りないため、外部の記憶装置を利用する必要があるためである。 -また別のブレードサーバ上に KVM をたてた場合に移行が簡単になる。 +また別のブレードサーバ上に KVM をたてた場合に移行が容易になる。 \begin{figure}[htb] \begin{center} @@ -112,13 +117,9 @@ また学生が VM を大量に作成することを防ぐため、作成できる VM の台数を4台に制限した。授業 Operating System を 60 名の学生が受講する場合、最大 240 台作成される。 -\subsection{マルチユーザでの利用} - -学生の Web サービス構築の学習や、授業 Operating System で複数の学生の使用に対応するため ie-virsh はマルチユーザで動作する必要がある。情報工学科で使用されている LDAP サーバの情報を使用して、学生が学科のアカウントで ssh ログイン可能な状態に設定した。そうすることで、学生一人一人のアカウントを登録する必要がなく、またアカウント名は学籍番号になっているため学籍番号で管理することができる。 +学生の Web サービス構築の学習や、授業 Operating System で複数の学生の使用に対応するため ie-virsh はマルチユーザで動作する必要がある。情報工学科で使用されている LDAP サーバの情報を使用して、学生が学科のアカウントで ssh ログイン可能な状態に設定した。そうすることで、学生一人一人のアカウントを登録する必要がない。またアカウント名は学籍番号になっているため学籍番号で管理することができる。 -\subsection{権限の設定} - -学生に VM を貸し出す際に管理しなければならないのは、学生が持つ権限である。ie-virsh で学生が可能なことは、自身の VM の作成・削除と、起動・停止である。すべての VM に関係する仮想ネットワークの設定や、他の学生の VM に対する操作はできないように設定した。 +複数の学生に VM を貸し出す際に管理しなければならないのは、学生が持つ権限である。ie-virsh で学生が可能なことは、自身の VM の作成・削除と、起動・停止である。すべての VM に関係する仮想ネットワークの設定や、他の学生の VM に対する操作はできないように設定した。 \subsection{Vagrant Box の利用} @@ -153,4 +154,6 @@ また Vagrant で仮想マシンを利用する際に、仮想マシンのベースとなるイメージファイルが Vagraint Box である。Vagrant で Vagrant Box を VM イメージとして起動し、開発環境を構築し配布することができる。また配布されている Vagrant Box を取得し、Vagrant で起動し使用することが可能である。 -Vagrant は学生の PC の VirtualBox で使用させたため、Vagrant Box の VM イメージは VirtualBox に対応する OVF形式となっていた。そのため OVF 形式から、KVM で動作する形式へ変換する必要があった。学生はブレードサーバへ VM イメージをアップロードする際、OVF 形式から KVM で動作する qcow2 形式へ変換する。 +Vagrant は学生の PC の VirtualBox で使用させたため、Vagrant Box の VM イメージは VirtualBox に対応する OVF 形式となっていた。そのため OVF 形式から、KVM で動作する形式へ変換する必要があった。学生はブレードサーバへ VM イメージをアップロードする際、OVF 形式から KVM で動作する qcow2 形式へ変換する。 + +しかし Vagrant Box イメージは簡易なパスワードとユーザ名で Vagrant から管理されており、そのままブレードサーバへアップロードしグローバルIPアドレスを割り当ててしまうと、外部からの攻撃を受けてしまう。そのためブレードサーバへアップロードしたイメージを検知し、攻撃されないような設定かどうかを確認する必要がある。 diff -r 0335e71f5bc8 -r 733691adea78 paper/introduction.tex --- a/paper/introduction.tex Sun Apr 20 19:10:30 2014 +0900 +++ b/paper/introduction.tex Sun Apr 20 20:44:41 2014 +0900 @@ -1,8 +1,8 @@ \section{研究の目的} -Web サービスが IT 技術のひとつとして広まり、Web framework などの普及で学生でも実装が容易になってきている。そのため、学生でも Web サービスを開発する技術は必須なものとなっている。学生が個人で Web サービスを開発するためには、 Web サーバを手持ちの PC で構築し、外部の VPS やクラウド等へデプロイする必要がある。しかし外部のサービスを利用する場合はコストがかかる。Web サービスを学生が構築、開発し、運用するためにはコストのかからない VM を与える必要がある。 +Web サービスが IT 技術のひとつとして広まり、Web フレームワークなどの普及で学生でも実装が容易になってきている。そのため、学生でも Web サービスを開発する技術は必須なものとなっている。学生が個人で Web サービスを開発するためには、 Web サーバを手持ちの PC で構築し、外部の VPS やクラウド等へデプロイする必要がある。しかし外部のサービスを利用する場合はコストがかかる。Web サービスを学生が構築、開発し、運用するためにはコストのかからない VM を与える必要がある。 また、情報工学科では Operating System という授業がある。この授業では OS について学ぶ一環として、VM について学習し、課題を提出させる。課題では VM の環境を学生が設定し、情報工学科の持つブレードサーバ上にアップロードし、プログラムの実装や計測を行う。 こういった需要から学生に与える学習環境のひとつとして、情報工学科のブレードサーバ上に VM を持たせ、VM の起動・停止等の操作をさせる必要が出てきた。複数の学生に適切な権限と資源を与え、Web サービスや課題についての学習を促進する。 -ie-virsh を用いて、複数の学生の VM を管理することができる。 +ie-virsh を用いて、複数の学生の VM を管理する。 diff -r 0335e71f5bc8 -r 733691adea78 paper/kvm.tex --- a/paper/kvm.tex Sun Apr 20 19:10:30 2014 +0900 +++ b/paper/kvm.tex Sun Apr 20 20:44:41 2014 +0900 @@ -1,5 +1,5 @@ \section{Kernel-based Virtual Machine (KVM)} \label{kvm} -Linux 自体を VM の実行基盤として機能させるソフトウエアで、無償で使用することのできるオープンソースである。る。完全仮想化により、OS の仮想化環境を提供する。ie-virsh が動作する VM 環境のハイパーバイザである。 +Linux 自体を VM の実行基盤として機能させるソフトウエアで、無償で使用することのできるオープンソースである。る。完全仮想化により、OS の仮想化環境を提供する。 図\ref{fig:kvmarch}は、KVM のアーキテクチャである。KVM は Linux 用のカーネルモジュールとして実装されており、OS が持つメモリ管理プロセスやスケジューリング機能を利用している。そのため他の仮想マシンソフトウエアに比べ、KVM 自体のコードは簡潔なものになっている。 @@ -12,3 +12,5 @@ \caption{KVM architecture} \label{fig:kvmarch} \end{figure} + +KVM は ie-virsh が動作する VM 環境のハイパーバイザである。ブレードサーバをホストとして管理対象の VM を乗せる。 diff -r 0335e71f5bc8 -r 733691adea78 paper/sigos.pdf Binary file paper/sigos.pdf has changed diff -r 0335e71f5bc8 -r 733691adea78 paper/sigos.tex --- a/paper/sigos.tex Sun Apr 20 19:10:30 2014 +0900 +++ b/paper/sigos.tex Sun Apr 20 20:44:41 2014 +0900 @@ -39,17 +39,11 @@ % 和文概要 \begin{abstract} -ブレードサーバ上のVMを自由に起動・停止ができるVM管理ツール、ie-virshを開発した。本学科ではローカルな環境で動作したVMイメージを、豊富なリソースを持つブレードサーバ上で動作させることが可能である。ie-virshはマルチユーザに対応し、複数台のVMを管理できる。 +ブレードサーバの VM を学生に起動・停止させることができる VM 管理ツール、ie-virshを開発した。情報工学科ではローカルな環境で作成した VM イメージを、豊富なリソースを持つブレードサーバ上で動作させることが可能である。ie-virsh はマルチユーザに対応し、複数台の VM を管理できる。 マルチユーザに対応した ie-virsh を使用すれば、複雑な権限の設定や学生の資源利用の制限ができるため、学生の VM 利用を管理することが可能である。 \end{abstract} % 英文概要 \begin{eabstract} -Cerium Task Manager is a parallel programming framework. -To achieve good performance in GPGPU using Open CL, various tuning is needed. -In particular, it is necessary to implement the dependency of task in Cerium by the function of Open CL. -But, to match specialization for OpenCL spoiles of flexibility of framework. -Balance of flexibility and the performance is considered. -We evaluate example Sort, Word count, and FFT. \end{eabstract} @@ -71,10 +65,11 @@ \nocite{toma:2012a} -\nocite{opencl} -\nocite{opencl:ref} -\nocite{opencl:applied} -\nocite{yutaka:os} +%\nocite{opencl} +%\nocite{opencl:ref} +%\nocite{opencl:applied} +%\nocite{yutaka:os} + \bibliographystyle{ipsjunsrt} \bibliography{sigos} %\bibliography{cerium,book}