Mercurial > hg > Papers > 2015 > taiki-master
changeset 2:f24c74af0ff2
add files
author | taiki |
---|---|
date | Tue, 13 Jan 2015 17:24:15 +0900 |
parents | e117860b3064 |
children | b8b5280755d0 |
files | paper/abstract_eng.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/introduciton.tex paper/master_paper.tex paper/thanx.tex |
diffstat | 7 files changed, 194 insertions(+), 215 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/abstract_eng.tex Tue Jan 13 17:24:15 2015 +0900 @@ -0,0 +1,3 @@ +\begin{abstract_eng} + +\end{abstract_eng}
--- a/paper/chapter2.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/chapter2.tex Tue Jan 13 17:24:15 2015 +0900 @@ -1,112 +1,25 @@ -\chapter{提案する教育用計算機システム} - -本研究で提案するシステムは、学生が計算機資源を学習に活用できるよう補助するシステムである。また開発したアプリケーションのデプロイを行える環境を提供する。 - -学科の資源である blade server 上に提案する計算機システムを作成し、検証を行う。 - -複数の blade server で、GFS2 でフォーマットされた一つの Fibre Channel ストレージを共有し、Fibre Channel ストレージに VM のディスクイメージ、docker のアプリケーションを保存する。 - -\section{Fedora} -RedHat が支援するコミュニティ Fedora Project によって開発されている Linux ディストリビューションである。最新の技術を積極的に取り込んでおり、その成果を Ret Hat Enterprise Linux に取り込まれるといった検証目的の位置づけになっている。 +\chapter{新システムの要件} +本章では現在のシステムの問題点をあげ、新システムでその問題点を改善する方法を示す。 -最新の Fedora を使用することによって、教育用計算機システムで使われる OS やソフトウエアを予測し、また検証することが可能である。そのため今回のシステムでは Fedora を利用し、次期システムが稼働する際の環境を構築し、検証を行った。 - -\section{Global File System 2 (GFS2)} - -GFS2 は、Linux カーネルファイルシステムインターフェィスに直接的に対応するカーネルファイルシステムである。単独システム内、またはクラスタ設定の一部として使用することができる。GFS2 では、すべてのノードから同じ共有ストレージへアクセスできる。クラスタファイルシステムの一部として使用された場合、GFS2 は分散型メタデータと複数ジャーナルを運用する。 - -また GFS2 は 64-bit アーキテクチャを土台にしており、理論的に 8EB のファイルシステムを収容することができる。 - -\section{Distributed Lock Manager (DLM)} - -Red Hat のクラスタでは DLM が使用される。DLM は GFS2 ファイルシステムへのアクセスなどの、クラスタ内のリソースへのアクセスを制御する。DLM がない場合、共有ストレージへのアクセス制御がなくなり、クラスタ内のノードが相互のデータを破損させる可能性がある。 +\section{ライセンス} -DLM は各クラスタノードで実行され、またロック管理はクラスタ内のすべてのノードを対象として行われる。 - -\section{The corosync Cluster Engine (corosync)} - -corosync は、高可用性を実現するクラスタ基盤ソフトウエアである。 OpenAIS プロジェクトの中で作られたソフトウエアが分離されたものとなっている。 - -Extended virtual syncrony と呼ばれる形式で、マルチキャストやブロードキャストを使ったノード間のメッセージング機能を提供する。また、クラスタ全体でプロセスグループを管理するための管理機能や、基礎的なアプリケーションの監視などの機能も提供する。 - -Fedora では過去にクラスタを管理するために使用されていた Cluster Manager (CMAN) が削除されているため、今後使用できない。新システムの設計をするためには CMAN を外す必要がある。 +現在のシステムでは、VMWare ESXi と VMWare vSphere Client を使用している。VMWare ESXi と VMWare vSphere Client を使用することによって、多額のライセンス料を支払う必要があった。そのため新システムでは、使用するソフトウエアは無償のオープンソースソフトウエアを使用する。そうすることで予算を機材に回すことができ、教育用計算機システムの資源を増やすことができる。 -\section{Logical Volume Manager (LVM)} - -LVM とは、複数のハードディスクやパーティションにまたがった記憶領域を一つの論理的なディスクとして扱うことのできるディスク管理機能である。 - -LVM はハードディスク内に、物理ボリュームと呼ばれる LVM 用のパーティションを用意する。その物理ボリュームを初期化し、物理エクステントと呼ばれる小さな領域に分割する。複数の物理ボリュームをまとめて新たに作られる管理単位が、ボリュームグループになる。そして実際のパーティション同様に利用できるボリューム、論理ボリュームを作成する。 +\section{技術への対応} -\section{Clustered Logical Volume Manager (cLVM)} - -\section{ie-virsh} -ie-virsh は本研究室で開発している、virsh をラップすることで作成された VM 管理用のツールである。ie-virsh を使用することにより、他のアカウントの VM を操作させずに VM 所持者に操作させられる。 - -表\ref{table:ievirshfunc}が ie-virsh の機能である。 +VM だけではなく、主流となりつつある Container を導入する。 -\begin{tiny} - \begin{table}[ht] - \begin{center} - \caption{ie-virsh のコマンド} - \label{table:ievirshfunc} - \small - \begin{tabular}[t]{c|l} - \hline - define & XML の template を元に domain を作成 \\ - \hline - undefine & define で作成した domain を削除 \\ - \hline - list & define で作成した domain を一覧表示 \\ - \hline - start & 指定した domain 名の VM を起動 \\ - \hline - destroy & 指定した domain 名の VM を停止 \\ - \hline - dumpxml & domain の XML を参照 \\ - \hline - debug & linux kernel のコードを gdb で読む\\ - \hline - \end{tabular} - \end{center} - \end{table} -\end{tiny} +\section{新しいディストリビューションへの対応} -virsh ではネットワークやストレージの設定を行うことも可能である。しかし ie-virsh では管理者ではない使用者にはネットワークやストレージの設定ができないよう実装している。 +オープンソースソフトウエアを使用するため、OS は Linux になる。新システムを構築するにあたり、現在主流の安定した Linux ディストリビューションを使用すると、新システムが使用される時期には古いものとなってしまう。 + +\section{資源の貸出} -また ie-virsh には virsh にあるようなネットワークの構成などの、管理者側がするべき操作はなく、管理者でない使用者には操作できないようになっている。 - -\subsection{資源の制限} - -ie-virsh がラップしている virsh は、XMLファイルを使って VM を管理している。XML ファイルには VM のパラメータが記述されている。 - -ie-virsh では学生が使用する VM が使用する資源を制限するために、予めこの XML ファイルのテンプレートを作成し利用している。 - -XML テンプレートにされている設定は、以下のようになる。 +教育用のシステムを運用する際、資源を貸し出し学生の学習用に使わせる。現在のシステムではブレードサーバの資源を VM という形で切り出し、貸出を行う。しかし現在のシステムで学生に資源を貸し出す場合の手順は煩雑になっている。 -\begin{itemize} - \item ネットワークの設定 - \item I/O 設定 - \item VM イメージのフォーマット - \item CPU 数 - \item メモリ容量 -\end{itemize} +新システムでは管理者の負担を減らすために、学生自身で VM の作成を行えるように構築する必要がある。 -これによって学生が使用する背資源を制限し、過剰なメモリや CPU の確保を防ぐ。 -また学生が VM を多く作成するという形で資源を利用してしまうことを防ぐために、作成できる VM の数を4台に制限した。 - -\subsection{ie-virsh debug} - -本研究では、ie-virsh の新しい機能として debug コマンドの実装を行った。Linux Kernel のソースコードを読む方法は2つ挙げられる。Linux kernel をダウンロードし、そのソースコードをそのまま読むという手法と、gdb で逐次ソースコード追って読むという手法である。 - -gdb で Linux kernel のソースコードを追うには、手間がかかってしまう。また授業で Linux kernel を題材に出す際、gdb で追うことができると課題の幅が広がる。そこで本研究のシステムに、gdb で Linux kernel を追う機能を追加する。 - -KVM には gdb で接続するための port を指定し、接続すると gdb から Linux kernel のデバッグへ入ることができる。更に libvirt の XML 設定ファイルに、KVM へ gdb で接続するために開ける VM の port を記述することで、VM の port を開くことができる。 - -今回は port の pool から port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。 +\section{複数台の計算機からブロックデバイスを共有する} -\section{ie-docker} -\section{LDAP との連携による権限管理} - -\newpage
--- a/paper/chapter3.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/chapter3.tex Tue Jan 13 17:24:15 2015 +0900 @@ -1,106 +1,112 @@ -\chapter{提案する計算機システムでの管理方法} +\chapter{提案する教育用計算機システム} -\section{LDAP による権限管理} +本研究で提案するシステムは、学生が計算機資源を学習に活用できるよう補助するシステムである。また開発したアプリケーションのデプロイを行える環境を提供する。 -VMWare vSphere Client では VM やシステムに対する権限を細かく設定できる。しかし各利用者に対して適切な権限を振るのは多くの時間を要するため、自動的に権限を配布する必要がある。 +学科の資源である blade server 上に提案する計算機システムを作成し、検証を行う。 -教育用の計算機システムでは、権限は管理者と利用者のみに分けられる。そのため権限の配布は同一の権限を利用者に一度に振るのがよい。 +複数の blade server で、GFS2 でフォーマットされた一つの Fibre Channel ストレージを共有し、Fibre Channel ストレージに VM のディスクイメージ、docker のアプリケーションを保存する。 -本研究で提案する計算機システムでは、LDAP から取得したアカウントによって権限を配布する。情報工学科では学生や教師などの利用者アカウントを LDAP で管理しており、そのアカウントをそのまま権限配布に使用することができるためである。 +\section{Fedora} +RedHat が支援するコミュニティ Fedora Project によって開発されている Linux ディストリビューションである。最新の技術を積極的に取り込んでおり、その成果を Ret Hat Enterprise Linux に取り込まれるといった検証目的の位置づけになっている。 -またデータや VM のイメージを保存する Fibre Channel ストレージに各利用者へディレクトリを自動的に作成し、そのディレクトリにそれらを保存する。ディレクトリに各利用者と管理者だけがアクセスできるように権限を設定する。 +最新の Fedora を使用することによって、教育用計算機システムで使われる OS やソフトウエアを予測し、また検証することが可能である。そのため今回のシステムでは Fedora を利用し、次期システムが稼働する際の環境を構築し、検証を行った。 -本研究で扱うシステムでは、利用者は他の利用者の VM や Container に対して操作を行うことができず、またデータや VM を操作・改編することができない。 +\section{Global File System 2 (GFS2)} -\section{ie-virsh で使用する VM イメージのアップロード} +GFS2 は、Linux カーネルファイルシステムインターフェィスに直接的に対応するカーネルファイルシステムである。単独システム内、またはクラスタ設定の一部として使用することができる。GFS2 では、すべてのノードから同じ共有ストレージへアクセスできる。クラスタファイルシステムの一部として使用された場合、GFS2 は分散型メタデータと複数ジャーナルを運用する。 -利用者は Fibre Channel ストレージに VM イメージを保存する。この計算機システムでは各 VM 所有者ごとにディレクトリを分けて使う。 +また GFS2 は 64-bit アーキテクチャを土台にしており、理論的に 8EB のファイルシステムを収容することができる。 -VM 使用者は手元の PC で VM イメージを作成し、実験・開発環境を作成する。次に VM イメージを Fibre Channel ストレージにアップロードする。アップロード先は Fibre Channel ストレージ上にある所有者自身のディレクトリである。ie-virsh は VM を設定する XML ファイルをテンプレートから作成するため、VM イメージの形式は固定である。そのため、VM イメージをテンプレートに合わせた形式にしなければならない。 +\section{Distributed Lock Manager (DLM)} -アップロードした後は、ie-virsh で XML テンプレートを使用したドメインを作成する。ie-virsh は virsh のドメインを自動的に定義することができる、define コマンドを持っており、そのコマンドを利用する。 +Red Hat のクラスタでは DLM が使用される。DLM は GFS2 ファイルシステムへのアクセスなどの、クラスタ内のリソースへのアクセスを制御する。DLM がない場合、共有ストレージへのアクセス制御がなくなり、クラスタ内のノードが相互のデータを破損させる可能性がある。 -ドメインの定義は下記のように行う。 +DLM は各クラスタノードで実行され、またロック管理はクラスタ内のすべてのノードを対象として行われる。 + +\section{The corosync Cluster Engine (corosync)} -\begin{verbatim} -% ie-virsh define [01 - 04] -\end{verbatim} +corosync は、高可用性を実現するクラスタ基盤ソフトウエアである。 OpenAIS プロジェクトの中で作られたソフトウエアが分離されたものとなっている。 -ドメインは 01 から 04 までの名前をつけることができる。 +Extended virtual syncrony と呼ばれる形式で、マルチキャストやブロードキャストを使ったノード間のメッセージング機能を提供する。また、クラスタ全体でプロセスグループを管理するための管理機能や、基礎的なアプリケーションの監視などの機能も提供する。 -\section{VM の起動} +Fedora では過去にクラスタを管理するために使用されていた Cluster Manager (CMAN) が削除されているため、今後使用できない。新システムの設計をするためには CMAN を外す必要がある。 -ie-virsh を使用して、VM を起動する。 -起動するには、下記の操作を行う。 +\section{Logical Volume Manager (LVM)} -\begin{verbatim} -% ie-virsh start [01 - 04] -\end{verbatim} +LVM とは、複数のハードディスクやパーティションにまたがった記憶領域を一つの論理的なディスクとして扱うことのできるディスク管理機能である。 + +LVM はハードディスク内に、物理ボリュームと呼ばれる LVM 用のパーティションを用意する。その物理ボリュームを初期化し、物理エクステントと呼ばれる小さな領域に分割する。複数の物理ボリュームをまとめて新たに作られる管理単位が、ボリュームグループになる。そして実際のパーティション同様に利用できるボリューム、論理ボリュームを作成する。 -また、VM に適切な設定を行うことによって、console でログインすることができる。 -console を使用するには下記の操作を行う。 +\section{Clustered Logical Volume Manager (cLVM)} -\begin{verbatim} -% ie-virsh console [01 - 04] -\end{verbatim} +\section{ie-virsh} +ie-virsh は本研究室で開発している、virsh をラップすることで作成された VM 管理用のツールである。ie-virsh を使用することにより、他のアカウントの VM を操作させずに VM 所持者に操作させられる。 + +表\ref{table:ievirshfunc}が ie-virsh の機能である。 -各 VM 所有者自身で console にアクセスすることができるため、間違った VM の設定を適用したとしても管理者に連絡する必要はない。console でアクセスし、正しい設定に変更することができる。 - -\section{VM のリストの取得} - -VM 所有者は ie-virsh を使用して自身の持つ VM の一覧を見ることができる。下記の操作を行う。 - -\begin{verbatim} -% ie-virsh list -\end{verbatim} +\begin{tiny} + \begin{table}[ht] + \begin{center} + \caption{ie-virsh のコマンド} + \label{table:ievirshfunc} + \small + \begin{tabular}[t]{c|l} + \hline + define & XML の template を元に domain を作成 \\ + \hline + undefine & define で作成した domain を削除 \\ + \hline + list & define で作成した domain を一覧表示 \\ + \hline + start & 指定した domain 名の VM を起動 \\ + \hline + destroy & 指定した domain 名の VM を停止 \\ + \hline + dumpxml & domain の XML を参照 \\ + \hline + debug & linux kernel のコードを gdb で読む\\ + \hline + \end{tabular} + \end{center} + \end{table} +\end{tiny} -virsh はオプションで --all をつけることによって停止した VM も一覧することができるが、ie-virsh はサーバ用途以外の実験にも使用されるため、VM を停止する場合も多い。そのため ie-virsh の list コマンドではオプションを付けなくても停止している VM が一覧に含まれる。 - -\section{VM の停止} - -VM の停止は virsh と同じである。 - -\begin{verbatim} -% ie-virsh destroy [01 - 04] -\end{verbatim} - -virsh の destroy コマンドをラップしているため、VM を強制的に停止させる。 +virsh ではネットワークやストレージの設定を行うことも可能である。しかし ie-virsh では管理者ではない使用者にはネットワークやストレージの設定ができないよう実装している。 -\section{VM への console ログイン} +また ie-virsh には virsh にあるようなネットワークの構成などの、管理者側がするべき操作はなく、管理者でない使用者には操作できないようになっている。 -VM へ console でログインするには、下記の操作を行う。VM が console から見れるよう、正しく設定しておく必要がある。 +\subsection{資源の制限} -\begin{verbatim} -% ie-virsh console [01 - 04] -\end{verbatim} +ie-virsh がラップしている virsh は、XMLファイルを使って VM を管理している。XML ファイルには VM のパラメータが記述されている。 -VM へリモートログインできなくなった時に、VM の設定を修正するために使用させる。管理者は console ログインするための連絡を使用者とやりとりする必要はない。 +ie-virsh では学生が使用する VM が使用する資源を制限するために、予めこの XML ファイルのテンプレートを作成し利用している。 -\section{VM のブレードサーバ間の移動} +XML テンプレートにされている設定は、以下のようになる。 -ブレードサーバは GFS2 でフォーマットされた Fibre Channel ストレージを共有している。提案する計算機システムではそのストレージに VM イメージを配置する。VM イメージはどのブレードサーバからでも起動することができる。 - -VM を他のブレードサーバへ移動するには、VM の XML 設定ファイルを移動先のブレードサーバへコピーし、virsh のコマンドで define する。 - -Fibre Channel ストレージにある VM イメージのパスが同じであれば、そのまま起動することができる。 +\begin{itemize} + \item ネットワークの設定 + \item I/O 設定 + \item VM イメージのフォーマット + \item CPU 数 + \item メモリ容量 +\end{itemize} -また VM イメージは共有しているため、移動元の起動中の VM の VM イメージを使って移動先のブレードサーバで VM を起動することも可能となっている。 +これによって学生が使用する背資源を制限し、過剰なメモリや CPU の確保を防ぐ。 +また学生が VM を多く作成するという形で資源を利用してしまうことを防ぐために、作成できる VM の数を4台に制限した。 + +\subsection{ie-virsh debug} -virsh の機能として、ライブマイグレーション機能がある。GFS2 はライブマイグレーションに対応している。ライブマイグレーション機能を利用することで、他のブレードサーバへ起動中の VM を起動したまま移動させることが可能である。 +本研究では、ie-virsh の新しい機能として debug コマンドの実装を行った。Linux Kernel のソースコードを読む方法は2つ挙げられる。Linux kernel をダウンロードし、そのソースコードをそのまま読むという手法と、gdb で逐次ソースコード追って読むという手法である。 + +gdb で Linux kernel のソースコードを追うには、手間がかかってしまう。また授業で Linux kernel を題材に出す際、gdb で追うことができると課題の幅が広がる。そこで本研究のシステムに、gdb で Linux kernel を追う機能を追加する。 -\section{kernel debug 方法} +KVM には gdb で接続するための port を指定し、接続すると gdb から Linux kernel のデバッグへ入ることができる。更に libvirt の XML 設定ファイルに、KVM へ gdb で接続するために開ける VM の port を記述することで、VM の port を開くことができる。 + +今回は port の pool から port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。 -\section{Docker の起動} - -本研究で新たに実装を行った ie-docker は Docker のラッパーとなっている。任意の Process name を下記のコマンドを使用して割り当てる。 +\section{ie-docker} -\begin{verbatim} -% ie-docker run -it --name [process name] fedora:20 /bin/bash -\end{verbatim} +\section{LDAP との連携による権限管理} -process name は任意に割り当てることができる。また process name はアカウント名が ie-docker によって補完されるため、他のアカウントと被ることはない。 - -\section{Docker からの Fibre Channel ストレージの使用} - -Docker のコンテナに直接データを置くことは、コンテナ内部に余計なデータを置かないようにする。 +\newpage
--- a/paper/chapter4.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/chapter4.tex Tue Jan 13 17:24:15 2015 +0900 @@ -1,30 +1,106 @@ -\chapter{提案する計算機システムの評価} +\chapter{提案する計算機システムでの管理方法} + +\section{LDAP による権限管理} + +VMWare vSphere Client では VM やシステムに対する権限を細かく設定できる。しかし各利用者に対して適切な権限を振るのは多くの時間を要するため、自動的に権限を配布する必要がある。 + +教育用の計算機システムでは、権限は管理者と利用者のみに分けられる。そのため権限の配布は同一の権限を利用者に一度に振るのがよい。 + +本研究で提案する計算機システムでは、LDAP から取得したアカウントによって権限を配布する。情報工学科では学生や教師などの利用者アカウントを LDAP で管理しており、そのアカウントをそのまま権限配布に使用することができるためである。 + +またデータや VM のイメージを保存する Fibre Channel ストレージに各利用者へディレクトリを自動的に作成し、そのディレクトリにそれらを保存する。ディレクトリに各利用者と管理者だけがアクセスできるように権限を設定する。 + +本研究で扱うシステムでは、利用者は他の利用者の VM や Container に対して操作を行うことができず、またデータや VM を操作・改編することができない。 + +\section{ie-virsh で使用する VM イメージのアップロード} + +利用者は Fibre Channel ストレージに VM イメージを保存する。この計算機システムでは各 VM 所有者ごとにディレクトリを分けて使う。 + +VM 使用者は手元の PC で VM イメージを作成し、実験・開発環境を作成する。次に VM イメージを Fibre Channel ストレージにアップロードする。アップロード先は Fibre Channel ストレージ上にある所有者自身のディレクトリである。ie-virsh は VM を設定する XML ファイルをテンプレートから作成するため、VM イメージの形式は固定である。そのため、VM イメージをテンプレートに合わせた形式にしなければならない。 + +アップロードした後は、ie-virsh で XML テンプレートを使用したドメインを作成する。ie-virsh は virsh のドメインを自動的に定義することができる、define コマンドを持っており、そのコマンドを利用する。 + +ドメインの定義は下記のように行う。 -\section{実験環境} +\begin{verbatim} +% ie-virsh define [01 - 04] +\end{verbatim} + +ドメインは 01 から 04 までの名前をつけることができる。 + +\section{VM の起動} + +ie-virsh を使用して、VM を起動する。 +起動するには、下記の操作を行う。 -\subsection{ブレードサーバの仕様} +\begin{verbatim} +% ie-virsh start [01 - 04] +\end{verbatim} + +また、VM に適切な設定を行うことによって、console でログインすることができる。 +console を使用するには下記の操作を行う。 + +\begin{verbatim} +% ie-virsh console [01 - 04] +\end{verbatim} + +各 VM 所有者自身で console にアクセスすることができるため、間違った VM の設定を適用したとしても管理者に連絡する必要はない。console でアクセスし、正しい設定に変更することができる。 + +\section{VM のリストの取得} + +VM 所有者は ie-virsh を使用して自身の持つ VM の一覧を見ることができる。下記の操作を行う。 -\begin{table}[!htbp] -\caption{ブレードサーバの仕様} -\label{tab:server_spec} -\begin{center} -\begin{tabular}{|c||c|} \hline -名前 & 概要 \\ \hline \hline -CPU & Intel(R) Xeon(R) CPU X5650@2.67GHz \\ \hline -物理コア数 & 12 \\ \hline -論理コア数 & 24 \\ \hline -Memory & 132GB \\ \hline -OS & Fedora 20 \\ \hline -\end{tabular} -\end{center} -\end{table} +\begin{verbatim} +% ie-virsh list +\end{verbatim} + +virsh はオプションで --all をつけることによって停止した VM も一覧することができるが、ie-virsh はサーバ用途以外の実験にも使用されるため、VM を停止する場合も多い。そのため ie-virsh の list コマンドではオプションを付けなくても停止している VM が一覧に含まれる。 + +\section{VM の停止} + +VM の停止は virsh と同じである。 + +\begin{verbatim} +% ie-virsh destroy [01 - 04] +\end{verbatim} + +virsh の destroy コマンドをラップしているため、VM を強制的に停止させる。 + +\section{VM への console ログイン} + +VM へ console でログインするには、下記の操作を行う。VM が console から見れるよう、正しく設定しておく必要がある。 + +\begin{verbatim} +% ie-virsh console [01 - 04] +\end{verbatim} + +VM へリモートログインできなくなった時に、VM の設定を修正するために使用させる。管理者は console ログインするための連絡を使用者とやりとりする必要はない。 -\section{GFS2 の Fibre Channel ストレージ} +\section{VM のブレードサーバ間の移動} + +ブレードサーバは GFS2 でフォーマットされた Fibre Channel ストレージを共有している。提案する計算機システムではそのストレージに VM イメージを配置する。VM イメージはどのブレードサーバからでも起動することができる。 + +VM を他のブレードサーバへ移動するには、VM の XML 設定ファイルを移動先のブレードサーバへコピーし、virsh のコマンドで define する。 -\section{授業 Operating System での使用} +Fibre Channel ストレージにある VM イメージのパスが同じであれば、そのまま起動することができる。 + +また VM イメージは共有しているため、移動元の起動中の VM の VM イメージを使って移動先のブレードサーバで VM を起動することも可能となっている。 + +virsh の機能として、ライブマイグレーション機能がある。GFS2 はライブマイグレーションに対応している。ライブマイグレーション機能を利用することで、他のブレードサーバへ起動中の VM を起動したまま移動させることが可能である。 + +\section{kernel debug 方法} -\subsection{Vagrant Box について} + +\section{Docker の起動} + +本研究で新たに実装を行った ie-docker は Docker のラッパーとなっている。任意の Process name を下記のコマンドを使用して割り当てる。 -授業 Operating System では、ie-virsh の VM イメージに Vagrant Box を使用した。受講者の PC 上で Vagrant を使って開発環境を作成させ、その VM イメージをブレードサーバにアップロードして変換し、ie-virsh で起動する。そうすることで Vagrant で作成した開発環境を ie-virsh からそのまま使用することができる。 +\begin{verbatim} +% ie-docker run -it --name [process name] fedora:20 /bin/bash +\end{verbatim} -Vagrant Box イメージは簡易なパスワードとユーザ名で Vagrant から管理されていたため、そのままブレードサーバへアップロードしサーバ用途に使用してしまうと、簡単に外部から侵入され乗っ取られてしまう。そのため Vagrant Box イメージを使用する際は、外部から攻撃されないような設定か確認し、脆弱な設定なら設定し直す必要がある。 +process name は任意に割り当てることができる。また process name はアカウント名が ie-docker によって補完されるため、他のアカウントと被ることはない。 + +\section{Docker からの Fibre Channel ストレージの使用} + +Docker のコンテナに直接データを置くことは、コンテナ内部に余計なデータを置かないようにする。
--- a/paper/introduciton.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/introduciton.tex Tue Jan 13 17:24:15 2015 +0900 @@ -17,14 +17,3 @@ \newpage \section{本論文の構成} -本論文では, 初めに分散データベースについて既存の製品を例に挙げながら述べる. -RDBとNoSQLについて説明し, 既存のNoSQLデータベースの特徴について説明する. -第3章では, Jungleの持つデータ構造, 非破壊的木構造について説明し, Jungleにおけるデータ編集について述べる. -第4章では, 非破壊的木構造による Jungle の基本設計と, 分散バージョン管理システムを参考にした分散設計 -について述べる. -第5章では, 第4章で行った設計を元にJungleへ行った分散実装について述べる. -第6章では, 第5章で実装した分散データベースJungleの評価を行うため, 簡易掲示板プログラムを実装する. -この掲示板プログラムはJungleとCassanraそれぞれのデータベースを使うものを用意した. -学科の並列環境上で開発した掲示板プログラムを複数のノードで実行させ, 負荷をかけることで Jungle と Cassandra の -性能比較を行う. -第6章では, 本研究におけるまとめと今後の課題について述べる.
--- a/paper/master_paper.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/master_paper.tex Tue Jan 13 17:24:15 2015 +0900 @@ -81,7 +81,7 @@ \input{chapter2.tex} \input{chapter3.tex} \input{chapter4.tex} -%\input{chapter5.tex} +\input{chapter5.tex} %\input{conclusion.tex} %謝辞
--- a/paper/thanx.tex Tue Jan 13 16:20:34 2015 +0900 +++ b/paper/thanx.tex Tue Jan 13 17:24:15 2015 +0900 @@ -1,10 +1,2 @@ \chapter*{謝辞} \addcontentsline{toc}{chapter}{謝辞} - - 本研究を行うにあたりご多忙にも関わらず日頃より多くの助言, ご指導をいただきました河野真治准教授に心より感謝いたします.\\ -研究を行うにあたり, 並列計算環境の調整, 意見, 実装に協力いただいた谷成 雄さん, 杉本 優さん, 並びに並列信頼研究室の全てのメンバーに感謝いたします.\\ - また, 本研究は, JST/CREST 研究領域「実用化を目指した組み込みシステム用ディペンダブル・オペレーティングシステム」D-ADD -研究チームとして実施された. -様々な研究や勉強の機会を与えてくださった, 株式会社Symphonyの永山辰巳さん, 同じく様々な助言を頂いた森田育宏さんに感謝いたします. -様々な研究に関わることで自身の研究にも役立てることが出来ました.\\ - 最後に, 大学の修士まで支えてくれた家族に深く感謝します.