# HG changeset patch # User Ken Miyahira # Date 1612853111 -32400 # Node ID 5637b4972373a59e290884ee2142c0b232656668 # Parent a967cf51ba92f7fdc67df072ba910eff29a78586 update diff -r a967cf51ba92 -r 5637b4972373 paper/chapter/new_system.tex --- a/paper/chapter/new_system.tex Tue Feb 09 14:55:10 2021 +0900 +++ b/paper/chapter/new_system.tex Tue Feb 09 15:45:11 2021 +0900 @@ -1,11 +1,11 @@ \chapter{教育情報システムの構築} -本章では, 2020年9月に行われたシステム更新, 演習や研究用に利用できる仮想環境について述べる。 +本章では,2020年9月に行われたシステム更新,演習や研究用に利用できる仮想環境について述べる. \section{新システムのオンプレミス環境} -新システムでは, 表\ref{tb:newserver}の汎用サーバを4台採用した。 -旧システムのストレージはHDDであったが, SSDの大容量化, 低価格化によりSSDを搭載した。 -また, 演習や研究等で利用できるようGPUも搭載した。 +新システムでは,表\ref{tb:newserver}の汎用サーバを4台採用した. +旧システムのストレージはHDDであったが,ストレージの高速化を図りSSDを搭載した. +また,演習や研究等で利用できるようGPUも搭載した. \begin{table}[H] \begin{center} @@ -22,9 +22,9 @@ \end{center} \end{table} -次にユーザのデータなどを補完するために, 表\ref{tb:newdiskserver}のストレージサーバを2台採用した。 -2台のストレージサーバにはCephを構築するため, RAIDを構成せず利用する。 -そのため, 旧システムでは全体容量が40TBだったが, 新システムでは90TBと増加した。 +次にユーザのデータなどを補完するために,表\ref{tb:newdiskserver}のストレージサーバを2台採用した. +2台のストレージサーバにはCephを構築するため,RAIDを構成せず利用する. +そのため,旧システムでは全体容量が40TBであったが,新システムでは90TBと増加した. \begin{table}[H] \begin{center} @@ -40,55 +40,56 @@ \end{table} \subsection{VM貸出サービスの移行} -旧システムではVMベースでシステムを構築していたが, 新システムではコンテナベースでの構築行った。 -しかし, VM貸出サービスであるAkatsuki, ie-virshは利用を継続する。 -また, ie-virshは新たに以下の機能を追加した。 +旧システムではVMベースでシステムを構築していたが,新システムではコンテナベースでの構築行った. +しかし,VM貸出サービスであるAkatsuki,ie-virshは利用を継続する. +また,ie-virshは新たに以下の機能を追加した. \begin{itemize} - \item 手元のPCのVMをデプロイするだけでなく, VMのテンプレートから差分で新しくVMを作成する - \item 作成したVMのリソースを変更する + \item VMのテンプレートから差分で新しくVMを作成する + \item 利用者が作成したVMのリソースを変更可能にする \end{itemize} -新システムでは旧サーバと比べディスク容量が増加したため, VMイメージを汎用サーバのディスクドライブに保存することで, VMの起動速度を高速化を図ることができる。 -旧システムではVMの作成は申請が必要であったが, 利用者は申請をせずVMを作成できるように機能を追加した。 -しかし, 利用者が制限なくVMを作成するとディスクリソースを圧迫する恐れがある。 -そこで, VMの作成にはクローンではなく差分で作成することで, VMイメージサイズを小さくすることができる。 +新システムでは旧サーバと比べディスク容量が増加したため,VMイメージを汎用サーバのディスクドライブに保存する. +また,SSDの搭載によりVMの起動速度の高速化を図ることができる. +旧システムではVMの作成は申請が必要であったが,利用者は申請をせずVMを作成できるように機能を追加した. +しかし,利用者が制限なくVMを作成するとディスクリソースを圧迫する恐れがある. +そこで,VMの作成にはクローンではなく差分で作成することで,VMイメージサイズを小さくすることができる. \subsection{コンテナ環境の導入} -新システムでもVM貸出サービスを継続するが, 新しく搭載されるGPUをVMで利用するためにはPCIパススルーなどの設定が必要となる。 -しかし, PCIパススルーでは, VMとGPUが1対1の関係になるため, GPU希望する利用者全てに割り当てることができない。 -また, 貸出VMは利用者の好み環境構築ができる反面, VMを作成するごとに同じような作業が必要となり利用者の手間となる。 -そこで, アプリケーションの実行環境として採用されているコンテナ技術を利用する。 +新システムでもVM貸出サービスを継続するが,新しく搭載されるGPUをVMで利用するためにはPCIパススルーなどの設定が必要となる. +しかし,PCIパススルーでは,VMとGPUが1対1の関係になるため,GPU希望する利用者全てに割り当てることができない. +また,貸出VMは利用者の好み環境構築ができる反面,VMを作成するごとに同じような作業が必要となり利用者の手間となる. +そこで,アプリケーションの実行環境として採用されているコンテナ技術を利用する. \par -システムは学生や教授などが利用するため, マルチユーザで利用できるコンテナエンジンが必要となる。 -そのため, コンテナエンジンにはマルチユーザに対応しているPodmanとSingularityを採用する。 -Podmanは開発段階でもあるため一部機能が不安定だったり, 設定が上書きされる場合がある。 -管理するシステム管理チームの学生の教育には適しているが, 演習や研究用で利用するには適さない場合がある。 -そのため, HPC環境に設計されているSingularityも同時に利用する。 +システムは学生や教授などが利用するため,マルチユーザで利用できるコンテナエンジンが必要となる. +そのため,コンテナエンジンにはマルチユーザに対応しているPodmanとSingularityを採用する. +Podmanは開発段階でもあるため一部機能が不安定だったり,設定が上書きされる場合がある. +管理するシステム管理チームの学生の教育には適しているが,演習や研究用で利用するには適さない場合がある. +そのため,HPC環境に設計されているSingularityも同時に利用する. \par %ie-podman の事書きたいね -Singularityはコンテナ内で実行ユーザの権限を引き継ぐため, 利用者が作成したプログラムの実行には向いている。 -だが, Webなど特権が必要なサービスを実行することはできない。 -特権が必要なWebなどをを実行する場合はPodmanを利用する。 -Podmanはネットワーク設定を行うことで, コンテナ個別にIPアドレスを割り当てることができるが, ルートレスでは割り当てができない。 -IPアドレスの割り当てにはネットワークデバイスの関連付けが必要だが, root権限が必要なためである。 -rootlessでWebなどのサービスを実行しアクセスするにはポートフォワードを設定する必要がある。 -だが, 利用者が使用するポートを汎用サーバで開放することはセキュリティ的にできない。 -そこで, Podmanをwrapperしたie-podmanを作成した。 -ie-podmanはコンテナに個別のIPアドレスを割り当てる際に利用する。 +Singularityはコンテナ内で実行ユーザの権限を引き継ぐため,利用者が作成したプログラムの実行には向いている. +だが,Webなど特権が必要なサービスを実行することはできない. +特権が必要なWebなどをを実行する場合はPodmanを利用する. +Podmanはネットワーク設定を行うことで,コンテナ個別にIPアドレスを割り当てることができるが,ルートレスでは割り当てができない. +IPアドレスの割り当てにはネットワークデバイスの関連付けが必要だが,root権限が必要なためである. +rootlessでWebなどのサービスを実行しアクセスするにはポートフォワードを設定する必要がある. +だが,利用者が使用するポートを汎用サーバで開放することはセキュリティ的にできない. +そこで,Podmanをwrapperしたie-podmanを作成した. +ie-podmanはコンテナに個別のIPアドレスを割り当てる際に利用する. \subsection{ジョブスケジューラの構築} -旧システムではVMベースのため, 利用者が演習や研究等のプログラムは決められたリソースで実行する必要があった。 -新システムはコンテナベースに変更したことにより, 利用者は汎用サーバのリソースを利用できる。 -そのため, 複数の利用者が多くのリソースを要求するプログラムを実行した場合, リソース不足やリソースの競合が考えられる。 -そこで, 汎用サーバのリソースを効率よく利用できるようにするため, ジョブスケジューラであるSlurmにより管理を行う。 -Slurmは最悪待ち時間を減らすのではなく, 計算リソースの利用効率を上げることを重視する。 -そのため, Jobの優先順位は以下のように設定を行う。 +旧システムではVMベースのため,利用者が演習や研究等のプログラムは決められたリソースで実行する必要があった. +新システムはコンテナベースに変更したことにより,利用者は汎用サーバのリソースを利用できる. +そのため,複数の利用者が多くのリソースを要求するプログラムを実行した場合,リソース不足やリソースの競合が考えられる. +そこで,汎用サーバのリソースを効率よく利用できるようにするため,ジョブスケジューラであるSlurmにより管理を行う. +Slurmは最悪待ち時間を減らすのではなく,計算リソースの利用効率を上げることを重視する. +そのため,Jobの優先順位は以下のように設定を行う. \begin{itemize} \item 要求するリソースの少ないJobの優先度を高くする \item 実行時間が短いJobの優先度を高くする \item これまでのJobの実行履歴で優先度は変化しない \end{itemize} -また, Slurmに登録されるJobはバックフィルを採用する。 -バックフィルは図\ref{fig:backfill}のように, 後から投下されたJobが, 現在処理されているJobの実行時間以内であり, 空きリソースで処理可能ならば, 先に投下されたJobより先に処理される。 +また,Slurmに登録されるJobはバックフィルを採用する. +バックフィルは図\ref{fig:backfill}のように,後から投下されたJobが,現在処理されているJobの実行時間以内であり,空きリソースで処理可能ならば,先に投下されたJobより先に処理される. \begin{figure}[H] \begin{center} \includegraphics[width=150mm]{fig/backfill.pdf} @@ -98,44 +99,45 @@ \end{figure} \subsection{ファイルシステムの構築} -旧システムではVMのイメージをクラスタファイルシステムであるGFS2に保存し運用していた。 -このGFS2の運用には別途クラスタを構成する必要があるため, 単一障害が発生により多くのサービスに影響を与えることがあった。 -また, ユーザのホームディレクトリもVMでGFS2をマウントしNFSで提供されていた。 -そのため, NFSを提供するVMが停止することでユーザへの影響があった。 -そこで, 新システムではVMイメージの保存には汎用サーバのディスクドライブ, ユーザのホームディレクトリにCephを採用する。 +旧システムではVMのイメージをクラスタファイルシステムであるGFS2に保存し運用していた. +このGFS2の運用には別途クラスタを構成する必要があるため,単一障害の発生により多くのサービスに影響を与えることがあった. +また,ユーザのホームディレクトリもGFS2をマウントしたVMからNFSで提供されていた. +そのため,NFSを提供するVMが停止することでユーザへの影響があった. +そこで,新システムではVMイメージの保存には汎用サーバのディスクドライブ,ユーザのホームディレクトリにCephを採用する. \par -新システムでは汎用サーバにSAS SSDが5TBと旧システムより多く搭載されている。 -2台のサーバに演習や研究用で利用する貸出VMのイメージを保存し, 残り2台には本コースで利用しているサービスを提供するVMを保存する。 -汎用サーバに保存することで, 単一障害時の影響を小さくすることができる。 -Cephは自己修復と自己管理機能を持つため, 信頼性の高いファイルシステムとして利用できる。 -そのため, ユーザのホームディレクトリを配置するファイルシステムとして利用する。 -また, CephはObject Gateway, ブロックデバイス, POSIX互換のファイルシステムなど, 用途によって柔軟にアクセス方法を変更できる。 -ブロックデバイスとしてアクセスすることでVMイメージのバックアップとしても利用できる。 +新システムでは汎用サーバにSAS SSDが5TBと旧システムより多く搭載されている. +2台のサーバに演習や研究用で利用する貸出VMのイメージを保存し,残り2台には本コースで利用しているサービスを提供するVMを保存する. +汎用サーバに保存することで,単一障害時の影響を小さくすることができる. +Cephは自己修復と自己管理機能を持つため,信頼性の高いファイルシステムとして利用できる. +そのため,ユーザのホームディレクトリを配置するファイルシステムとして利用する. +また,CephはObject Gateway,ブロックデバイス,POSIX互換のファイルシステムなど,用途によって柔軟にアクセス方法を変更できる. +ブロックデバイスとしてアクセスすることでVMイメージのバックアップとしても利用できる. \subsection{バックアップ戦略} -旧システムにはSAN用ストレージの他に大容量ストレージが導入されており, バックアップ用として利用されていた。 -バックアップはWebやデータベース, ユーザのホームディレクトリなどを月に一度フルバックアップ, 週に一度差分バックアップを行っていた。 -しかし, 新システムではストレージサーバ2台のため, 毎月フルバックアップではディスク容量を圧迫してしまう。 -そこで, 新システムでは, さくらインターネット株式会社(以下, さくらインターネット)が提供する専用サーバへバックアップを行う。 -専用サーバは4TBのSASディスクを12台搭載しており, 実行容量は24TBを有している。 -その専用サーバへのバックアップはWebのデータ, ユーザのホームディレクトリをrsnapshotを用いて増分バックアップを行う。 -旧システムより容量は少ないが, 増分バックアップのため使用されるディスク領域は継続的に増えることがない。 -また, データの復元にはrsyncなどでコピーを行うだけのため, クラウドサーバであっても特定のファイルのみを迅速に復旧できる。 -rsnapshotは以下のように設定を行い, 1年分のデータを保存する。 +旧システムにはSAN用ストレージの他に大容量ストレージが導入されており,バックアップ用として利用されていた. +バックアップはWebやデータベース,ユーザのホームディレクトリなどを月に一度フルバックアップ,週に一度差分バックアップを行っていた. +しかし,新システムではストレージサーバ2台のため,毎月のフルバックアップではディスク容量を圧迫してしまう. +そこで,新システムでは,さくらインターネット株式会社(以下,さくらインターネット)が提供する専用サーバへバックアップを行う. +専用サーバは4TBのSASディスクを12台搭載しており,実行容量は24TBを有している. +その専用サーバへのバックアップはWebのデータ,ユーザのホームディレクトリをrsnapshotを用いて増分バックアップを行う. +旧システムより容量は少ないが,増分バックアップのため使用されるディスク領域を抑えることができる. +また,指定する数のスナップショットのみ保存するため,ディスク領域は継続的に増えることがない. +データの復元にはrsyncなどでコピーを行うだけのため,クラウドサーバであっても特定のファイルのみを迅速に復旧できる. +rsnapshotは以下のように設定を行い,1年分のデータを保存する. \begin{itemize} - \item 毎日0時に増分バックアップを実行し, 最大7個のスナップショットを保存する - \item 毎週月曜の9時に一週間分のスナップショットを取得し, 最大4個のスナップショットを保存する - \item 毎月1日の12時に1ヶ月分のスナップショットを取得し, 最大12個のスナップショットを保存する + \item 毎日0時に増分バックアップを実行し,最大7個のスナップショットを保存する + \item 毎週月曜の9時に一週間分のスナップショットを取得し,最大4個のスナップショットを保存する + \item 毎月1日の12時に1ヶ月分のスナップショットを取得し,最大12個のスナップショットを保存する \end{itemize} \subsection{構成} -新システムでは, 各サーバに演習や研究用で利用できるPodmanとSingularityを用い, ジョブスケジューラであるSlurmを用いて管理を行う。 -汎用サーバ1台をSlurmのコントローラ/計算ノードとし, 残りは計算ノードとすることで, システムのリソースを最大限利用可能にする。 -Cephはディスクサーバのみで構成するのではなく, 汎用サーバ3台も含める。 -ディスクサーバはOSDを持ち, 汎用サーバがMON, MDS, MGRを担当する。 -汎用サーバを含めることで, 最大1台の障害を許容できるようになる。 -そのため, 利用者への影響を少なくすることができる。 -これらの技術を用いて構成したシステム構成図を図\ref{fig:system}に示す。 +新システムでは,各サーバに演習や研究用で利用できるPodmanとSingularityを用い,ジョブスケジューラであるSlurmを用いて管理を行う. +汎用サーバ1台をSlurmのコントローラ/計算ノードとし,残りは計算ノードとすることで,システムのリソースを最大限利用可能にする. +Cephはディスクサーバのみで構成するのではなく,汎用サーバ3台も含める. +ディスクサーバはOSDを持ち,汎用サーバがMON,MDS,MGRを担当する. +汎用サーバを含めることで,最大1台の障害を許容できるようになる. +そのため,利用者への影響を少なくすることができる. +これらの技術を用いて構成したシステム構成図を図\ref{fig:system}に示す. \begin{figure}[H] \begin{center} \includegraphics[width=150mm]{fig/system.pdf} diff -r a967cf51ba92 -r 5637b4972373 paper/chapter/old_system.tex --- a/paper/chapter/old_system.tex Tue Feb 09 14:55:10 2021 +0900 +++ b/paper/chapter/old_system.tex Tue Feb 09 15:45:11 2021 +0900 @@ -1,54 +1,56 @@ \chapter{旧システム} -本章では, 2020年8月まで使用されていたシステムの環境, 演習や研究用に利用できるVM管理システムについて述べる。 +本章では,2020年8月まで使用されていたシステムの環境,演習や研究用に利用できるVM管理システムについて述べる. \section{オンプレミス環境} -旧システムは, KVMを利用したVMベースのシステムを構築していた。 -VMは本コースのWebやDNS等の基幹システムや, 学生が演習や研究用で利用できる貸出VMで利用されていた。 -そのため, 利用者が必要とする十分なスペックを提供するため, 表\ref{tb:oldserver}のスペックの汎用サーバを4台導入した。 +旧システムは,KVMを利用したVMベースのシステムを構築していた. +VMは本コースのWebやDNS等の基幹システム,学生が演習や研究用で利用できる貸出VMで利用されていた. +そのため,利用者が必要とする十分なスペックを提供するため,表\ref{tb:oldserver}のスペックの汎用サーバを4台導入した. \begin{table}[H] \begin{center} - \caption{旧システムの物理サーバ} + \caption{旧システムの1Uサーバ} \begin{tabular}{|c|c|} \hline - CPU & Intel Xeon E5-2699 v3 (2.30GHz/18Core) \\ \hline + CPU & Intel Xeon E5-2699 v3 (2.30GHz/18Core) \\ \hline CPUユニット数 & 2 \\ \hline - メモリ & 768GB\\ \hline + メモリ & 768GB\\ \hline HDD & 600GB \\ \hline \end{tabular} \label{tb:oldserver} \end{center} \end{table} -次にVMのイメージを保存するために表\ref{tb:oldsandisk}のストレージを2台導入した。 -ハードディスクドライブの故障が想定されるため, RAID6を採用し信頼性及び可用性の向上を行った。 -ストレージと汎用サーバとの接続プロトコルはiSCSIを採用した。 -KVMは標準でライブマイグレーションに対応している。 -そこで, クラスタファイルシステムとして利用可能なファイルシステムである, GFS2を採用した。 +次にVMのイメージを保存するために表\ref{tb:oldsandisk}のストレージを2台導入した. +ハードディスクドライブの故障が想定されるため,RAID6を採用し信頼性及び可用性の向上を行った. +ストレージと汎用サーバとの接続プロトコルはiSCSIを採用した. +KVMは標準でライブマイグレーションに対応している. +そこで,クラスタファイルシステムとして利用可能なファイルシステムである,GFS2を採用した. \begin{table}[H] \begin{center} \caption{旧システムのSAN用ストレージ} \begin{tabular}{|c|c|} \hline - HDD & SAS 1.2TB x 24 \\ \hline + HDD & SAS 1.2TB x 24 \\ \hline 回転数 & 15000rpm \\ \hline - RAID & 6 \\ \hline + RAID & 6 \\ \hline 実行容量 & 19.7TB \\ \hline \end{tabular} \label{tb:oldsandisk} \end{center} \end{table} -最後にシステムのバックアップを行うために表\ref{tb:olddisk}の大容量ストレージを2台導入した。 -大容量ストレージには本コースのWebやデータベース, ユーザのホームディレクトリなどを月に一度バックアップを行う。 +最後にシステムのバックアップを行うために表\ref{tb:olddisk}の大容量ストレージを2台導入した. +大容量ストレージには本コースのWebやデータベース,ユーザのホームディレクトリなどを月に一度バックアップを行う. % こいつ...もしかしたら Netgea ???? +% お前には救われたんだ.ie-homeを守ってくれてありがとう!!!!! +% 本当にお疲れ様でした \begin{table}[H] \begin{center} \caption{旧システムの汎用ストレージ} \begin{tabular}{|c|c|} \hline - HDD & SAS 4.0TB x 24 \\ \hline + HDD & SAS 4.0TB x 24 \\ \hline 回転数 & 7200rpm \\ \hline - RAID & 6 \\ \hline + RAID & 6 \\ \hline 実行容量 & 68.5TB \\ \hline \end{tabular} \label{tb:olddisk} @@ -56,11 +58,11 @@ \end{table} \subsection{Akatsuki} -Webコントロールパネルから有線LAN接続サービスやVM貸出サービスを管理している。 -利用者はシステム管理チームへVMの利用申請を行い, VM作成の権限を取得する。 -権限を取得後, WebコントロールパネルよりVM作成, 電源操作を行えるようになっている。 -VMのリソースはCPU1コア, メモリ1GB, ストレージ10GBとなり, 申請を行うことでリソースを増やすことができる。 -VM貸出サービスの概要を図\ref{fig:akatsuki}に示す。 +Webコントロールパネルから有線LAN接続サービスやVM貸出サービスを管理している. +利用者はシステム管理チームへVMの利用申請を行い,VM作成の権限を取得する. +権限を取得後,WebコントロールパネルよりVM作成,電源操作を行えるようになっている. +VMのリソースはCPU 1コア,メモリ1GB,ストレージ10GBとなり,申請を行うことでリソースを増やすことができる. +VM貸出サービスの概要を図\ref{fig:akatsuki}に示す. \begin{figure}[H] \begin{center} @@ -71,10 +73,10 @@ \end{figure} \subsection{ie-virsh} -ie-virsh は手元のPCで作成したVMを学科のブレードサーバにデプロイできるサービスである。 -ユーザのUID及びGID情報を取得することで, マルチユーザに対応している。 -表\ref{tb:ie-virsh}は ユーザが利用できる ie-virsh の機能である。 -ie-virshは手元のPCで作成したVMを実行できるため, ユーザが好みのOSや環境を構築できるなど自由度が高い。 +ie-virsh は手元のPCで作成したVMを学科のブレードサーバにデプロイできるサービスである. +ユーザのUID及びGID情報を取得することで,マルチユーザに対応している. +表\ref{tb:ie-virsh}は ユーザが利用できる ie-virsh の機能である. +ie-virshは手元のPCで作成したVMを実行できるため,ユーザが好みのOSや環境を構築できるなど自由度が高い. \begin{table}[htb] \begin{center} \caption{ie-virsh のコマンド} @@ -91,10 +93,10 @@ \end{table} \subsection{ie-docker} -ie-dockerはDocker をラップしたツールであり, ユーザは学科のブレードサーバへsshで接続を行いCUIから利用することができる。 -ie-virshと同じく, ユーザのUID及びGID情報を取得することで, マルチユーザに対応している。 -表\ref{tb:ie-docker} は ie-docker で利用できる機能である。 -コンテナで使用するイメージを管理者が用意する必要がある。 +ie-dockerはDocker をラップしたツールであり,ユーザは学科のブレードサーバへSSHで接続を行いCUIから利用することができる. +ie-virshと同じく,ユーザのUID及びGID情報を取得することで,マルチユーザに対応している. +表\ref{tb:ie-docker} は ie-docker で利用できる機能である. +コンテナで使用するイメージは管理者が用意する必要がある. \begin{table}[htb] \begin{center} @@ -114,13 +116,13 @@ \subsection{問題点} -旧システムでは, 学生が演習などで利用できる環境として貸出VMのみであった。そのため以下のような問題が生じた。 +旧システムでは,学生が演習などで利用できる環境として貸出VMのみであった.そのため以下のような問題が生じた. \begin{itemize} - \item 仮想環境の貸出サービスにおいて, 新しく仮想環境を作成するにはシステム管理チームへ申請が必要であった。 - そのため, 一部学生は申請の方法が分からなかったり, 貸出サービスがあることが周知されていなかったため, 旧システムのリソースが余っていた。 - \item 機械学習の演習ではGPUが求められる。だが, 旧システムにはGPUが搭載されていないため, 要求されるリソースを提供できない。 - そのため, 貸出サービスではなく研究室ごとの機器が多く利用された。 + \item 仮想環境の貸出サービスにおいて,新しく仮想環境を作成するにはシステム管理チームへ申請が必要であった. + そのため,一部学生は申請の方法が分からなかったり,貸出サービスがあることが周知されていなかったため,旧システムのリソースが余っていた. + \item 機械学習の演習ではGPUが求められる.だが,旧システムにはGPUが搭載されていないため,要求されるリソースを提供できない. + そのため,貸出サービスではなく研究室ごとの機器が多く利用された. \end{itemize} % 簡単に 1ページ未満にしよう diff -r a967cf51ba92 -r 5637b4972373 paper/final_thesis.pdf Binary file paper/final_thesis.pdf has changed