Mercurial > hg > Papers > 2021 > mk-thesis
changeset 39:a967cf51ba92
fix typo
author | Ken Miyahira <e175733@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 09 Feb 2021 14:55:10 +0900 |
parents | 0ac7fa699f7f |
children | 5637b4972373 |
files | paper/chapter/conclusion.tex paper/chapter/introduction.tex paper/chapter/new_system.tex paper/chapter/system_renew.tex paper/chapter/system_review.tex paper/chapter/system_usage.tex paper/chapter/technology_overview.tex paper/chapter/thanks.tex paper/fig/system.graffle paper/fig/system.pdf paper/final_thesis.pdf paper/final_thesis.tex |
diffstat | 12 files changed, 126 insertions(+), 132 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/conclusion.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/conclusion.tex Tue Feb 09 14:55:10 2021 +0900 @@ -3,7 +3,7 @@ 本章では, 本論文で述べたことのまとめ, 今後の課題について述べる。 \section{総括} -本論文では, 2020年9月に行われたシステム更新を中心に, 本コースの学生や教師などが利用できる教育計算機システムの構築について述べた。 +本論文では, 2020年9月に行われたシステム更新を中心に, 本コースの学生や教師などが利用できる教育情報システムの構築について述べた。 \par 以下, 本論文について振り返る。 \par @@ -42,12 +42,12 @@ \section{今後の課題} -本研究で構築した教育計算機システムの今後の課題について述べる。 +本研究で構築した教育情報システムの今後の課題について述べる。 -\subsection{教育計算機システムの周知} +\subsection{教育情報システムの周知} 旧システムのVM貸出サービスは講義等で告知されたりしたが, 実際にはあまり周知されておらず利用も少なかった。 これは, システム管理チームからの利用方法について周知等が少なかったことも原因として挙げられる。 -本研究で構築した教育計算機システムは, VMからコンテナまで利用できる。 +本研究で構築した教育情報システムは, VMからコンテナまで利用できる。 だが, 利用は主にCLIから操作を行い, プログラムの実行にはSlurmを利用する。 VM貸出サービスの変更や, コンテナ環境の利用方法についてまとめる必要がある。 また, SlurmのJobの投下方法や必要なリソースの要求方法などをまとめ, 定期的な周知を行う必要がある。
--- a/paper/chapter/introduction.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/introduction.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,39 +1,39 @@ -\chapter{はじめに} +\chapter{教育向けの情報システム} \pagenumbering{arabic} %ページ番号の表記方法 -情報通信技術の普及に伴い学生が学ぶ学習環境が必要となる。その学習環境として VM や コンテナにより, 手軽に開発し試せる技術が普及している。 -だが, 手元の PC 上で VM や コンテナを立ち上げ, 開発を行うことはできるが, VM や コンテナの使用には高性能 PC や 有料のクラウドサービスが必要になる場合がある。 -これらの負担をIT技術を学ぶ学生に負わせない, 新たな仕組みが必要である。 +情報通信技術の普及に伴い学生が学ぶ学習環境が必要となる.その学習環境としてVMやコンテナにより,手軽に開発し試せる技術が普及している. +だが,手元のPC上でVMやコンテナを立ち上げ,開発を行うことはできるが,VMやコンテナの使用には高性能PCや有料のクラウドサービスが必要になる場合がある. +これらの負担をIT技術を学ぶ学生に負わせない新たな仕組みが必要である. \par -本コースでは希望する学生に学科の汎用サーバから仮想環境を貸出するサービスを行っている。 -貸出をする VM の基本スペックとして CPU 1コア, メモリ 1GB, ストレージ 10GB である。 -基本スペックでは不足する場合は要望に応じてスペックの変更を行っている。 -しかし, 機械学習などの演習では CPU より GPU が求められる場合がある。 -VM 上で GPU を共有するには PCI パススルーを利用することで可能である。 -だが, PCI パススルーでは GPU と VM は1対1の関係となり, GPU を希望する利用者すべてに割り当てることはできない。 +本コースでは希望する学生に学科の汎用サーバから仮想環境を貸出するサービスを行っている. +貸出をするVMの基本スペックとしてCPU1コア,メモリ1GB,ストレージ10GBである. +基本スペックでは不足する場合は要望に応じてスペックの変更を行っている. +しかし,機械学習などの演習ではCPUよりGPUが求められる場合がある. +VM上でGPUを共有するにはPCIパススルーを利用することで可能である. +だが,PCIパススルーではGPUとVMは1対1の関係となり,GPUを希望する利用者すべてに割り当てることはできない. \par -本研究では, 学生が貸出VMだけでなく, 学科の汎用サーバのリソースを効率的に利用できる教育計算機システムを提案する。 -教育計算機システムには複数の汎用サーバと大容量ストレージサーバが存在する。 -複数のサーバを利用するにあたり, 分散ストレージが必要となる。 -また, 学習環境として利用されることから, 複数の並列なアクセスに耐えられ, 信頼性の高いファイルシステムが必要である。 -この用件を満たすストレージソフトウェアとして Ceph を採用した。 -汎用サーバのリソースを効率的に利用するために, コンテナエンジンである Podman, Singularity, ジョブスケジューラである Slurm を採用した。 -これらのソフトウェアを合わせ教育計算機システムの構築を行った。 +本研究では,学生が貸出VMだけでなく,学科の汎用サーバのリソースを効率的に利用できる教育情報システムを提案する. +教育情報システムには複数の汎用サーバと大容量ストレージサーバが存在する. +複数のサーバを利用するにあたり,分散ストレージが必要となる. +また,学習環境として利用されることから,複数の並列なアクセスに耐えられ,信頼性の高いファイルシステムが必要である. +この用件を満たすストレージソフトウェアとしてCephを採用した. +汎用サーバのリソースを効率的に利用するために,コンテナエンジンであるPodman,Singularity,ジョブスケジューラであるSlurmを採用した. +これらのソフトウェアを合わせ教育情報システムの構築を行った. \section{システム管理チーム} -本コースで利用されている教育情報システムの運用管理は, 平成24年まで演習科目の1つとして行われてきた\cite{kinjo}。 -しかし, サービスの多様化やシステムの高度化により, 演習科目として行うには困難になった。 -そこで, 平成25年度に学生と教職員らの有志による「システム管理チーム」が発足した。 -本チームはシステムの構築, 運用管理やシステム利用者のサポートを行っている。 +本コースで利用されている教育情報システムの運用管理は,平成24年まで演習科目の1つとして行われてきた\cite{kinjo}. +しかし,サービスの多様化やシステムの高度化により,演習科目として行うには困難になった. +そこで,平成25年度に学生と教職員らの有志による「システム管理チーム」が発足した. +本チームはシステムの構築,運用管理やシステム利用者のサポートを行っている. \section{論文の構成} -本論文では, 6章で構成され, 以下に各章の詳細を示す。 +本論文は7章で構成され,以下に各章の詳細を示す. \begin{itemize} - \item 第1章は, 本研究の背景と目的を述べる - \item 第2章は, 本論文で必要な技術概要を述べる - \item 第3章は, これまで利用されてきた旧システムについて述べる - \item 第4章は, 教育計算機システムの構築について述べる - \item 第5章は, 教育計算機システムの管理と利用方法について述べる - \item 第6章は, 教育計算機システムの評価について述べる - \item 第7章は, 本研究におけるまとめと今後の課題について述べる + \item 第1章は,本研究の背景と目的を述べる + \item 第2章は,本論文で必要な技術概要を述べる + \item 第3章は,これまで利用されてきた旧システムについて述べる + \item 第4章は,教育情報システムの構築について述べる + \item 第5章は,教育情報システムの管理と利用方法について述べる + \item 第6章は,教育情報システムの評価について述べる + \item 第7章は,本研究におけるまとめ,今後の課題について述べる \end{itemize} \ No newline at end of file
--- a/paper/chapter/new_system.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/new_system.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,4 +1,4 @@ -\chapter{教育計算機システムの構築} +\chapter{教育情報システムの構築} 本章では, 2020年9月に行われたシステム更新, 演習や研究用に利用できる仮想環境について述べる。
--- a/paper/chapter/system_renew.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/system_renew.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,4 +1,4 @@ -\chapter{教育計算機システムの構築} +\chapter{教育情報システムの構築} 本コースでは5年ごとにシステム更新をしており, 2020年9月にシステム更新が行われた。
--- a/paper/chapter/system_review.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/system_review.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,6 +1,6 @@ -\chapter{教育計算機システムの評価} +\chapter{教育情報システムの評価} -本章では, 教育計算機システムの評価を行う。 +本章では, 教育情報システムの評価を行う。 新たに採用したCephとの比較, VM貸出サービス, コンテナ環境の評価を述べる。 \section{ファイルシステムの評価}
--- a/paper/chapter/system_usage.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/system_usage.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,9 +1,9 @@ -\chapter{教育計算機システムの管理} +\chapter{教育情報システムの管理} -本章では, 構築した教育計算機システムの管理方法, 利用方法について述べる。 +本章では, 構築した教育情報システムの管理方法, 利用方法について述べる。 \section{LDAPによる権限管理} -教育計算機システムは, 本コースの学生や教師のユーザアカウントをLDAPで管理している。 +教育情報システムは, 本コースの学生や教師のユーザアカウントをLDAPで管理している。 また, ユーザの権限も管理される。 VM貸出サービスやコンテナ環境はLDAPからユーザアカウントの情報を取得することで, 他の利用者のリソースに対して操作を制限する。
--- a/paper/chapter/technology_overview.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/technology_overview.tex Tue Feb 09 14:55:10 2021 +0900 @@ -1,16 +1,16 @@ \chapter{技術概要} -本章では, 本研究で使われる技術, 本コースで利用しているサービスについて概要を説明する。 +本章では,本研究で使われる技術,本コースで利用しているサービスについて概要を説明する. \section{仮想化} -仮想化はコンピュータの CPU やメモリ, ディスクなどハードウェアのリソースを分割又は統合して, -仮想的なコンピュータやネットワーク環境を生成し提供する技術である。 -仮想化技術にはホストのどの部分から仮想化するかによってホスト型, ハイパーバイザー型, コンテナ型に分けることができる。 +仮想化はコンピュータのCPUやメモリ,ディスクなどハードウェアのリソースを分割又は統合して, +仮想的なコンピュータやネットワーク環境を生成し提供する技術である. +仮想化技術にはホストのどの部分から仮想化するかによってホスト型,ハイパーバイザー型,コンテナ型に分けることができる. \subsection{ホスト型} -ホスト型の仮想化は, ホストとなるOS上 (以下, ホストOS) に仮想化ソフトウェアをインストールし, 仮想化ソフトウェア上で別のOS (以下, ゲストOS) を稼働させる手法である (図\ref{fig:host})。 -仮想化ソフトウェアをホストOSのアプリケーションの1つとして導入及び管理できるため, 手軽に仮想化を実現することができる。 -しかし, ゲストOSの処理はホストOSを経由しなければならないため, オーバーヘッドが大きくなる。 +ホスト型の仮想化は,ホストとなるOS上(以下,ホストOS)に仮想化ソフトウェアをインストールし,仮想化ソフトウェア上で別のOS(以下,ゲストOS)を稼働させる手法である(図\ref{fig:host}). +仮想化ソフトウェアをホストOSのアプリケーションの1つとして導入及び管理できるため,手軽に仮想化を実現することができる. +しかし,ゲストOSの処理はホストOSを経由しなければならないため,オーバーヘッドが大きくなる. \begin{figure}[H] \begin{center} \includegraphics[width=120mm]{fig/host.pdf} @@ -20,8 +20,8 @@ \end{figure} \subsection{ハイパーバイザー型} -ハイパーバイザー型の仮想化は, 仮想化システムを直接ハードウェアにインストールし, ハイパーバイザー上で複数のゲストOSを稼働させる手法である (図\ref{fig:hyper})。 -ハイパーバイザーが直接ハードウェアを管理するため仮想化によるオーバーヘッドを小さくすることで, リソースを効率的に利用することができる。 +ハイパーバイザー型の仮想化は,仮想化システムを直接ハードウェアにインストールし,ハイパーバイザー上で複数のゲストOSを稼働させる手法である(図\ref{fig:hyper}). +ハイパーバイザーが直接ハードウェアを管理するため,仮想化によるオーバーヘッドを小さくすることで,リソースを効率的に利用することができる. \begin{figure}[H] \begin{center} \includegraphics[width=120mm]{fig/hyper.pdf} @@ -31,10 +31,9 @@ \end{figure} \subsection{コンテナ型} -コンテナ型の仮想化は, OS レベルの仮想化技術を利用して複数のコンテナと呼ばれる独立空間を形成し, 独立空間でアプリケーションをそれぞれ構築することができる手法である (図\ref{fig:container})。 -各コンテンはオペレーティングシステムカーネルによって独立したプロセスとして実行される。 -前述のホスト型やハイパーバイザー型と比べ, コンテナはゲストOSを起動することなくアプリケーションを実行することができるため, リソース効率が良く処理が軽量である。 - +コンテナ型の仮想化は,OSレベルの仮想化技術を利用して複数のコンテナと呼ばれる独立空間を形成し,独立空間でアプリケーションをそれぞれ構築することができる手法である(図\ref{fig:container}). +各コンテンはKernelによって独立したプロセスとして実行される. +前述のホスト型やハイパーバイザー型と比べ,コンテナはゲストOSを起動することなくアプリケーションを実行することができるため,リソース効率が良く処理が軽量である. \begin{figure}[H] \begin{center} \includegraphics[width=120mm]{fig/container.pdf} @@ -44,16 +43,17 @@ \end{figure} \section{KVM} -KVM (Kernel-based Virtual Machine)\cite{kvm} は Linux カーネル 2.6.20 以降に標準搭載されているハイパーバイザーである。 -KVM は Intel VT 及び AMD-V を含む x86 ハードウェア上の完全仮想化をサポートしている。 -KVM はハイパーバイザーと各仮想マシン間のレイヤーとして Virtio API を使用して, 仮想マシンに準仮想化デバイスを提供する。 -これにより, 仮想化によるオーバーヘッドを少なくできる。 +KVM(Kernel-based Virtual Machine)\cite{kvm}はLinux Kernel2.6.20以降に標準搭載されているハイパーバイザーである. +KVMはIntel VT及びAMD-Vを含むx86ハードウェア上の完全仮想化をサポートしている. +KVMはハイパーバイザーと各仮想マシン間のレイヤーとしてVirtio APIを使用する. +Virtio APIにより,仮想マシンに準仮想化デバイスを提供する. +これにより,仮想化によるオーバーヘッドを少なくできる. \section{Docker} -Docker\cite{docker} は Docker 社が開発, 提供する Linux 上で動作する隔離された Linux コンテナをデプロイ, 実行するアプリケーションである。 -Docker はコンテナを実行するだけでなく, コンテナイメージの作成や共有する仕組みも提供している。 -Docker コマンドを処理するには Docker daemon と呼ばれるデーモンプロセスを実行する必要がある。 -この Docker deamon は Docker で行う処理を一箇所で実施する (図\ref{fig:docker})。 +Docker\cite{docker}はDocker社が開発,提供するLinux上で動作する隔離されたLinuxコンテナをデプロイ,実行するアプリケーションである. +Dockerはコンテナを実行するだけでなく,コンテナイメージの作成や共有する仕組みも提供している. +Dockerコマンドを処理するにはDocker daemonと呼ばれるデーモンプロセスを実行する必要がある. +このDocker deamonはDockerで行う処理を一箇所で実施する(図\ref{fig:docker}). \begin{figure}[H] \begin{center} \includegraphics[width=150mm]{fig/docker.pdf} @@ -63,8 +63,8 @@ \end{figure} \subsection{Docker Registry} -Docker Registry は Dcoker イメージを保存, 配布できるサーバサイドアプリケーションである\cite{registry}。 -以下の場合に利用される。 +Docker RegistryはDcokerイメージを保存,配布できるサーバサイドアプリケーションである\cite{registry}. +以下の場合に利用される. \begin{itemize} \item イメージの保存場所を厳密に管理する \item イメージを配布するパイプラインを全て所有する @@ -72,11 +72,11 @@ \end{itemize} \section{Podman} -Podman は RedHat 社が開発, 提供する Linux 上でOCIコンテナを開発, 管理, 実行するためのデーモンレスコンテナエンジンである\cite{podman}。 -Podman は OCI準拠のコンテナランタイムに依存するため, 前述した Docker など他のコンテナエンジンと互換性を持つ。 -また, Podman CLI は Docker CLI と同じ機能を提供する。 -Podman はコンテナとイメージストレージ, コンテナランタイムを介してLinxuカーネルと直接対話することで, デーモンレスで実行される (図\ref{fig:podman})。 -Podman の制御下にあるコンテナは, 特権ユーザ又は非特権ユーザのいずれかによって実行することができる。 +PodmanはRedHat社が開発,提供するLinux上でOCIコンテナを開発,管理,実行するためのデーモンレスコンテナエンジンである\cite{podman}. +PodmanはOCI準拠のコンテナランタイムに依存するため,前述したDockerなど他のコンテナエンジンと互換性を持つ. +また,Podman CLIはDocker CLIと同じ機能を提供する. +Podmanはコンテナとイメージストレージ,コンテナランタイムを介してLinxuカーネルと直接対話することで,デーモンレスで実行される(図\ref{fig:podman}). +Podmanの制御下にあるコンテナは,特権ユーザ又は非特権ユーザのいずれかによって実行することができる. \begin{figure}[H] \begin{center} \includegraphics[width=120mm]{fig/podman.pdf} @@ -86,27 +86,26 @@ \end{figure} \section{Singularity} -Singularity\cite{singularity} とは, HPC環境向けに設計されたコンテナプラットフォームである。 -Singularity は マルチユーザに対応しており,コンテナ内での権限は実行ユーザの権限を引き継ぐため,ユーザに特別な権限の設定が必要ない。 -またデフォルトで, \$HOME, /tmp, /proc, /sys, /dev がコンテナにマウントされ, サーバ上の GPU を簡単に利用できる。 -コンテナイメージは Singularity Image Format (以下, sif) と呼ばれる単一ファイルベースのため, アーカイブや共有が容易である。 +Singularity\cite{singularity} とは,HPC環境向けに設計されたコンテナプラットフォームである. +Singularityはマルチユーザに対応しており,コンテナ内での権限は実行ユーザの権限を引き継ぐため,ユーザに特別な権限の設定が必要ない. +またデフォルトで,\$HOME,/tmp,/proc,/sys,/dev がコンテナにマウントされ,サーバ上のGPUを簡単に利用できる. +コンテナイメージはSingularity Image Format(以下,sif)と呼ばれる単一ファイルベースのため,アーカイブや共有が容易である. -%\newpage \section{Ceph} -Ceph は, RedHat 社が開発, 提供する分散ファイルシステムである。 -Ceph は分散オブジェクトストレージであるRADOS (Reliable Autonomic Distributred Object Storage) がベースとなっている (図\ref{fig:ceph})。 -オブジェクトストレージはデータをオブジェクトという単位でやり取りをするストレージシステムである。 -複数のストレージを束ねて利用できるオブジェクトストレージが分散オブジェクトストレージである。 -RAODS では, Object Storage Daemon (OSD) にデータ格納する。 -オブジェクトの配置には, クラスタマップを元に Controlled Replication Under Scalable Hashing (CRUSH) アルゴリズムによりオブジェクトの格納先を選択する。 -配置の計算に必要とする情報はごくわずかであるため, Cephクラスタ内のすべてのノードは保存されている位置を計算できる。 -そのため, データの読み書きが効率化される。また, CRUSH はデータをクラスタ内のすべてのノードに均等に分散しようとする。 +Cephは,RedHat社が開発,提供する分散ファイルシステムである. +Cephは分散オブジェクトストレージであるRADOS(Reliable Autonomic Distributred Object Storage)がベースとなっている(図\ref{fig:ceph}). +オブジェクトストレージはデータをオブジェクトという単位でやり取りをするストレージシステムである. +複数のストレージを束ねて利用できるオブジェクトストレージが分散オブジェクトストレージである. +RAODSでは,Object Storage Daemonにデータ格納する. +オブジェクトの配置には,クラスタマップを元にControlled Replication Under Scalable Hashing(以下,CRUSH)アルゴリズムによりオブジェクトの格納先を選択する. +配置の計算に必要とする情報はごくわずかであるため,Cephクラスタ内のすべてのノードは保存されている位置を計算できる. +そのため,データの読み書きが効率化される.また,CRUSHはデータをクラスタ内のすべてのノードに均等に分散しようとする. \par -RODOS はクラスタに保存されるデータの管理を待ち受け, 保存オブジェクトへのアクセス方法として Object Gateway, RADOS Block Device (以下, RBD), CephFS がある。 -Object Gateway は HTTP REST 経由でクラスタに保存されるオブジェクトへ直接アクセスが可能である。 -RBD はブロックデバイスとしてアクセスが可能で, libvirt を組み合わせてVMのディスクとして使用できる。 -また, RBDドライバを搭載したOSにマップし ext4 や XFS などでフォーマットして利用できる。 -CephFS は POSIX互換のファイルシステムである。 +RODOSはクラスタに保存されるデータの管理を待ち受け,保存オブジェクトへのアクセス方法としてObject Gateway,RADOS Block Device(以下,RBD),CephFS がある. +Object GatewayはHTTP REST経由でクラスタに保存されるオブジェクトへ直接アクセスが可能である. +RBD はブロックデバイスとしてアクセスが可能で,libvirt を組み合わせてVMのディスクとして使用できる. +また,RBDドライバを搭載したOSにマップし ext4 や XFS などでフォーマットして利用できる. +CephFS は POSIX互換のファイルシステムである. \begin{figure}[H] \begin{center} \includegraphics[width=120mm]{fig/ceph.pdf} @@ -116,7 +115,7 @@ \end{figure} \par -Ceph では, ノードとはクラスタを構成するサーバであり, ノードでは以下の4つのデーモンが実行できる。 +Cephクラスタのノードとはクラスタを構成するサーバであり,ノードは以下の4つのデーモンが実行できる. \begin{itemize} \item Ceph Monitor \item Ceph OSD @@ -125,40 +124,40 @@ \end{itemize} \subsection{Ceph Monitor} -Ceph Monitor (以下, MON) ノードはクラスタのヘルス状態に関する情報, データ分散ルールを維持する。 -障害が発生した場合, クラスタ内のMONノードでPaxosという合意アルゴリズムを使用して, どの情報が正しいかを多数決で決定する。 -そのため, 奇数個のMONノードを設定する必要がある。 +Ceph Monitor(以下,MON)ノードはクラスタのヘルス状態に関する情報,データ分散ルールを維持する. +障害が発生した場合,クラスタ内のMONノードでPaxosという合意アルゴリズムを使用して,どの情報が正しいかを多数決で決定する. +そのため,奇数個のMONノードを設定する必要がある. \subsection{Ceph OSD} -Ceph OSD (以下, OSD) は物理ストレージになる。このデーモンは1台のHDDなどの物理ストレージに対して, 1つのデーモンが動作する。 -OSD は MON と通信し, OSD デーモンの状態を提供する。 +Ceph OSD(以下,OSD)は物理ストレージになる.このデーモンは1台のHDDなどの物理ストレージに対して,1つのデーモンが動作する. +OSDはMONと通信し,OSDデーモンの状態を提供する. \subsection{Ceph Manager} -Ceph Manager (以下, MGR) ノードはクラスタ全体から状態情報を収集する。 -MGR は MON と共に動作し, 外部のモニタリングシステムや管理システムのインターフェースとして機能する。 +Ceph Manager(以下,MGR)ノードはクラスタ全体から状態情報を収集する. +MGRはMONと共に動作し,外部のモニタリングシステムや管理システムのインターフェースとして機能する. \subsection{Ceph Metadata Server} -Ceph Metadata Server (以下, MDS) ノードは CephFS のメタデータを保存する。 +Ceph Metadata Server(以下,MDS)ノードはCephFSのメタデータを保存する. \section{Ansible} -Ansible\cite{ansible} は RedHat 社が開発, 提供するシステム構成, ソフトウェアの展開などを行う自動化ツールである。 -あらかじめ用意した設定ファイルに従ってソフトウェアのインストールや設定を自動的に実行できるため, コンピュータクラスタを構築する際に時間の短縮やミスの削減に有用である。 -Ansible の特徴としてエージェントレスがある。構成管理を行う機器が Python が使用可能で SSH で疎通することが可能であれば対象とすることができる。 -Ansible の一連の処理は Playbook という単位にまとまられ, YAML形式で記述される。YAML形式で記述されていることで, 可読性が高く学習が容易である。 -また, インフラストラクチャをコードとして残すことができる。 +Ansible\cite{ansible}はRedHat社が開発,提供するシステム構成,ソフトウェアの展開などを行う自動化ツールである. +あらかじめ用意した設定ファイルに従ってソフトウェアのインストールや設定を自動的に実行できるため,コンピュータクラスタを構築する際に時間の短縮やミスの削減に有用である. +Ansibleの特徴としてエージェントレスがある.構成管理を行う機器がPythonの使用が可能,SSHで疎通することが可能であれば対象とすることができる. +Ansibleの一連の処理はPlaybookという単位にまとめられ,YAML形式で記述される.YAML形式で記述されていることで,可読性が高く学習が容易である. +また,インフラストラクチャをコードとして残すことができる. \section{Slurm} -Slurm\cite{slurm} は Linuxクラスタ向けのフォールトトレラント設計のジョブスケジューリングシステムです。 -Slurm には以下の3つの主要機能を提供する。 +Slurm\cite{slurm}はLinuxクラスタ向けのフォールトトレラント設計のジョブスケジューリングシステムである. +Slurmには以下の3つの主要機能を提供する. \begin{itemize} - \item 計算を実行するユーザに対してリソースへの排他的, 非排他的なアクセスを割り当てる - \item 割り当てられたノード上のジョブの開始, 実行, モニタリングを行う - \item 待機中のジョブキューを管理することにより, リソースの競合を解決する + \item 計算を実行するユーザに対してリソースへの排他的,非排他的なアクセスを割り当てる + \item 割り当てられたノード上のジョブの開始,実行,モニタリングを行う + \item 待機中のジョブキューを管理することにより,リソースの競合を解決する \end{itemize} \par -Slurm では主に slurmctld と slurmd で構成される (図\ref{fig:slurm})。 -また, slurmdbd を有効にすることで, データベースへアカウンティング情報を記録することができる。 -アカウンティング情報を記録することで, ジョブの優先度を調整することが可能となる。 +Slurmでは主にslurmctldとslurmdで構成される(図\ref{fig:slurm}). +また,slurmdbdを有効にすることで,データベースへアカウンティング情報を記録することができる. +アカウンティング情報を記録することで,ジョブの優先度を調整することが可能となる. \begin{figure}[H] \begin{center} \includegraphics[width=150mm]{fig/slurm.pdf} @@ -167,26 +166,22 @@ \label{fig:slurm} \end{figure} -%\section{GitLab} -%GitLab\cite{gitlab} とは バージョン管理システムである Git のリポジトリマネージャである。 -%Git リポジトリの管理に加えて, コードレビュー, 継続的インティグレーション, 継続的デリバリ, GitLab Container Registry などの機能も有している。 - \section{rsnapshot} -rsnapshot\cite{rsnapshot} は rsycn に基づく増分バックアップユーティリティである。 -ローカルマシンやリモートマシンのスナップショットを取ることができる。 -リモートマシンとは SSH 経由で通信を行う。 -rsnapshot は設定された数のスナップショットを保持するため, 使用されるディスク領域は継続的に増加することはない。 -データの復元にはバックアップの保存先から rsync などを用いてコピーを行うことで, 特定のファイルの復旧などにも迅速に対応できる。 -バックアップを自動化するには cron などと併用する必要がある。 +rsnapshot\cite{rsnapshot} はrsycnに基づく増分バックアップユーティリティである. +ローカルマシンやリモートマシンのスナップショットを取ることができる. +リモートマシンとはSSH経由で通信を行う. +rsnapshotは設定された数のスナップショットを保持するため,使用されるディスク領域は継続的に増加することはない. +データの復元にはバックアップの保存先からrsyncなどを用いてコピーを行うことで,特定のファイルの復旧などにも迅速に対応できる. +バックアップを自動化するにはcronなどと併用する必要がある. \section{Akatsuki} -Akatsuki は本コースで利用している VM貸出システム, 有線LAN接続サービス, 内部DNSの機能を提供する Webコントロールパネルである。 -Ruby で記述されており, フレームワークとしRuby on Rails を採用している。 -本コースの学生は学科のアカウントでログインしVMの作成などを行う。現在はシステム管理チームが管理, 保守を行っている。 +Akatsukiは本コースで利用しているVM貸出システム,有線LAN接続サービス,内部DNSの機能を提供するWebコントロールパネルである. +Rubyで記述されており,フレームワークとしRuby on Railsを採用している. +本コースの学生は学科のアカウントでログインしVMの作成などを行う.現在はシステム管理チームが管理,保守を行っている. \section{ie-virsh} -ie-virsh\cite{ie-virsh} は本コースで利用している virsh をラップした VM管理ツールである。 -ユーザの UID 及び GID 情報を使用し, 他のユーザ VM を操作させない仕組みを持つ。 -ie-virsh は VM管理だけでなく, Linux Kernel のデバッグを行うことができる。 -そのため, 本コースの Operating System という授業で, OS について学ぶ一環として課題で利用されている。 -現在はシステム管理チームが管理, 保守を行っている。 \ No newline at end of file +ie-virsh\cite{ie-virsh}は本コースで利用しているvirshをラップしたVM管理ツールである. +ユーザのUID及びGID情報を使用し,他のユーザVMを操作させない仕組みを持つ. +ie-virshはVM管理だけでなく,Linux Kernelのデバッグを行うことができる. +そのため,本コースのOperating Systemという授業で,OSについて学ぶ一環として課題で利用されている. +現在はシステム管理チームが管理,保守を行っている. \ No newline at end of file
--- a/paper/chapter/thanks.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/chapter/thanks.tex Tue Feb 09 14:55:10 2021 +0900 @@ -3,7 +3,7 @@ 本研究の遂行, 本論文の作成にあたり, 御多忙にも関わらず終始懇切なる御指導と御教授を賜わりました河野真治准教授に心より感謝致します。 共に研究を行い暖かな気遣いと励ましをもって支えてくれた並列信頼研究室の全てのメンバーに感謝致します。 また, 共にシステム更新を行った城後明慈さん, 清水隆博さんをはじめとするシステム管理チームの皆様に感謝します。 -最後に, 有意義な時間を共に過ごした理工学研究科情報工学専攻の学友, 並びに物心両面で支えてくれた家族に深く感謝致します。 +最後に, 有意義な時間を共に過ごした知能情報コースの学友, 並びに物心両面で支えてくれた家族に深く感謝致します。 \thispagestyle{empty}
--- a/paper/final_thesis.tex Mon Feb 08 20:23:23 2021 +0900 +++ b/paper/final_thesis.tex Tue Feb 09 14:55:10 2021 +0900 @@ -33,7 +33,7 @@ \def\lstlistlistingname{リスト目次} \setlength{\itemsep}{-1zh} -\title{コンテナ技術を用いた教育計算機システムの構築} +\title{コンテナ技術を用いた教育情報システムの構築} \icon{ \includegraphics[width=50mm]{fig/ryukyu.pdf} } @@ -72,7 +72,6 @@ \input{./chapter/technology_overview.tex} - %%%%%%%%%%%% % 旧システム %%%%%%%%%%%% @@ -80,19 +79,19 @@ \input{./chapter/old_system.tex} %%%%%%%%%%%% -% 教育計算機システムの構築 +% 教育情報システムの構築 %%%%%%%%%%%% \input{./chapter/new_system.tex} %%%%%%%%%%%% -% 教育計算機システムの管理 +% 教育情報システムの管理 %%%%%%%%%%%% \input{./chapter/system_usage.tex} %%%%%%%%%%%% -% 教育計算機システムの評価 +% 教育情報システムの評価 %%%%%%%%%%%% % どこまで評価できるかわからん