annotate paper/chapter/new_system.tex @ 23:3bdd421b577c

update tex
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Thu, 28 Jan 2021 16:46:17 +0900
parents 53dc8a409077
children 697579cf6cf8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{教育計算機システムの構築}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 本章では, 2020年9月に行われたシステム更新, 演習や研究用に利用できる仮想環境について述べる。。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 \section{新システムのオンプレミス環境}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 新システムでは, 表\ref{tb:newserver}の汎用サーバを4台採用した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 旧システムのストレージはHDDであったが, SSDの大容量化, 低価格化によりSSDを搭載した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 また, 演習や研究等で利用できるようGPUも搭載した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \begin{table}[H]
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 \begin{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \caption{新システムの物理サーバ}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 \begin{tabular}{|c|c|} \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 CPU & Intel Xeon Gold 6238 (2.10GHz/22Core) \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 CPUユニット数 & 2 \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 GPU & Nvidia Tesla V100S \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 メモリ & 512GB\\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 SAS SSD & 5TB \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 NVMe SSD & 1.5TB \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \end{tabular}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \label{tb:newserver}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \end{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 \end{table}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 次にユーザのデータなどを補完するために, 表\ref{tb:newdiskserver}のストレージサーバを2台採用した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 2台のストレージサーバにはCephを構築するため, RAIDを構成せず利用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 そのため, 旧システムでは全体容量が40TBだったが, 新システムでは90TBと増加した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 \begin{table}[H]
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \begin{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 \caption{新システムのストレージサーバ}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 \begin{tabular}{|c|c|} \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 CPU & Intel Xeon Silver 4208\\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 メモリ & 32GB \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 SAS HDD & 300GB/15000rpm x 2 \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 NLSAS HDD & 4TB/7200rpm x 12 \\ \hline
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 \end{tabular}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 \label{tb:newdiskserver}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 \end{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 \end{table}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 \subsection{Virtual Machine}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 旧システムではVMベースでシステムを構築していたが, 新システムではコンテナベースでの構築行った。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 しかし, VM貸出サービスであるAkatsuki, ie-virshは利用を継続する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 また, ie-virshは新たに以下の機能を追加した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 \begin{itemize}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 \item 手元のPCのVMをデプロイするだけでなく, VMのテンプレートから差分で新しくVMを作成する
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 \item 作成したVMのリソースを変更する
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \end{itemize}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 新システムでは旧サーバと比べディスク容量が増加したため, VMイメージを汎用サーバのディスクドライブに保存することで, VMの起動速度を高速化を図ることができる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 旧システムではVMの作成は申請が必要であったが, 利用者は申請をせずVMを作成できるように機能を追加した。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 しかし, 利用者が制限なくVMを作成するとディスクリソースを圧迫する恐れがある。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 そこで, VMの作成にはクローンではなく差分で作成することで, VMイメージサイズを小さくすることができる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 \subsection{コンテナ}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 新システムでもVM貸出サービスを継続するが, 新しく搭載されるGPUをVMで利用するためにはPCIパススルーなどの設定が必要となる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 しかし, PCIパススルーでは, VMとGPUが1対1の関係になるため, GPU希望する利用者全てに割り当てることができない。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 また, 貸出VMは利用者の好み環境構築ができる反面, VMを作成するごとに同じような作業が必要となり利用者の手間となる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 そこで, アプリケーションの実行環境として採用されているコンテナ技術を利用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 \par
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 システムは学生や教授などが利用するため, マルチユーザで利用できるコンテナエンジンが必要となる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 そのため, コンテナエンジンにはマルチユーザに対応しているPodmanとSingularityを採用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 Podmanは開発段階でもあるため一部機能が不安定だったり, 設定が上書きされる場合がある。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 管理するシステム管理チームの学生の教育には適しているが, 演習や研究用で利用するには適さない場合がある。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 そのため, HPC環境に設計されているSingularityも同時に利用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 \par
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 %ie-podman の事書きたいね
22
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
68 Singularityはコンテナ内で実行ユーザの権限を引き継ぐため, 利用者が作成したプログラムの実行には向いている。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
69 だが, Webなど特権が必要なサービスを実行することはできない。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
70 特権が必要なWebなどをを実行する場合はPodmanを利用する。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
71 Podmanはネットワーク設定を行うことで, コンテナ個別にIPアドレスを割り当てることができるが, ルートレスでは割り当てができない。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
72 IPアドレスの割り当てにはネットワークデバイスの関連付けが必要だが, root権限が必要なためである。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
73 rootlessでWebなどのサービスを実行しアクセスするにはポートフォワードを設定する必要がある。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
74 だが, 利用者が使用するポートを汎用サーバで開放することはセキュリティ的にできない。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
75 そこで, podmanをwrapperしたie-podmanを作成した。
53dc8a409077 update newsystem
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
76 ie-podmanはコンテナに個別のIPアドレスを割り当てる際に利用する。
21
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 \subsection{ファイルシステム}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 旧システムではVMのイメージをクラスタファイルシステムであるGFS2に保存し運用していた。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 このGFS2の運用には別途クラスタを構成する必要があるため, 単一障害が発生により多くのサービスに影響を与えることがあった。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 また, ユーザのホームディレクトリもVMでGFS2をマウントしNFSで提供されていた。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 そのため, NFSを提供するVMが停止することでユーザへの影響があった。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 そこで, 新システムではVMイメージの保存には汎用サーバのディスクドライブ, ユーザのホームディレクトリにCephを採用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 \par
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 新システムでは汎用サーバにSAS SSDが5TBと旧システムより多く搭載されている。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 2台のサーバに演習や研究用で利用する貸出VMのイメージを保存し, 残り2台には本コースで利用しているサービスを提供するVMを保存する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 汎用サーバに保存することで, 単一障害時の影響を小さくすることができる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 Cephは自己修復と自己管理機能を持つため, 信頼性の高いファイルシステムとして利用できる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 そのため, ユーザのホームディレクトリを配置するファイルシステムとして利用する。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 また, CephはObject Gateway, ブロックデバイス, POSIX互換のファイルシステムなど, 用途によって柔軟にアクセス方法を変更できる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 ブロックデバイスとしてアクセスすることでVMイメージのバックアップとしても利用できる。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 \subsection{構成}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 新システムでは, 各サーバに演習や研究用で利用できるPodmanとSingularityを用い, ジョブスケジューラであるSlurmを用いて管理を行う。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 汎用サーバ1台をSlurmのコントローラ/計算ノードとし, 残りは計算ノードとすることで, システムのリソースを最大限利用可能にする。
23
3bdd421b577c update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
96 Cephはディスクサーバのみで構成するのではなく, 汎用サーバ3台も含める。
3bdd421b577c update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
97 ディスクサーバはOSDを持ち, 汎用サーバがMON, MDS, MGRを担当する。
3bdd421b577c update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
98 汎用サーバを含めることで, 最大1台の障害を許容できるようになる。
3bdd421b577c update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
99 そのため, 利用者への影響を少なくすることができる。
21
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 これらの技術を用いて構成したシステム構成図を図\ref{fig:system}に示す。
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 \begin{figure}[H]
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 \begin{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 \includegraphics[width=150mm]{fig/system.pdf}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 \end{center}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 \caption{システム構成図}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 \label{fig:system}
26a9f492bb21 update system
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 \end{figure}