Mercurial > hg > Papers > 2015 > taiki-master
changeset 5:93f447ec0e19
add figures
author | taiki |
---|---|
date | Fri, 23 Jan 2015 00:17:00 +0900 |
parents | 7e818d62108a |
children | 6f8f55a32957 |
files | paper/chapter1.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/chapter5.tex paper/figures/container.pdf paper/figures/ext4.pdf paper/figures/gfs2.pdf paper/figures/gfs2_cluster.pdf paper/figures/ie_system.pdf paper/figures/kvmarch.pdf paper/figures/libvirt_arch.pdf paper/figures/two_node_gfs2.pdf paper/figures/zfs.pdf paper/master_paper.pdf |
diffstat | 15 files changed, 51 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter1.tex Wed Jan 14 02:32:35 2015 +0900 +++ b/paper/chapter1.tex Fri Jan 23 00:17:00 2015 +0900 @@ -1,4 +1,4 @@ -\chapter{既存の教育用計算機システム} +\chapter{既存のゲスト OS 管理システム} 本章では、現在使用されている情報工学科の環境について述べる。また、教育用に使用可能な VM や Container 等の資源の管理機構とその特徴について触れる。 \section{情報工学科のシステム} @@ -67,31 +67,14 @@ virsh をそのまま使用して複数のユーザを管理するためには、ユーザやグループの設定が必要である。またユーザやグループの設定を行ったとしても、ネットワークなどの操作をを制限することができない。 -\section{Docker} - -Docker とは、Docker 社が開発してるオープンソースのコンテナ型仮想化ソフトウエアである。Linux 上で Linux Container (LXC) を活用し、コンテナ型の仮想環境を作成する。図\ref{fig:container} は Docker のアーキテクチャである。 +%\section{OpenStack} -\begin{figure}[htpb] - \begin{center} - \includegraphics[scale=0.7]{figures/container.pdf} - \caption{Container architecture} - \label{fig:container} - \end{center} -\end{figure} +%OpenStack はオープンソースで開発されているクラウド環境構築用のソフトウエア群である。VM やストレージ、ネットワークといった一番レイヤの低いリソースを提供するクラウド環境を構築することができる。 -コンテナは OS 環境を複数のグループに区切って別のサーバのように利用する技術である。KVM などの hypervisor 型の仮想化とは異なり、ホスト OS がまとめて管理する。 -Docker は、コンテナでアプリケーションを実行するため、コンピュータリソースの隔離・制限や、他のホスト、他のコンテナとのネットワーク構成や、ファイル・ディレクトリの世代と差分の管理などの機能を持つ。また容易に配布して実行することもできる。 - -Docker では新しい独自技術をほとんど用いていない。しかし新たなサーバ資源の運用方法として注目されており、学生が学ぶのに必須な技術の一つである。 - -\section{OpenStack} +%OpenStack は複数のコンポーネントの組み合わせで成り立っている。コンポーネント間を HTTP ベースの REST API か、AMQP (Advanced Message Queuing Protocol) を使った非同期通信で接続し、分散型の協調動作を行っている。 -OpenStack はオープンソースで開発されているクラウド環境構築用のソフトウエア群である。VM やストレージ、ネットワークといった一番レイヤの低いリソースを提供するクラウド環境を構築することができる。 - -OpenStack は複数のコンポーネントの組み合わせで成り立っている。コンポーネント間を HTTP ベースの REST API か、AMQP (Advanced Message Queuing Protocol) を使った非同期通信で接続し、分散型の協調動作を行っている。 +%中心となるコンポーネントは Nova であり、役割は VM を起動することである。ユーザからの要求に従い必要な VM を起動するための一切を管理する。Nova は各種 hypervisor に対応している。また、LXC や Docker にも対応している。 -中心となるコンポーネントは Nova であり、役割は VM を起動することである。ユーザからの要求に従い必要な VM を起動するための一切を管理する。Nova は各種 hypervisor に対応している。また、LXC や Docker にも対応している。 - -管理する権限はネットワークを切りわけ、その下に VM を作成するという形になる。 +%管理する権限はネットワークを切りわけ、その下に VM を作成するという形になる。 %\section{docker} 新しく出た container 使うやつ
--- a/paper/chapter2.tex Wed Jan 14 02:32:35 2015 +0900 +++ b/paper/chapter2.tex Fri Jan 23 00:17:00 2015 +0900 @@ -1,25 +1,37 @@ -\chapter{新システムの要件} +\chapter{Shien システム} + 本章では現在のシステムの問題点をあげ、新システムでその問題点を改善する方法を示す。 -\section{ライセンス} +\section{Multi User Support} -現在のシステムでは、VMWare ESXi と VMWare vSphere Client を使用している。VMWare ESXi と VMWare vSphere Client を使用することによって、多額のライセンス料を支払う必要があった。そのため新システムでは、使用するソフトウエアは無償のオープンソースソフトウエアを使用する。そうすることで予算を機材に回すことができ、教育用計算機システムの資源を増やすことができる。 +情報工学科では一学年 60 名、学科全体で 240 名の学生が在籍している。そのすべての学生に対応するため、複数のユーザを管理できる必要がある。そのためには、複数の相手に同じ権限を、容易に配布するシステムでなければならない。 + +現在の学科の VM 管理システムでは、複数のユーザに対応するための権限の配布は VMWare vSphere Client で行われている。VMWare vShpere Client は豊富な機能を持っており、権限も細かく配布することができる。しかし多くのユーザに資源を配布するには手間がかかってしまうため、その手間を減らす必要がある。 -\section{技術への対応} +権限は二種類必要になる。管理者とユーザである。管理者はシステムそのものを管理する。計算機や hypervisor の設定、全ての VM や Container の操作をすることができる。 +ユーザは -VM だけではなく、主流となりつつある Container を導入する。 +\section{資源の制限} -\section{新しいディストリビューションへの対応} +計算機の資源は、主にストレージ、CPU 、メモリである。学科の計算機資源は限られている。ユーザ1つに対して多くの資源を与えてしまうと、他のユーザへ資源の配布が困難になる。 + +また明示的に資源を与えなくても、ユーザが管理者の許可無く大量の資源を確保することを防ぐ必要がある。 -オープンソースソフトウエアを使用するため、OS は Linux になる。新システムを構築するにあたり、現在主流の安定した Linux ディストリビューションを使用すると、新システムが使用される時期には古いものとなってしまう。 +現在のシステムでは、 VM を新たに作成するにはメールで申請する。メールを受け取った管理者は VMWare ESXi 上に VM を作成し、ユーザを申請者にメールで返信する。学生は最大240名いるため、一人ひとりに VM 申請作成を行うのは困難であり、全員に均等に VM を使って学習する機会を与えられない。 -\section{資源の貸出} +そのため Shien システムではユーザが使う資源を、管理者が応対すること無く自動的に制限できるよう構成する必要がある。 + +制限するべき資源は、以下のようになる。 -教育用のシステムを運用する際、資源を貸し出し学生の学習用に使わせる。現在のシステムではブレードサーバの資源を VM という形で切り出し、貸出を行う。しかし現在のシステムで学生に資源を貸し出す場合の手順は煩雑になっている。 +\begin{itemize} + \item 使用 CPU core 数 + \item メモリ容量 + \item 作成可能な VM の数 +\end{itemize} -新システムでは管理者の負担を減らすために、学生自身で VM の作成を行えるように構築する必要がある。 +\section{iSCSI Filesystem へ対応} -\section{複数台の計算機からブロックデバイスを共有する} +複数台の計算機でストレージを共有し、VM イメージを共有する。またそれによって、VM をライブマイグレーション可能にする。計算機が一台メンテナンスが必要であったり、止めなければいけない場合になった際に VM を止めずに移動することができる。 - +\section{Cloud への対応}
--- a/paper/chapter3.tex Wed Jan 14 02:32:35 2015 +0900 +++ b/paper/chapter3.tex Fri Jan 23 00:17:00 2015 +0900 @@ -1,15 +1,15 @@ -\chapter{提案する教育用計算機システム} +\chapter{提案する教育用ゲスト OS 管理システム} 本研究で提案するシステムは、学生が計算機資源を学習に活用できるよう補助するシステムである。また開発したアプリケーションのデプロイを行える環境を提供する。 -学科の資源である blade server 上に提案する計算機システムを作成し、検証を行う。 +学科の資源である blade server 上に提案するゲスト OS 管理システムを作成し、検証を行う。 複数の blade server で、GFS2 でフォーマットされた一つの Fibre Channel ストレージを共有し、Fibre Channel ストレージに VM のディスクイメージ、docker のアプリケーションを保存する。 \section{Fedora} RedHat が支援するコミュニティ Fedora Project によって開発されている Linux ディストリビューションである。最新の技術を積極的に取り込んでおり、その成果を Ret Hat Enterprise Linux に取り込まれるといった検証目的の位置づけになっている。 -最新の Fedora を使用することによって、教育用計算機システムで使われる OS やソフトウエアを予測し、また検証することが可能である。そのため今回のシステムでは Fedora を利用し、次期システムが稼働する際の環境を構築し、検証を行った。 +最新の Fedora を使用することによって、教育用 OS 管理システムで使われる OS やソフトウエアを予測し、また検証することが可能である。そのため今回のシステムでは Fedora を利用し、次期システムが稼働する際の環境を構築し、検証を行った。 \section{Global File System 2 (GFS2)} @@ -104,6 +104,22 @@ 今回は port の pool から port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。 +\section{Docker} + +Docker とは、Docker 社が開発してるオープンソースのコンテナ型仮想化ソフトウエアである。Linux 上で Linux Container (LXC) を活用し、コンテナ型の仮想環境を作成する。図\ref{fig:container} は Docker のアーキテクチャである。 + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.7]{figures/container.pdf} + \caption{Container architecture} + \label{fig:container} + \end{center} +\end{figure} + +コンテナは OS 環境を複数のグループに区切って別のサーバのように利用する技術である。KVM などの hypervisor 型の仮想化とは異なり、ホスト OS がまとめて管理する。 +Docker は、コンテナでアプリケーションを実行するため、コンピュータリソースの隔離・制限や、他のホスト、他のコンテナとのネットワーク構成や、ファイル・ディレクトリの世代と差分の管理などの機能を持つ。また容易に配布して実行することもできる。 + +Docker では新しい独自技術をほとんど用いていない。しかし新たなサーバ資源の運用方法として注目されており、学生が学ぶのに必須な技術の一つである。 \section{ie-docker}
--- a/paper/chapter4.tex Wed Jan 14 02:32:35 2015 +0900 +++ b/paper/chapter4.tex Fri Jan 23 00:17:00 2015 +0900 @@ -1,4 +1,4 @@ -\chapter{提案する計算機システムでの管理方法} +\chapter{ゲスト OS 管理システムでの管理方法} \section{LDAP による権限管理}