view paper/chapter1.tex @ 17:75220d70dfd9

update pdf
author taiki
date Tue, 17 Feb 2015 03:41:16 +0900
parents d425712e4712
children 2345e39de180
line wrap: on
line source

\chapter{教育用計算機環境}

本章では教育用システムの要件を挙げる。

\section{Multi User Support}

本学科では一学年 60 名、学科全体で 240 名の学生が在籍している。そのすべての学生に対応するため、複数のユーザを管理できる必要がある。そのためには、複数のユーザに同じ権限を容易に配布するシステムでなければならない。

現在の本学科の VM 管理システムでは、複数のユーザに対応するための権限の配布は VMWare vSphere Client で行われている。VMWare vShpere Client は豊富な機能を持っており、権限も細かく配布することができる。しかし多くのユーザに権限を配布するには手間がかかってしまうため、その手間を減らさなければならない。

配布するべき権限は二種類ある。管理者とユーザである。管理者はシステムそのものを管理する。計算機や hypervisor の設定、全ての VM やコンテナの操作をすることができる。

ユーザはユーザ自身の資源のみを操作することができる。またシステム全体に関わるネットワークや他ユーザの VM などの操作は行うことができない。

\section{コンテナへの対応}

OS の環境を複数のグループで分割し、別のサーバのように利用することのできる技術がコンテナである。
サーバ運用でコンテナを使用する例が増えてきている。一台のサーバに対して複数のサービスを、VM に比べて少ないオーバーヘッドで使用することができるためである。これからコンテナでの運用が主流になっていくので、教育用システムでもコンテナを使用可能にしなければならない。そのためには Linux をサーバに用いる必要がある。

\section{資源の制限}

計算機の資源は、主にストレージ、CPU 、メモリである。ユーザに提供できる計算機資源は限られている。ユーザ1つに対して多くの資源を与えてしまうと、他のユーザへ資源の配布が困難になる。

また明示的に資源を与えなくても、ユーザが管理者の許可無く大量の資源を確保することを防ぐ必要がある。

現在のシステムではユーザは VM という形で資源を切り出している。 VM を新たに作成するにはメールで申請する。メールを受け取った管理者は VMWare ESXi 上に VM を作成し、VM 内に作成したユーザを申請者にメールで返信する。学生は最大240名いるため、一人ひとりに VM 申請作成を行うのは困難であり、全員に均等に VM を使って学習する機会を与えられない。

制限可能な資源は、VM の場合は以下のようになる。

\begin{itemize}
    \item 使用 CPU core 数
    \item メモリ容量
    \item 作成可能な VM の数
\end{itemize}

またコンテナの場合は以下のようになる。

\begin{itemize}
    \item 使用 CPU core 数
    \item メモリ容量
    \item 作成可能なコンテナの数
\end{itemize}

これらを制限することができれば、管理者がユーザの資源を固定できる。


\section{iSCSI ファイルシステムへ対応}

計算機の外部に大容量の記憶媒体を置くことで、計算機そのものに記憶媒体を搭載しなくても多くのユーザにデータ容量を配布できる。図\ref{fig:iscsistructure}のように、次期システムでは複数の計算機で大容量 iSCSI ディスクを共有する。

\begin{figure}[htpb]
  \begin{center}
    \includegraphics[scale=0.7]{figures/iscsi_structure.pdf}
    \caption{iSCSI ディスクを使用した構成}
    \label{fig:iscsistructure}
  \end{center}
\end{figure}

複数台の計算機で iSCSI ディスクを使用することで、 VM イメージやユーザのデータを共有できる。またそれによって VM をライブマイグレーション可能にする。計算機がメンテナンスをしなければならなかったり、計算機を止める必要のある際に VM を止めずに他の計算機へ移動することができる。

iSCSI で複数台の計算機から接続された場合に、高速で整合性を保つことのできる Filesystem を使用する必要がある。

\section{クラウドへの対応}

クラウドサービスとは外部のサービス上でウェブサービスなどのシステムを稼働させる事のできるサービスである。
現在のシステムでは、クラウドサービスへの対応を行っていない。学生が外部のクラウドサービスを使用するためには、自主的にコストを支払い一から構成する。

次期システムではクラウド上の資源を確保する。本学科のシステムのバックアップが行え、クラウドサービスを学生が使えるようになる。

次期システムへ対応するため、クラウドサービスへ学生の開発したサービスやシステムのデプロイが行え、また管理者の負担を抑えて管理できるようにしなければならない。

\section{Linux kernel debug}

Linux Kernel のソースコードを読む方法は2つ挙げられる。Linux kernel をダウンロードし、そのソースコードをそのまま読むという手法と、gdb で逐次ソースコード追って読むという手法である。
教育用の環境の機能の一つとして、Linux kernel を debug する、という機能が必要である。gdb で Linux kernel のソースコードを追う準備には、手間がかかってしまう。 また授業で Linux kernel を題材に出す際、gdb で追うことができると課題の幅が広がる。

\section{セキュリティ管理}

教育用の環境で VM を使用する場合、ユーザの VM へのセキュリティ管理が重要になる。具体的には脆弱なパスワード設定や無駄なポートの開放である。それをユーザに通知する機能が必要になる。またユーザの VM が外部を攻撃したりすることを防がなければならない。