annotate paper/chapter/technology_overview.tex @ 12:a93bf4babe74

update tex
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Thu, 14 Jan 2021 15:46:59 +0900
parents 00b7356a0706
children 0c823bf36b20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{技術概要}
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 本章では, 本研究で使われる技術, 本コースで利用しているサービスについて概要を説明する。
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
9
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
5 \section{仮想化}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
6 仮想化はコンピュータの CPU やメモリ, ディスクなどハードウェアのリソースを分割又は統合して,
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
7 仮想的なコンピュータやネットワーク環境を生成し提供する技術である。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
8 仮想化技術にはホストのどの部分から仮想化するかによってホスト型, ハイパーバイザー型, コンテナ型に分けることができる。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
9
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
10 \subsection{ホスト型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
11 ホスト型の仮想化は, ホストとなるOS上 (以下, ホストOS) に仮想化ソフトウェアをインストールし, 仮想化ソフトウェア上で別のOS (以下, ゲストOS) を稼働させる手法である (図\ref{fig:host})。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
12 仮想化ソフトウェアをホストOSのアプリケーションの1つとして導入及び管理できるため, 手軽に仮想化を実現することができる。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
13 しかし, ゲストOSの処理はホストOSを経由しなければならないため, オーバーヘッドが大きくなる。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
14 \begin{figure}[H]
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
15 \begin{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
16 \includegraphics[width=120mm]{fig/host.pdf}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
17 \end{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
18 \caption{ホスト型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
19 \label{fig:host}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
20 \end{figure}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
21
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
22 \subsection{ハイパーバイザー型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
23 ハイパーバイザー型の仮想化は, 仮想化システムを直接ハードウェアにインストールし, ハイパーバイザー上で複数のゲストOSを稼働させる手法である (図\ref{fig:hyper})。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
24 ハイパーバイザーが直接ハードウェアを管理するため仮想化によるオーバーヘッドを小さくすることで, リソースを効率的に利用することができる。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
25 \begin{figure}[H]
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
26 \begin{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
27 \includegraphics[width=120mm]{fig/hyper.pdf}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
28 \end{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
29 \caption{ハイパーバイザー型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
30 \label{fig:hyper}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
31 \end{figure}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
32
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
33 \subsection{コンテナ型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
34 コンテナ型の仮想化は, OS レベルの仮想化技術を利用して複数のコンテナと呼ばれる独立空間を形成し, 独立空間でアプリケーションをそれぞれ構築することができる手法である (図\ref{fig:container})。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
35 各コンテンはオペレーティングシステムカーネルによって独立したプロセスとして実行される。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
36 前述のホスト型やハイパーバイザー型と比べ, コンテナはゲストOSを起動することなくアプリケーションを実行することができるため, リソース効率が良く処理が軽量である。
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
37
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
38 \begin{figure}[H]
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
39 \begin{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
40 \includegraphics[width=120mm]{fig/container.pdf}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
41 \end{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
42 \caption{コンテナ型}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
43 \label{fig:container}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
44 \end{figure}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
45
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 \section{KVM}
8
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
47 KVM (Kernel-based Virtual Machine)\cite{kvm} は Linux カーネル 2.6.20 以降に標準搭載されているハイパーバイザーである。
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
48 KVM は Intel VT 及び AMD-V を含む x86 ハードウェア上の完全仮想化をサポートしている。
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
49 KVM はハイパーバイザーと各仮想マシン間のレイヤーとして Virtio API を使用して, 仮想マシンに準仮想化デバイスを提供する。
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
50 これにより, 仮想化によるオーバーヘッドを少なくできる。
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 \section{Docker}
8
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
53 Docker\cite{docker} は Docker 社が開発, 提供する Linux 上で動作する隔離された Linux コンテナをデプロイ, 実行するアプリケーションである。
10
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
54 Docker はコンテナを実行するだけでなく, コンテナイメージの作成や共有する仕組みも提供している。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
55 Docker コマンドを処理するには Docker daemon と呼ばれるデーモンプロセスを実行する必要がある。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
56 この Docker deamon は Docker で行う処理を一箇所で実施する (図\ref{fig:docker})。
9
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
57 \begin{figure}[H]
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
58 \begin{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
59 \includegraphics[width=150mm]{fig/docker.pdf}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
60 \end{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
61 \caption{Docker}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
62 \label{fig:docker}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
63 \end{figure}
8
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
64
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 \subsection{Docker Registry}
10
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
66 Docker Registry は Dcoker イメージを保存, 配布できるサーバサイドアプリケーションである\cite{registry}。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
67 以下の場合に利用される。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
68 \begin{itemize}
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
69 \item イメージの保存場所を厳密に管理する
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
70 \item イメージを配布するパイプラインを全て所有する
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
71 \item イメージの保存と配布を社内や学内の開発ワークフローに密に統合する
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
72 \end{itemize}
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 \section{Podman}
10
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
75 Podman は RedHat 社が開発, 提供する Linux 上でOCIコンテナを開発, 管理, 実行するためのデーモンレスコンテナエンジンである\cite{podman}。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
76 Podman は OCI準拠のコンテナランタイムに依存するため, 前述した Docker など他のコンテナエンジンと互換性を持つ。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
77 また, Podman CLI は Docker CLI と同じ機能を提供する。
044832c47f54 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 9
diff changeset
78 Podman はコンテナとイメージストレージ, コンテナランタイムを介してLinxuカーネルと直接対話することで, デーモンレスで実行される (図\ref{fig:podman})。
11
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
79 Podman の制御下にあるコンテナは, 特権ユーザ又は非特権ユーザのいずれかによって実行することができる。
9
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
80 \begin{figure}[H]
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
81 \begin{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
82 \includegraphics[width=120mm]{fig/podman.pdf}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
83 \end{center}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
84 \caption{Podman}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
85 \label{fig:podman}
a5d22b8e0a10 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
86 \end{figure}
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 \section{Singularity}
11
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
89 Singularity\cite{singu} とは, HPC環境向けに設計されたコンテナプラットフォームである。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
90 Singularity は マルチユーザに対応しており,コンテナ内での権限は実行ユーザの権限を引き継ぐため,ユーザに特別な権限の設定が必要ない。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
91 またデフォルトで, \$HOME, /tmp, /proc, /sys, /dev がコンテナにマウントされ, サーバ上の GPU を簡単に利用できる。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
92 コンテナイメージは Singularity Image Format (以下, sif) と呼ばれる単一ファイルベースのため, アーカイブや共有が容易である。
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 \section{Ceph}
11
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
95 Ceph は, RedHat 社が開発, 提供する分散ファイルシステムである。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
96 Ceph は分散オブジェクトストレージであるRADOS (Reliable Autonomic Distributred Object Storage) がベースとなっている (図\ref{fig:ceph})。
12
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
97 オブジェクトストレージはデータをオブジェクトという単位でやり取りをするストレージシステムである。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
98 複数のストレージを束ねて利用できるオブジェクトストレージが分散オブジェクトストレージである。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
99 RAODS では, Object Storage Daemon (OSD) にデータ格納する。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
100 オブジェクトの配置には, クラスタマップを元に Controlled Replication Under Scalable Hashing (CRUSH) アルゴリズムによりオブジェクトの格納先を選択する。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
101 配置の計算に必要とする情報はごくわずかであるため, Cephクラスタ内のすべてのノードは保存されている位置を計算できる。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
102 そのため, データの読み書きが効率化される。また, CRUSH はデータをクラスタ内のすべてのノードに均等に分散しようとする。
a93bf4babe74 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
103 \par
11
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
104 RODOS はクラスタに保存されるデータの管理を待ち受け, 保存オブジェクトへのアクセス方法として Object Gateway, RADOS Block Device (以下, RBD), CephFS がある。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
105 Object Gateway は HTTP REST 経由でクラスタに保存されるオブジェクトへ直接アクセスが可能である。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
106 RBD はブロックデバイスとしてアクセスが可能で, libvirt を組み合わせてVMのディスクとして使用できる。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
107 また, RBDドライバを搭載したOSにマップし ext4 や XFS などでフォーマットして利用できる。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
108 CephFS は POSIX互換のファイルシステムである。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
109 \begin{figure}[H]
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
110 \begin{center}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
111 \includegraphics[width=120mm]{fig/ceph.pdf}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
112 \end{center}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
113 \caption{Cephのアーキテクチャ}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
114 \label{fig:ceph}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
115 \end{figure}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
116
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
117 \par
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
118 Ceph では, ノードとはクラスタを構成するサーバであり, ノードでは以下の4つのデーモンが実行できる。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
119 \begin{itemize}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
120 \item Ceph Monitor
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
121 \item Ceph OSD
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
122 \item Ceph Manager
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
123 \item Ceph Metadata Server
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
124 \end{itemize}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
125
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
126 \subsection{Ceph Monitor}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
127 Ceph Monitor (以下, MON) ノードはクラスタのヘルス状態に関する情報, データ分散ルールを維持する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
128 障害が発生した場合, クラスタ内のMONノードでPaxosという合意アルゴリズムを使用して, どの情報が正しいかを多数決で決定する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
129 そのため, 奇数個のMONノードを設定する必要がある。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
130
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
131 \subsection{Ceph OSD}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
132 Ceph OSD (以下, OSD) は物理ストレージになる。このデーモンは1台のHDDなどの物理ストレージに対して, 1つのデーモンが動作する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
133 OSD は MON と通信し, OSD デーモンの状態を提供する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
134
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
135 \subsection{Ceph Manager}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
136 Ceph Manager (以下, MGR) ノードはクラスタ全体から状態情報を収集する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
137 MGR は MON と共に動作し, 外部のモニタリングシステムや管理システムのインターフェースとして機能する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
138
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
139 \subsection{Ceph Metadata Server}
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
140 Ceph Metadata Server (以下, MDS) ノードは CephFS のメタデータを保存する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
141
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 \section{Ansible}
11
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
144 Ansible\cite{ansible} は RedHat 社が開発, 提供するシステム構成, ソフトウェアの展開などを行う自動化ツールである。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
145 Ansible では一連の処理を YAML 形式のファイルで記述し, エージェントレスで SSH を介してタスクを実行する。
00b7356a0706 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
146 そのため, インフラストラクチャをコードとして残すことができる。
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 \section{Slurm}
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 \section{GitLab}
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151
8
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
152 \section{rsnapshot}
015b86f2a85f add images
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
153
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 \section{Akatsuki}
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 \section{ie-virsh}