Mercurial > hg > Papers > 2015 > taiki-master
changeset 7:9c08c451a8fc
add figure and graffles.
author | taiki |
---|---|
date | Wed, 04 Feb 2015 16:41:59 +0900 |
parents | 6f8f55a32957 |
children | bc41d38f98d0 |
files | paper/chapter1.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/chapter5.tex paper/figures/gfs2cluster.pdf paper/figures/ievirshdebug.pdf paper/figures/lvm.pdf paper/graffle/gfs2cluster.graffle paper/graffle/ievirshdebug.graffle paper/graffle/lvm.graffle paper/introduciton.tex paper/master_paper.pdf |
diffstat | 13 files changed, 2898 insertions(+), 60 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter1.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/chapter1.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,8 +1,8 @@ \chapter{既存のゲスト OS 管理システム} - 本章では、現在使用されている情報工学科の環境について述べる。また、教育用に使用可能な VM や Container 等の資源の管理機構とその特徴について触れる。 + 本章では、現在使用されている情報工学科の環境について述べる。また、教育用に使用可能な VM やコンテナ等の資源の管理機構とその特徴について触れる。 \section{情報工学科のシステム} - オンプレミスの blade server で構成されており、VMWare ESXi で動作している VM を VMWare vSphere Client で管理している。図\ref{fig:iesystem} のように、VM の所有者はメールでシステム管理者へ VM 作成依頼を行い、学科の提供する Web サービスで VM の起動・停止などの操作を行う。 + オンプレミスのブレードサーバで構成されており、VMWare ESXi で動作している VM を VMWare vSphere Client で管理している。図\ref{fig:iesystem} のように、VM の所有者はメールでシステム管理者へ VM 作成依頼を行い、学科の提供する Web サービスで VM の起動・停止などの操作を行う。 \begin{figure}[htpb] \begin{center} @@ -12,14 +12,15 @@ \end{center} \end{figure} -\subsection{Web サービス実装} - VM を操作するインターフェイスとして、Web サービスを使用することが可能である。GUI を操作するためにブラウザを起動する必要があり、また新しい GUI の操作に慣れなければならない。 +\section{Web サービス実装} + VM を操作するインターフェイスとして、VMWare の API を使った Web サービスを使用できる。GUI を操作するためにブラウザを起動する必要があり、また新しい GUI の操作に慣れなければならない。 -VM の作成はメールなどの連絡手段を使って、管理者を通して行う。既成の VM を blade server へアップロードするにも、管理者と連絡し手続きを取る。 +情報工学科のシステムでは、VM の操作は Web サービス実装を通して行う。VM の作成はメールなどの連絡手段を使って、管理者を通して行う。既成の VM をブレードサーバへアップロードするにも、管理者と連絡し手続きを取る。 -\subsection{VMWare vSphere Client} +\section{VMWare vSphere Client} GUI で VM を操作することができ、豊富な機能と高度な操作が可能となっている。VM などの資源に対する操作の権限を細かく扱うことができるため、利用者に対して権限を配布することが可能である。しかし GUI が複雑なため、操作に習熟する必要がある。 + \section{Kernel based Virtual Machine (KVM)} Linux 自体を VM の実行基盤として機能させるソフトウエアである。無償で利用可能なオープンソースとなっている。CPU の仮想化支援機能を必要とし、完全仮想化により仮想化環境を提供する hypervisor である。 @@ -39,15 +40,6 @@ 情報工学科のシステムは、KVM と VMWare ESXi の2つの hypervisor を利用している。情報工学科全体の VM 管理は、主に VMWare ESXi が使われている。 -\section{Vagrant} -Vagrant は異なる環境に移行可能な開発環境を構築・管理・配布することができる開発環境作成ツールである。手軽にテスト環境を導入・破棄することができ、変更が加わっても開発環境・本番環境に自動的に適用できる。 - -VirtaulBox などのプロバイダを使って、VM を Vagrant 経由で立ち上げる。手軽に起動・停止・ssh ログインできるため、Web サービスの開発や開発環境の配布などに利用される。 - -Vagrant は KVM をプロバイダとするプラグインを持っており、 KVM を VirtualBox のようにプロバイダとして動作させることができる。KVM 上の VM を Vagrant の操作と同じように起動・停止・設定することが可能となっている。 - -\subsection{Vagrant Box} - Vagrant で VM を利用する際に、VM のベースとなるイメージファイルが Vagrant Box である。 Vagrant で Vagrant Box を VM イメージとして起動し、設定し、開発環境を配布することができる。また配布されている Vagrant Box を取得して起動し、使用することができる。 \section{libvirt} VM 管理ツールである virsh を含む、 VM の制御を抽象化したライブラリである。 VM の情報を習得・操作することが可能な API 群である。 @@ -62,8 +54,8 @@ 図\ref{fig:libvirtarch}のように、アプリケーションから libvirt API を呼び出すと、API に従って内部の VMM API もしくは資源管理 API を呼び出し、制御を行う。libvirt は VM の管理だけではなく、仮想ネットワーク、仮想ストレージも管理することができる。もともとは Xen に対して API を提供していたが、現在は多くの hypervisor に対応している。 -\subsection{virsh} -virsh は libvirt に付属する VM 管理コンソールである。libvirt の API で VM を制御する。VM の起動や停止、情報の表示、ゲストが接続しているネットワークやデバイスの管理をすることができる。 +\section{virsh} +virsh は libvirt に付属する VM 管理コンソールである。libvirt の API で VM を制御することができる。VM の起動や停止、情報の表示、ゲストが接続しているネットワークやデバイスの管理をすることができる。 virsh をそのまま使用して複数のユーザを管理するためには、ユーザやグループの設定が必要である。またユーザやグループの設定を行ったとしても、ネットワークなどの操作をを制限することができない。
--- a/paper/chapter2.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/chapter2.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,25 +1,26 @@ \chapter{Shien システム} -本章では現在のシステムの問題点をあげ、新システムでその問題点を改善する方法を示す。 +本章では現在のシステムの問題点をあげ、Shien システムでその問題点を改善する方法を示す。 \section{Multi User Support} 情報工学科では一学年 60 名、学科全体で 240 名の学生が在籍している。そのすべての学生に対応するため、複数のユーザを管理できる必要がある。そのためには、複数の相手に同じ権限を、容易に配布するシステムでなければならない。 -現在の学科の VM 管理システムでは、複数のユーザに対応するための権限の配布は VMWare vSphere Client で行われている。VMWare vShpere Client は豊富な機能を持っており、権限も細かく配布することができる。しかし多くのユーザに資源を配布するには手間がかかってしまうため、その手間を減らす必要がある。 +現在の学科の VM 管理システムでは、複数のユーザに対応するための権限の配布は VMWare vSphere Client で行われている。VMWare vShpere Client は豊富な機能を持っており、権限も細かく配布することができる。しかし多くのユーザに権限を配布するには手間がかかってしまうため、その手間を減らさなければならない。 -権限は二種類必要になる。管理者とユーザである。管理者はシステムそのものを管理する。計算機や hypervisor の設定、全ての VM や Container の操作をすることができる。 -ユーザは +配布するべき権限は二種類ある。管理者とユーザである。管理者はシステムそのものを管理する。計算機や hypervisor の設定、全ての VM やコンテナの操作をすることができる。 + +ユーザはユーザ自身の資源のみを操作することができる。またシステム全体に関わる操作は行うこともできない。 \section{資源の制限} -計算機の資源は、主にストレージ、CPU 、メモリである。学科の計算機資源は限られている。ユーザ1つに対して多くの資源を与えてしまうと、他のユーザへ資源の配布が困難になる。 +計算機の資源は、主にストレージ、CPU 、メモリである。ユーザに提供できる計算機資源は限られている。ユーザ1つに対して多くの資源を与えてしまうと、他のユーザへ資源の配布が困難になる。 また明示的に資源を与えなくても、ユーザが管理者の許可無く大量の資源を確保することを防ぐ必要がある。 -現在のシステムでは、 VM を新たに作成するにはメールで申請する。メールを受け取った管理者は VMWare ESXi 上に VM を作成し、ユーザを申請者にメールで返信する。学生は最大240名いるため、一人ひとりに VM 申請作成を行うのは困難であり、全員に均等に VM を使って学習する機会を与えられない。 +現在のシステムではユーザは VM という形で資源を切り出している。 VM を新たに作成するにはメールで申請する。メールを受け取った管理者は VMWare ESXi 上に VM を作成し、VM 内に作成したユーザを申請者にメールで返信する。学生は最大240名いるため、一人ひとりに VM 申請作成を行うのは困難であり、全員に均等に VM を使って学習する機会を与えられない。 -そのため Shien システムではユーザが使う資源を、管理者が応対すること無く自動的に制限できるよう構成する必要がある。 +Shien システムではユーザが使う資源を管理者が応対すること無く自動的に割り当て、制限できるよう構成する。 制限するべき資源は、以下のようになる。 @@ -27,11 +28,22 @@ \item 使用 CPU core 数 \item メモリ容量 \item 作成可能な VM の数 + \item 各ユーザが使用する容量 \end{itemize} -\section{iSCSI Filesystem へ対応} +\section{iSCSIファイルシステムへ対応} + +計算機の外部に大容量の記憶媒体を置くことで、計算機そのものに記憶媒体を搭載しなくても多くのユーザに大きなデータ容量を配布できる。次期システムでは iSCSI で複数の計算機と記憶媒体と接続する。 + +そうすることで複数台の計算機で、VM イメージやユーザのデータを共有する。またそれによって VM をライブマイグレーション可能にする。計算機がメンテナンスをしなければならなかったり、計算機を止める必要のある際に VM を止めずに他の計算機へ移動することができる。 + +そのため iSCSI で複数台の計算機から接続された場合に、高速で整合性を保つことのできるファイルシステムを使用する必要がある。 -複数台の計算機でストレージを共有し、VM イメージを共有する。またそれによって、VM をライブマイグレーション可能にする。計算機が一台メンテナンスが必要であったり、止めなければいけない場合になった際に VM を止めずに移動することができる。 +\section{クラウドへの対応} +クラウドサービスとは外部のサービス上でウェブサービスなどのシステムを稼働させる事のできるサービスである。 +現在のシステムでは、クラウドサービスへの対応を行っていない。学生が外部のクラウドサービスを使用するためには、自主的にコストを支払い一から構成する。 -\section{Cloud への対応} +次期システムではクラウド上の資源を確保する。情報工学科のシステムのバックアップが行え、クラウドサービスを学生が使えるようになる。 + +Shien システムでは次期システム構成へ対応するため、クラウドサービスへ学生の開発したサービスやシステムのデプロイが行え、また管理者の負担を抑えて管理できるようにしなければならない。
--- a/paper/chapter3.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/chapter3.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,27 +1,38 @@ -\chapter{提案する教育用ゲスト OS 管理システム} - -本研究で提案するシステムは、学生が計算機資源を学習に活用できるよう補助するシステムである。また開発したアプリケーションのデプロイを行える環境を提供する。 +\chapter{Shien システムの構成} -学科の資源である blade server 上に提案するゲスト OS 管理システムを作成し、検証を行う。 +本章では Shien システムの構成について述べる。 -複数の blade server で、GFS2 でフォーマットされた一つの Fibre Channel ストレージを共有し、Fibre Channel ストレージに VM のディスクイメージ、docker のアプリケーションを保存する。 +Shien システムは、複数のアカウントの計算機資源の使用を管理できるよう補助するシステムである。アカウント所有者が開発したアプリケーションのデプロイや、コンテナ・VM を使った実験を行える環境を提供する。 \section{Fedora} -RedHat が支援するコミュニティ Fedora Project によって開発されている Linux ディストリビューションである。最新の技術を積極的に取り込んでおり、その成果を Ret Hat Enterprise Linux に取り込まれるといった検証目的の位置づけになっている。 + +Shien システムは情報工学科の次期システムに合わせて設計する。そのためには最新のソフトウエアを取り入れ、次期システムが稼働する際に安定になっているものを検証する必要がある。 + +Fedora は最新の技術を積極的に取り込んでおり、その成果を Ret Hat Enterprise Linux に取り込まれるといった検証目的の位置づけになっている。 最新の Fedora を使用することによって、教育用 OS 管理システムで使われる OS やソフトウエアを予測し、また検証することが可能である。そのため今回のシステムでは Fedora を利用し、次期システムが稼働する際の環境を構築し、検証を行った。 \section{Global File System 2 (GFS2)} +iSCSI に対応しており、複数のノードからのアクセスに対して整合性のある読み書きをするファイルシステムとして、GFS2 を選択する。 + GFS2 は、Linux カーネルファイルシステムインターフェィスに直接的に対応するカーネルファイルシステムである。単独システム内、またはクラスタ設定の一部として使用することができる。GFS2 では、すべてのノードから同じ共有ストレージへアクセスできる。クラスタファイルシステムの一部として使用された場合、GFS2 は分散型メタデータと複数ジャーナルを運用する。 -また GFS2 は 64-bit アーキテクチャを土台にしており、理論的に 8EB のファイルシステムを収容することができる。 +GFS2 を使用するには GFS2 でフォーマットされたディスクへアクセスするノードはクラスタ構成になっていなければならない。 \section{Distributed Lock Manager (DLM)} Red Hat のクラスタでは DLM が使用される。DLM は GFS2 ファイルシステムへのアクセスなどの、クラスタ内のリソースへのアクセスを制御する。DLM がない場合、共有ストレージへのアクセス制御がなくなり、クラスタ内のノードが相互のデータを破損させる可能性がある。 DLM は各クラスタノードで実行され、またロック管理はクラスタ内のすべてのノードを対象として行われる。 + +DLM をクラスタで動作させるには、以下のように設定する必要がある。 + +\begin{itemize} + \item ノードをクラスタの一部として設定する + \item すべてのノードがクラスタのメンバーであり、Quorum を所持している + \item ノード同士が IP アドレスで通信できる必要がある。 +\end{itemize} \section{The corosync Cluster Engine (corosync)} @@ -29,17 +40,50 @@ Extended virtual syncrony と呼ばれる形式で、マルチキャストやブロードキャストを使ったノード間のメッセージング機能を提供する。また、クラスタ全体でプロセスグループを管理するための管理機能や、基礎的なアプリケーションの監視などの機能も提供する。 -Fedora では過去にクラスタを管理するために使用されていた Cluster Manager (CMAN) が削除されているため、今後使用できない。新システムの設計をするためには CMAN を外す必要がある。 +Fedora では過去にクラスタを管理するために使用されていたクラスタManager (CMAN) が削除されているため、今後使用できない。新システムの設計をするためには CMAN を外す必要がある。 \section{Logical Volume Manager (LVM)} LVM とは、複数のハードディスクやパーティションにまたがった記憶領域を一つの論理的なディスクとして扱うことのできるディスク管理機能である。 -LVM はハードディスク内に、物理ボリュームと呼ばれる LVM 用のパーティションを用意する。その物理ボリュームを初期化し、物理エクステントと呼ばれる小さな領域に分割する。複数の物理ボリュームをまとめて新たに作られる管理単位が、ボリュームグループになる。そして実際のパーティション同様に利用できるボリューム、論理ボリュームを作成する。 +図\ref{fig:lvm}を用いて説明を行う。LVM はハードディスク内に、Physical Volume と呼ばれる LVM 用のパーティションを用意する。その Physical Volume を初期化し、Physical Extent と呼ばれる小さな領域に分割する。複数の Physical Volume をまとめて新たに作られる管理単位が、Volume Group になる。そして実際のパーティション同様に利用できる Volume 、Logical Volume を作成する。 + +Logical Volume は物理的なディスクのパーティションと同様に利用することができる。この Logical Volume を GFS2 でフォーマットする。 + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.7]{figures/lvm.pdf} + \caption{LVM} + \label{fig:lvm} + \end{center} +\end{figure} + +\section{Clustered Logical Volume Manager (CLVM)} + +クラスタを構成するノード間で LVM を使用する場合は、CLVM を使う。 + +LVM のクラスタリング拡張機能のセットである。一部のホストが変更した LVM 情報を他のホストに通知する。クラスタは LVM を使用した共有ストレージを管理できるようになる。GFS2 は CLVM を利用して複数ノードからのアクセスに対応する。 -\section{Clustered Logical Volume Manager (cLVM)} +クラスタで Volume Group を使用する場合は、Volume Group にクラスタに対応するフラグの設定を行わなければならない。 + +\section{構成} + +複数のブレードサーバでクラスタを構成する。クラスタの構成には corosync を使う。 + +GFS2 でフォーマットされた一つの Fibre Channel ストレージを共有し、Fibre Channel ストレージに VM のディスクイメージ、Docker のアプリケーションを保存する。これにより複数のブレードサーバ間で VM のイメージの共有や移動、コンテナの移動を簡単に行える。 + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.7]{figures/gfs2cluster.pdf} + \caption{GFS2 Cluster} + \label{fig:gfs2cluster} + \end{center} +\end{figure} + +図\ref{fig:gfs2cluster} がブレードサーバ一台の構成である。 \section{ie-virsh} + ie-virsh は本研究室で開発している、virsh をラップすることで作成された VM 管理用のツールである。ie-virsh を使用することにより、他のアカウントの VM を操作させずに VM 所持者に操作させられる。 表\ref{table:ievirshfunc}が ie-virsh の機能である。 @@ -73,15 +117,17 @@ virsh ではネットワークやストレージの設定を行うことも可能である。しかし ie-virsh では管理者ではない使用者にはネットワークやストレージの設定ができないよう実装している。 -また ie-virsh には virsh にあるようなネットワークの構成などの、管理者側がするべき操作はなく、管理者でない使用者には操作できないようになっている。 +また ie-virsh には virsh で使用できる、ネットワークの構成の操作などの管理者側がするべき操作はない。管理者でないアカウントでは操作できないようになっている。 \subsection{資源の制限} +複数のアカウントで計算機資源を共有する場合、管理者による資源の制限が必須である。VM の使用が主な ie-virsh では過剰なディスク容量やメモリ、CPU の確保を防がなければならない。 + ie-virsh がラップしている virsh は、XMLファイルを使って VM を管理している。XML ファイルには VM のパラメータが記述されている。 ie-virsh では学生が使用する VM が使用する資源を制限するために、予めこの XML ファイルのテンプレートを作成し利用している。 -XML テンプレートにされている設定は、以下のようになる。 +XML テンプレートで予め制限されている設定は、以下のようになる。 \begin{itemize} \item ネットワークの設定 @@ -92,21 +138,30 @@ \end{itemize} これによって学生が使用する背資源を制限し、過剰なメモリや CPU の確保を防ぐ。 -また学生が VM を多く作成するという形で資源を利用してしまうことを防ぐために、作成できる VM の数を4台に制限した。 +また学生が 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 を追う機能を追加する。 +gdb で Linux kernel のソースコードを追う準備には、手間がかかってしまう。また授業で Linux kernel を題材に出す際、gdb で追うことができると課題の幅が広がる。そこで本研究のシステムに、gdb で Linux kernel を追う機能を追加する。 + +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 を起動することで割り当てられる。 -KVM には gdb で接続するための port を指定し、接続すると gdb から Linux kernel のデバッグへ入ることができる。更に libvirt の XML 設定ファイルに、KVM へ gdb で接続するために開ける VM の port を記述することで、VM の port を開くことができる。 +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.7]{figures/ievirshdebug.pdf} + \caption{ie-virsh debug} + \label{fig:ievirshdebug} + \end{center} +\end{figure} -今回は port の pool から port 番号を取得し、デバッグ対象の VM を起動し、その VM へ gdb で接続するという方法で実装した。 \section{Docker} -Docker とは、Docker 社が開発してるオープンソースのコンテナ型仮想化ソフトウエアである。Linux 上で Linux Container (LXC) を活用し、コンテナ型の仮想環境を作成する。図\ref{fig:container} は Docker のアーキテクチャである。 +Docker とは、Docker 社が開発してるオープンソースのコンテナ型仮想化ソフトウエアである。Linux 上で Linuxコンテナ (LXC) を活用し、コンテナ型の仮想環境を作成する。図\ref{fig:container} は Docker のアーキテクチャである。 \begin{figure}[htpb] \begin{center} @@ -123,6 +178,34 @@ \section{ie-docker} -\section{LDAP との連携による権限管理} +ie-docker は本研究で新たに開発を行った、Docker をラップし複数のユーザで利用することのできるコンテナ管理ツールである。他のアカウントのコンテナを操作させない。またアカウントの使える docker の機能を制限する。表\ref{table:iedockerfunc}が ie-docker の機能である。 + -\newpage +\begin{tiny} + \begin{table}[ht] + \begin{center} + \caption{ie-docker のコマンド} + \label{table:iedockerfunc} + \small + \begin{tabular}[t]{c|l} + \hline + run & XML の template を元に domain を作成 \\ + \hline + build & define で作成した domain を削除 \\ + \hline + attach & 動作しているコンテナに attach する\\ + \hline + images & docker image を一覧表示する\\ + \hline + rmi & docker image を削除する\\ + \hline + rm & docker process を削除する\\ + \hline + start & docker process を起動する\\ + \hline + stop & docker process を停止する\\ + \hline + \end{tabular} + \end{center} + \end{table} +\end{tiny}
--- a/paper/chapter4.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/chapter4.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,4 +1,4 @@ -\chapter{ゲスト OS 管理システムでの管理方法} +\chapter{Shien システムでの管理方法} \section{LDAP による権限管理} @@ -10,7 +10,9 @@ またデータや VM のイメージを保存する Fibre Channel ストレージに各利用者へディレクトリを自動的に作成し、そのディレクトリにそれらを保存する。ディレクトリに各利用者と管理者だけがアクセスできるように権限を設定する。 -本研究で扱うシステムでは、利用者は他の利用者の VM や Container に対して操作を行うことができず、またデータや VM を操作・改編することができない。 +Shien システムの利用者は他の利用者の VM やコンテナに対して操作を行うことができず、またデータや VM を操作・改編することができない。 + +そのように、LDAP を使用して権限を管理することが可能である。 \section{ie-virsh で使用する VM イメージのアップロード} @@ -78,7 +80,7 @@ \section{VM のブレードサーバ間の移動} -ブレードサーバは GFS2 でフォーマットされた Fibre Channel ストレージを共有している。提案する計算機システムではそのストレージに VM イメージを配置する。VM イメージはどのブレードサーバからでも起動することができる。 +ブレードサーバは GFS2 でフォーマットされた Fibre Channel ストレージを共有している。Shien システムではそのストレージに VM イメージを配置する。VM イメージはどのブレードサーバからでも起動することができる。 VM を他のブレードサーバへ移動するには、VM の XML 設定ファイルを移動先のブレードサーバへコピーし、virsh のコマンドで define する。 @@ -99,8 +101,8 @@ % ie-docker run -it --name [process name] fedora:20 /bin/bash \end{verbatim} -process name は任意に割り当てることができる。また process name はアカウント名が ie-docker によって補完されるため、他のアカウントと被ることはない。 +Process name は任意に割り当てることができる。また process name はアカウント名が ie-docker によって補完されるため、他のアカウントと被ることはない。 \section{Docker からの Fibre Channel ストレージの使用} -Docker のコンテナに直接データを置くことは、コンテナ内部に余計なデータを置かないようにする。 +Docker のコンテナに直接データを置くことは、コンテナ内部にデータを置かない。
--- a/paper/chapter5.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/chapter5.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,9 +1,7 @@ -\chapter{ゲスト OS 管理システムの評価} +\chapter{Shien システムの評価} \section{実験環境} -\subsection{ブレードサーバの仕様} - \begin{table}[!htbp] \caption{ブレードサーバの仕様} \label{tab:server_spec} @@ -19,14 +17,45 @@ \end{center} \end{table} -\section{GFS2 の Fibre Channel ストレージ} +\section{Filesystem の速度比較} + +\section{GFS2 上の複数ノードの計測} -\subsection{複数ノードからのロックによる速度の変化} +\section{GFS2 上の VM イメージを使った複数ノードの計測} + +\section{VM とコンテナとの比較} + + \section{授業 Operating System での使用} +情報工学科では Operating System という授業が行われている。授業 Operating System で実際に ie-virsh を使用した。複数人の学生による VM の使用を、管理側の負担を抑えて管理することができた。 + +授業ではまず、受講生が自身の PC で VM を install し環境設定する。今回は Vagrant を使用した。Vagrant は Virtual Box を利用するため、VM image の形式も Virtual Box に則した ovf 形式である。設定した ovf 形式の VM image を Fibre Channel ストレージ上にアップロードし、KVM で起動することのできる形式 qcow2 へ変換する。 + +その VM image を元に ie-virsh で VM を起動する。 + +\section{外部へ公開} + + + +\subsection{Vagrant} +Vagrant は異なる環境に移行可能な開発環境を構築・管理・配布することができる開発環境作成ツールである。手軽にテスト環境を導入・破棄することができ、変更が加わっても開発環境・本番環境に自動的に適用できる。 + +VirtaulBox などのプロバイダを使って、VM を Vagrant 経由で立ち上げる。手軽に起動・停止・ssh ログインできるため、Web サービスの開発や開発環境の配布などに利用される。 + +Vagrant は KVM をプロバイダとするプラグインを持っており、 KVM を VirtualBox のようにプロバイダとして動作させることができる。KVM 上の VM を Vagrant の操作と同じように起動・停止・設定することが可能となっている。 + +\subsection{Vagrant Box} + Vagrant で VM を利用する際に、VM のベースとなるイメージファイルが Vagrant Box である。 Vagrant で Vagrant Box を VM イメージとして起動し、設定し、開発環境を配布することができる。また配布されている Vagrant Box を取得して起動し、使用することができる。 + \subsection{Vagrant Box について} 授業 Operating System では、ie-virsh の VM イメージに Vagrant Box を使用した。受講者の PC 上で Vagrant を使って開発環境を作成させ、その VM イメージをブレードサーバにアップロードして変換し、ie-virsh で起動する。そうすることで Vagrant で作成した開発環境を ie-virsh からそのまま使用することができる。 Vagrant Box イメージは簡易なパスワードとユーザ名で Vagrant から管理されていたため、そのままブレードサーバへアップロードしサーバ用途に使用してしまうと、簡単に外部から侵入され乗っ取られてしまう。そのため Vagrant Box イメージを使用する際は、外部から攻撃されないような設定か確認し、脆弱な設定なら設定し直す必要がある。 + +\section{Cloud 上での使用} + +\section{VM イメージの転送速度} +\section{コンテナの使用}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/graffle/gfs2cluster.graffle Wed Feb 04 16:41:59 2015 +0900 @@ -0,0 +1,617 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.18.0.187838</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2015-01-11 09:42:11 +0000</string> + <key>Creator</key> + <string>平良太貴</string> + <key>DisplayScale</key> + <string>1.000 cm = 1.000 cm</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{69.000000000000071, 92.555191040039034}, {135.00000000000003, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>17</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Blade Server : Fedora 20}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>8</integer> + </dict> + <key>ID</key> + <integer>16</integer> + <key>Points</key> + <array> + <string>{320.61750182734789, 416.04586812325766}</string> + <string>{321, 418}</string> + <string>{290.51069502005072, 437.72837436392143}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>15</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>8</integer> + </dict> + <key>ID</key> + <integer>14</integer> + <key>Points</key> + <array> + <string>{286.61566109850617, 405.38091346188475}</string> + <string>{289, 418}</string> + <string>{272.9529833812918, 437.61302135088977}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>11</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>8</integer> + </dict> + <key>ID</key> + <integer>13</integer> + <key>Points</key> + <array> + <string>{239.91908290993419, 395.83362235431042}</string> + <string>{241, 415}</string> + <string>{246.74864971358707, 437.51554113280048}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>10</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>8</integer> + </dict> + <key>ID</key> + <integer>12</integer> + <key>Points</key> + <array> + <string>{201.68275429353531, 358.49929212014973}</string> + <string>{204, 402}</string> + <string>{233.08373386242951, 437.61273395550757}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>9</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{70.791366906474821, 310}, {259.1726618705037, 48}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>9</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 clvmd : cluster +\f1 \'89\'ba\'82\'c5\'82\'cc +\f0 LVM +\f1 \'8a\'c7\'97\'9d}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{115.50000190734863, 438}, {275, 48}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>8</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 GFS2 on Fibre Channel Strage}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{70.791366906474821, 252}, {259.1726618705037, 48}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>6</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 dlm : +\f1 \'83\'8d\'83\'62\'83\'4e\'8a\'c7\'97\'9d}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{70.791366906474821, 193.99999999999997}, {259.1726618705037, 48}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>5</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 corosync : +\f1 \'83\'4e\'83\'89\'83\'58\'83\'5e\'8a\'c7\'97\'9d}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{70.791366906474821, 135.99999999999997}, {259.1726618705037, 48}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pacemaker}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{51, 83}, {305.35251798561166, 298.33441558441552}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{78.802158273381281, 97}, {305.35251798561166, 298.33441558441552}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>10</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{105.66187050359713, 106.55519104003906}, {305.35251798561166, 298.33441558441552}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>11</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{138.64748201438852, 117.22076416015625}, {305.35251798561166, 298.33441558441552}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>15</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2015-01-14 19:42:11 +0000</string> + <key>Modifier</key> + <string>平良太貴</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array> + <dict> + <key>name</key> + <string>Canvas 1</string> + </dict> + </array> + <key>Frame</key> + <string>{{490, 0}, {693, 925}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/graffle/ievirshdebug.graffle Wed Feb 04 16:41:59 2015 +0900 @@ -0,0 +1,640 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.18.0.187838</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2015-01-25 01:35:46 +0000</string> + <key>Creator</key> + <string>平良太貴</string> + <key>DisplayScale</key> + <string>1.000 cm = 1.000 cm</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>4</integer> + </dict> + <key>ID</key> + <integer>23</integer> + <key>Points</key> + <array> + <string>{288.47443455809406, 194.50001223939594}</string> + <string>{288.47443455809406, 231.50000001060374}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>20</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{304, 204}, {110, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>21</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 1. port +\f1 \'82\'f0\'8a\'84\'82\'e8\'93\'96\'82\'c4\'82\'e9}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{197.97442626953125, 145}, {181, 49}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>20</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 port pool}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{142.99991989135742, 227}, {59, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>19</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 2. start VM}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>12</integer> + <key>Points</key> + <array> + <string>{266.49693522422115, 299.31130319517348}</string> + <string>{292.50290455849375, 296.45698948775333}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>6</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{129.49991989135742, 339.5}, {110, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>9</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 3. gdb server +\f1 \'82\'c9\'90\'da\'91\'b1}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>6</integer> + </dict> + <key>ID</key> + <integer>8</integer> + <key>Points</key> + <array> + <string>{168.49988700874667, 302.36567170822701}</string> + <string>{217.49992607108732, 302.12189048413239}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>7</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{114.99989318847656, 274}, {53, 57}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>7</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 gdb}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{217.99991989135742, 281}, {48, 42}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>6</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 gdb\ +server}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{221.49991989135742, 238}, {18, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>5</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 VM}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{292.99991989135742, 263}, {62, 60}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Linux kernel}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{210.94896447734476, 232}, {155.05094909667969, 99}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2015-01-25 02:11:05 +0000</string> + <key>Modifier</key> + <string>平良太貴</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array> + <dict> + <key>name</key> + <string>Canvas 1</string> + </dict> + </array> + <key>Frame</key> + <string>{{457, 0}, {693, 777}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 18}, {558, 635}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/graffle/lvm.graffle Wed Feb 04 16:41:59 2015 +0900 @@ -0,0 +1,1463 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.18.0.187838</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2015-01-24 08:52:35 +0000</string> + <key>Creator</key> + <string>平良太貴</string> + <key>DisplayScale</key> + <string>1.000 cm = 1.000 cm</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>15</integer> + </dict> + <key>ID</key> + <integer>60</integer> + <key>Points</key> + <array> + <string>{399.15269272866988, 195.00517629167922}</string> + <string>{374.28160592778886, 198.32044642487773}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>59</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{399.15269272866988, 182.4733026092286}, {83, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>59</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Physical Extent}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{252.25095296032555, 412.85498143793018}, {82, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>58</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Logical Volume}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{72.143172580249569, 412.8549944822783}, {82, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>57</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Logical Volume}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>41</integer> + </dict> + <key>ID</key> + <integer>56</integer> + <key>Points</key> + <array> + <string>{364.63841834427046, 309.14498688633967}</string> + <string>{394.61049987017151, 374.22902951127776}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>27</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>40</integer> + </dict> + <key>ID</key> + <integer>55</integer> + <key>Points</key> + <array> + <string>{330.91362108311824, 309.14563625485442}</string> + <string>{360.64247237236032, 374.22835014089446}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>26</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>38</integer> + </dict> + <key>ID</key> + <integer>54</integer> + <key>Points</key> + <array> + <string>{297.24574102180679, 309.14563599920285}</string> + <string>{326.97468599943738, 374.22834105964512}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>25</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>37</integer> + </dict> + <key>ID</key> + <integer>53</integer> + <key>Points</key> + <array> + <string>{263.57781215890429, 309.14564310770777}</string> + <string>{293.30667007046389, 374.22834962816057}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>24</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>36</integer> + </dict> + <key>ID</key> + <integer>52</integer> + <key>Points</key> + <array> + <string>{229.90990664688766, 309.14565047626849}</string> + <string>{259.63876607041919, 374.22834963080237}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>23</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>31</integer> + </dict> + <key>ID</key> + <integer>51</integer> + <key>Points</key> + <array> + <string>{188.96280310068127, 309.19077372518507}</string> + <string>{187.81391764074877, 374.1832795301292}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>22</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>30</integer> + </dict> + <key>ID</key> + <integer>50</integer> + <key>Points</key> + <array> + <string>{155.29489597408531, 309.19075846639606}</string> + <string>{154.1460105141575, 374.18326427134019}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>21</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>29</integer> + </dict> + <key>ID</key> + <integer>49</integer> + <key>Points</key> + <array> + <string>{121.62698931398648, 309.19076583793554}</string> + <string>{120.47810385405401, 374.18327164287973}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>20</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>28</integer> + </dict> + <key>ID</key> + <integer>48</integer> + <key>Points</key> + <array> + <string>{87.959086336448095, 309.19076583793537}</string> + <string>{86.81020087651558, 374.1832716428795}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>19</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{73.836006873318624, 259.54199606955126}, {77, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>42</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Volume Group}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{387.27956261320082, 374.68318614489692}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>41</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{353.25464451433504, 374.6831487714889}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>40</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{319.58675122511426, 374.68314088423926}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>38</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{285.91884456501651, 374.68314825577875}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>37</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{252.25094158747811, 374.68314825577852}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>36</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{241.99705775274145, 365.36643121031574}, {183.96952819824219, 65.541961669921875}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>35</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>18</integer> + </dict> + <key>ID</key> + <integer>34</integer> + <key>Points</key> + <array> + <string>{223.73679031277223, 222.74423597995116}</string> + <string>{223.3430321889625, 251.96571488480635}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{173.14689271471443, 374.68320140368536}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>31</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{139.47898558811741, 374.68318614489641}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>30</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{105.81107892801964, 374.68319351643589}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>29</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{72.14317595048125, 374.68319351643567}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>28</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{61.561051901261749, 365.3664169829463}, {152.77470410125221, 65.541976928710938}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>32</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{343.17924787419059, 278.91984178836503}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>27</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{309.51134121409285, 278.91984915990452}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>26</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{275.84343823655456, 278.91984915990429}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>25</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{242.17552993730089, 278.91985601573413}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>24</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{208.50762327720315, 278.91986338727349}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>23</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{174.8397202996648, 278.91986338727338}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>22</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{141.17181317306776, 278.91984812848443}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>21</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{107.50390651297003, 278.91985550002391}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>20</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{73.836003535431644, 278.91985550002369}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>19</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{61.56105088017938, 252.46567110651063}, {322.68325805664062, 65.541976928710938}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>18</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{344.99588197460673, 185.4198511320501}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>15</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{311.32797531450899, 185.41985850358952}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>14</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{277.6600723369707, 185.41985850358935}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>13</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243.99216403771703, 185.41986535941916}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>12</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{210.32425737761929, 185.41987273095859}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>11</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{176.65635440008094, 185.41987273095842}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>10</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{142.9884472734839, 185.4198574721695}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>9</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{109.32054061338617, 185.41986484370892}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>8</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{68.70607864856035, 137.5114611400106}, {41, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>7</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Volume}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{75.652642700919387, 163.96947152328033}, {89, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>6</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Physical Volume}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{75.652637635847782, 185.41986484370875}, {28.790107727050781, 29.770988464355469}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{68.706080361518019, 156.70230445263894}, {310.95806884765625, 65.541976928710938}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{61.561050683230974, 132.27482444176798}, {322.68325805664062, 96.076332092285156}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>5</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>YES</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2015-01-24 09:27:37 +0000</string> + <key>Modifier</key> + <string>平良太貴</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array> + <dict> + <key>name</key> + <string>Canvas 1</string> + </dict> + </array> + <key>Frame</key> + <string>{{491, 165}, {867, 1168}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558.77865036150445, 783.20614108046937}}</string> + <key>Zoom</key> + <real>1.309999942779541</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1.309999942779541</real> + <real>1.3400000333786011</real> + </array> + </array> + </dict> +</dict> +</plist>
--- a/paper/introduciton.tex Fri Jan 23 01:41:31 2015 +0900 +++ b/paper/introduciton.tex Wed Feb 04 16:41:59 2015 +0900 @@ -1,12 +1,12 @@ \chapter{序論} - IT 技術の進歩は目まぐるしく、学習するためのコストや環境も必要になってくる。また学習のための環境を管理することは手間がかかる。 +IT 技術は Virtual Machine (以下 VM) やコンテナの普及により、より手軽に開発し試せる環境が整ってきている。手元の PC 上で VM やコンテナを立ち上げ、ウェブサービスやシステムの開発を行うことができる。しかし IT 技術を学習するためには、高性能 PC の購入や、有料のクラウドサービスの使用する必要があるためコストがかかる。これらの負担を IT 技術を学ぶ学生に負わせない、新たな仕組みが必要になってきている。 - そのため、学生が IT 技術を学習するための環境を供したい。また提供した環境を使用させるにあたり、管理者への煩雑な手続きを無くすことで管理者の負担を減らさなければならない。管理者側の負担として、VM の作成やアップロード、また VM のセキュリティ管理が挙げられる。 + そのため、学生が IT 技術を学習するための環境を提供したい。また提供した環境を使用させるにあたり、管理者への煩雑な手続きを無くすことで管理者の負担を減らさなければならない。管理者側の負担として、VM の作成や VM イメージのアップロード、VM のセキュリティ管理が挙げられる。 - またクラウドサービスと連携し、学生が開発したサービスをオンプレミスの環境から外のサービスへ移行することで、サービスへの高速なアクセスが可能になる。 + 情報工学科では定期的にシステム構成の変更を行う。クラウドサービスと連携し、学生が開発したサービスをオンプレミスの環境から外部のサービスへ移行することで、サービスへの高速なアクセスが可能になる。 -そこで当研究室では、学生に VM を提供し、資源を管理するための ie-virsh を開発している。 ie-virsh は複数の hypervisor に対応した virsh の wrapper となっている。 +そこで当研究室では、学生に VM を提供し、資源を管理するための ie-virsh を開発している。 ie-virsh は複数の hypervisor に対応した virsh のラッパーとなっている。 本研究では、IT 技術を教育するための環境を学生に提供するために、教育用計算機システムの構築と評価を行った。本研究では教育用計算機システムに、ie-virsh と、docker で使われる資源を管理するための ie-docker を開発し、学生に使用させる。またその際に Block device の共有に使う Filesystem 、 GFS2 の評価を行った。 現在のシステムと比較して、本研究で提案する計算機システムが教育用に適正であることを確認した。