view paper/chapter/technology_overview.tex @ 9:a5d22b8e0a10

update tex
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Fri, 08 Jan 2021 16:55:11 +0900
parents 015b86f2a85f
children 044832c47f54
line wrap: on
line source

\chapter{技術概要}

本章では, 本研究で使われる技術, 本コースで利用しているサービスについて概要を説明する。

\section{仮想化}
仮想化はコンピュータの CPU やメモリ, ディスクなどハードウェアのリソースを分割又は統合して, 
仮想的なコンピュータやネットワーク環境を生成し提供する技術である。
仮想化技術にはホストのどの部分から仮想化するかによってホスト型, ハイパーバイザー型, コンテナ型に分けることができる。

\subsection{ホスト型}
ホスト型の仮想化は, ホストとなるOS上 (以下, ホストOS) に仮想化ソフトウェアをインストールし, 仮想化ソフトウェア上で別のOS (以下, ゲストOS) を稼働させる手法である (図\ref{fig:host})。
仮想化ソフトウェアをホストOSのアプリケーションの1つとして導入及び管理できるため, 手軽に仮想化を実現することができる。
しかし, ゲストOSの処理はホストOSを経由しなければならないため, オーバーヘッドが大きくなる。
\begin{figure}[H]
    \begin{center}
        \includegraphics[width=120mm]{fig/host.pdf}
    \end{center}
    \caption{ホスト型}
    \label{fig:host}
\end{figure}

\subsection{ハイパーバイザー型}
ハイパーバイザー型の仮想化は, 仮想化システムを直接ハードウェアにインストールし, ハイパーバイザー上で複数のゲストOSを稼働させる手法である (図\ref{fig:hyper})。
ハイパーバイザーが直接ハードウェアを管理するため仮想化によるオーバーヘッドを小さくすることで, リソースを効率的に利用することができる。
\begin{figure}[H]
    \begin{center}
        \includegraphics[width=120mm]{fig/hyper.pdf}
    \end{center}
    \caption{ハイパーバイザー型}
    \label{fig:hyper}
\end{figure}

\subsection{コンテナ型}
コンテナ型の仮想化は,  OS レベルの仮想化技術を利用して複数のコンテナと呼ばれる独立空間を形成し, 独立空間でアプリケーションをそれぞれ構築することができる手法である (図\ref{fig:container})。
各コンテンはオペレーティングシステムカーネルによって独立したプロセスとして実行される。
前述のホスト型やハイパーバイザー型と比べ, コンテナはゲストOSを起動することなくアプリケーションを実行することができるため, リソース効率が良く処理が軽量である。

\begin{figure}[H]
    \begin{center}
        \includegraphics[width=120mm]{fig/container.pdf}
    \end{center}
    \caption{コンテナ型}
    \label{fig:container}
\end{figure}

\section{KVM}
KVM (Kernel-based Virtual Machine)\cite{kvm} は Linux カーネル 2.6.20 以降に標準搭載されているハイパーバイザーである。
KVM は Intel VT 及び AMD-V を含む x86 ハードウェア上の完全仮想化をサポートしている。
KVM はハイパーバイザーと各仮想マシン間のレイヤーとして Virtio API を使用して, 仮想マシンに準仮想化デバイスを提供する。
これにより, 仮想化によるオーバーヘッドを少なくできる。

\section{Docker}
Docker\cite{docker} は Docker 社が開発, 提供する Linux 上で動作する隔離された Linux コンテナをデプロイ, 実行するアプリケーションである。
\begin{figure}[H]
    \begin{center}
        \includegraphics[width=150mm]{fig/docker.pdf}
    \end{center}
    \caption{Docker}
    \label{fig:docker}
\end{figure}

\subsection{Docker Registry}

\section{Podman}
\begin{figure}[H]
    \begin{center}
        \includegraphics[width=120mm]{fig/podman.pdf}
    \end{center}
    \caption{Podman}
    \label{fig:podman}
\end{figure}

\section{Singularity}

\section{Ceph}

\section{Ansible}

\section{Slurm}

\section{GitLab}

\section{rsnapshot}

\section{Akatsuki}

\section{ie-virsh}