diff paper/mk-wm.tex @ 10:e4de1a56f77f

add ie-virsh, update figs
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Wed, 05 Aug 2020 18:39:09 +0900
parents bf3c55a19edb
children 5ae4054bcc94
line wrap: on
line diff
--- a/paper/mk-wm.tex	Tue Aug 04 17:36:46 2020 +0900
+++ b/paper/mk-wm.tex	Wed Aug 05 18:39:09 2020 +0900
@@ -91,11 +91,35 @@
 
 
 \section{本コースの類似サービス}
-本サービスに類似したサービスとして, Docker をラップし複数のユーザで利用することを目的とした ie-docker \cite{ie-docker}, Kubernetes を利用した教育用コンテナ貸出を目的とした, digdog \cite{digdog} がある。
+本サービスに類似したサービスとして, libvirt の CLI である virsh をラップしマルチユーザ VM 環境を提供する ie-virsh。
+また, Docker をラップし複数のユーザで利用することを目的とした ie-docker \cite{ie-docker}, Kubernetes を利用した教育用コンテナ貸出を目的とした, digdog \cite{digdog} がある。
+
+\subsection{ie-virsh}
+ie-virsh とは, 本コースの Operating System という講義に向けに libvirt の CLI である virsh をラップし複数のユーザで利用することができる VM 管理ツールである。
+ie-virsh は 本コースの講義に向け作成されたが, 学生の演習でも利用ができる。
+課題では VM の環境を学生が設定し, 情報工学科の持つブレードサーバ上にアップロードし, プログラムの実装や測定を行う。\cite{ie-virsh}
+学生は手元の PC で作成した VM をブレードサーバ上にデプロイすることで, 演習環境を構築することができる。
+ie-virsh は ユーザの UID 及び GID 情報を取得することで, 他のユーザの VM を操作させない。表\ref{tb:ie-virsh}は ユーザが利用できる ie-virsh の機能である。
+
+\begin{table}[htb]
+  \begin{center}
+  \caption{ie-virsh のコマンド}
+  \begin{tabular}{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
+    \end{tabular}
+  \label{tb:ie-virsh}
+  \end{center}
+\end{table}
+
 \subsection{ie-docker}
 ie-docker とは Docker をラップし複数のユーザで利用することのできるコンテナ管理ツールである。
 利用する学生は ssh でブレードサーバへ接続し, ie-docker を使用してコンテナを操作することができる。
-ie-docker は UID 及び GID 情報を取得し他のユーザのコンテナを操作させない。
+ie-docker は UID 及び GID 情報を取得することで, 他のユーザのコンテナを操作させない。
 またユーザが使える docker の機能を制限する。表\ref{tb:ie-docker}が ie-docker で利用できる機能である。
 
 \begin{table}[htb]
@@ -179,13 +203,13 @@
 そこで, Web コンソールから Singularity 用のイメージをダウンロードできる仕様とする。\par
 学生は利用したいイメージをダウンロードし, ブレードサーバへ送信して Singularity を使用する。Singularity を利用する流れを図\ref{fig:singu} に示す。
 
-\begin{figure}[tb]
+\begin{figure*}[tb]
     \begin{center}
-        \includegraphics[width=80mm]{Images/whalemountain.pdf}
+        \includegraphics[width=100mm]{Images/whalemountain.pdf}
     \end{center}
     \caption{システム構成}
     \label{fig:wm}
-\end{figure}
+\end{figure*}
 
 \begin{figure}[tb]
     \begin{center}
@@ -247,7 +271,7 @@
 返却したコンテナID や ネットワークID を下にコンテナ削除やコマンドの実行, ファイルの送信を処理する。
 だが, ファイルの送信では JSON 形式ではなく multipart/form-data 形式でリクエストを受ける。\par
 Docker イメージは GitLab CI/CD を利用して作成するが, Build が成功したかを判断することはできない。
-そのため, Web コンソール側から 5 分に一度イメージの更新リクエストが送られ, Docker イメージの一覧をリストにまとめ返却を行う。\par
+そのため, Web コンソール側から 5 分に一度イメージの更新リクエストを受け, Docker イメージの一覧をリストにまとめ返却を行う。\par
 ユーザが作成するコンテナとは別に GitLab CI/CD で Docker イメージを Build するための GitLab Runner を立てる必要がある。
 立ち上げはユーザが Web コンソールで CI/CD トークンの設定時に行われる。GitLab Runner をユーザごとに立ち上げることで, 複数のユーザが同時に Build を行うことができる。