理研データ科学基盤におけるシステム構築支援
検崎 博生 1), 石井 学,2), 實本 英之 1), 舛本 現 1)1) 理化学研究所 情報統合本部
2) 株式会社ゲノムアナリティクスジャパン
hiroo.kenzaki@riken.jp

Support for system construction in RIKEN Data Science Infrastructure
Hiroo Kenzaki 1), Manabu Ishii 2), Hideyuki Jitsumoto 1), Gen Masumoto 1)
1) RIKEN Information R&D and Strategy Headquarters, RIKEN
2) Genome Analytics Japan Inc.
概要
理化学研究所では、研究データの保存・解析・公開のためにデータ科学基盤 HOKUSAI
SailingShip を 2020 年 6 月から運用している。利用者はプライベート IaaS としてシステムを構築して利用することになるが、さまざまな研究用のシステムを簡単に構築できるように Ansible を用いたシステム構築支援を利用者に提供している。本稿では、データ科学基盤とその上でのシステム構築支援について紹介する。

1

こととした。

はじめに

Ansible ではサーバ構成やソフトウェア構成を近年、データ処理の必要性の増大、アプリケーYAML 形式の playbook ファイルに記述しておけば、ション実行環境の柔軟性が求められている。そこシステムを構築することが可能である。本システ

で、理化学研究所（以下、理研という）ではさま

ム構築支援では、多くの利用者に利用されるであざまなデータの保存・処理・公開を行えるように、ろう各種機能の構成情報を記述した playbook を提

データ科学基盤 HOKUSAI SailingShip (HSS) を導供している。そのため、利用者は必要な機能（role）入した。HSS は利用者毎にシステムを構築できるを選択すれば、用途に合ったシステムを構築可能

プライベート IaaS 環境であり、OpenStack を用いとなっている。また、各種設定ファイルもあらかて計算リソース/共有ストレージ/ネットワークをじめひな型などを用意しておき、利用者は最低限仮想化することにより提供している。利用者は、必要な情報を入力すれば、環境設定も含めてシス用途に合わせた Virtual Machine (VM)やネットワーテム構築が完了するようにしている。

[1]

クを構築することができ、共用ストレージも多様

本稿では、まず HSS の構成や利用方法についてなプロトコルで利用できるようになっている。

簡単に説明を行った後、システム構築支援の構成

HSS の大きな問題点は、利用者自身でシステム構築を行う必要があるので、利用のハードルが高要素や利用方法について紹介し、用意した各機能の詳細を述べる。

いことである。対策としてあらかじめ必要な環境構築を行ったイメージを配布することが考えられるが、研究分野や用途はさまざまなものがあるので現実的ではない。
そこで、さまざまなシステムを構築できるように構成管理ツールを用いることが考えられる。構
成管理ツールには Ansible、Puppet、Chef などがある。この中で Ansible はエージェントレスであり、python が使用可能で ssh が疎通すれば利用できるので、他の構成管理ツールに比べて非常にシンプルである。そこで本利用支援では Ansible を用いる

図 1 HSS の外観

20

図 2 HSS の概念図

22.3 データファーム

理研データ科学基盤 HSS の概要

データファームは 30PB の Lustre ファイルシス

理研では、導入時期を数年ずらした 2 系統のスーパーコンピュータを運用していたが、その 1 系

テムで、NFS/CIFS/S3 ゲートウェイを持ち、多様なアクセスが可能となっている。

統をデータ科学基盤として導入することとなった。

データファームは共有ストレージとして利用

HSS は富士通株式会社によって開発され、2020 年可能で、VM を作成した場合は Lustre ファイルシ6 月から運用を開始している（図 1）。HSS は CPUステムをマウントして利用可能である。理研研究ファーム、データファーム、仮想化基盤からなり、情報管理サービス[3]では VM を作成せずに、CIFS利用者にプライベート IaaS 環境を提供しているプロトコル経由で利用することもできる。共有ス（図 2）。

トレージはそれぞれの利用方法で領域は共通であ2.1 HSS の利用方法

るが、お互いのデータを参照することはできない。

HSS の利用単位はプロジェクトであり、利用者

2.4 仮想化基盤

はプロジェクトの申請やシステムを構築するプロ

仮想化基盤としては OpenStack の商用ディスト

ジェクトメンバーと、構築されたシステムを利用

リ ビ ュ ー シ ョ ン で あ る Mirantis Cloud Platform

するテナント利用者に分かれる。プロジェクトメ(MCP)を用い、データファーム、CPU ファーム、ンバーは基本的に理研の身分を持っている必要がネットワークを仮想化し、利用者毎にテナント（シあるが、テナント利用者は各プロジェクトで管理ステムインフラ）を構築できるようにしている。

するので理研外の利用者も利用することがある。

VM を構築する際のイメージは Ubuntu や Rocky
Linux などをいくつか用意しており、共有ストレー

2.2 CPU ファーム
CPU ファームの 440 ノードで構成され、各ノージの利用の有無で 2 種類のイメージに分かれていドは CPU2 基（Intel Xeon Platinum 8260）を搭載しる。共有ストレージはプロジェクト毎に領域が分ている。メモリ(DDR4-2933)は 384 GB、ローカルかれていて、他のプロジェクトからアクセスするストレージ（SSD）は 1.92 TB、インターコネクトことはできない。また、/home 領域を Lustre マウ

は 10GBASE-T x 2 という構成となっている。

ントするので、複数 VM から利用する場合は UID

CPU ファームは 220 ノードずつの 2 つのクラスや GID を揃える必要がある。

タに分かれていて、片方は計算リソースを利用者ネットワークはプロジェクト内通信のためのが常時確保しているプール型であり、もう片方はプライベートなプロジェクトネットワークと共有計算リソースを利用者が空いているときだけ利用ストレージと通信するためのストレージネットワするオンデマンド型である。プロジェクト開始時

ークの 2 つがある。プロジェクト外から通信するにどちらのクラスタを使用するか選択する必要がためには 、理研のイントラアドレスを VM にある。

Floating IP アドレス（FIP）として設定する必要が21ある。必要に応じて理研のグローバルアドレスを用できる。

設定することもできるが、理研外から通信するた

表 1：構築できる機能一覧

めには、理研の監査を受ける必要がある。

機能

2.5 HSS の利用手順
HSS の利用手順は以下のようになる。
1.

オンライン申請システムでプロジェクトを作成し、プロジェクトメンバーを登録。

2.

プロジェクトメンバーがオンライン申請シス
テムでポイントを購入し、ポイントで計算リソースを確保。

3.

プロジェクトメンバーが OpenStack 管理コン
ソールでテナントの構築（VM の作成やネットワークの設定など）を行い、VM にテナント利用者のアカウントを作成。

4.

テナント利用者が、テナント内の VM や共有ストレージを利用。
なお、研究情報管理サービスを利用する場合は、共有ストレージを確保した後で、テナントを構築せずに、研究情報管理サービスの利用申し込みを

詳細

ユーザ管理

LDAP

ファイルサーバ

Samba, NFS（非推奨）

リモートデス ク

RDP, VNC（非推奨）

トップ
ジョブ管理

slurm, singularity

バイオインフ ォ

jupyter や R をリバースプロ

マティクス

キシ経由で利用3.3 共通利用イメージを用いた VM 作成
まず、利用者は OpenStack 管理コンソールで共通利用イメージから必要な数の VM を作成する。
VM として管理ノードが 1 台必要であり、必要な数だけ計算ノードを作成する。管理ノードには理研のイントラアドレスを FIP として、理研内の利用者の環境からアクセスできるようにする。
共通利用イメージの特徴は以下となる。

行うとデータ置き場（ストレージインフラ）とし・ ベースイメージは Ubuntu-22.04て利用できる。

・ 共有ストレージを Lustre マウント・ システム構築に利用する Ansible をインスト

3 システム構築支援についてール済

ここではシステム構築支援の構成要素とシス・ gcc 、 openmpi 、 docker 、 singularity CE 、python-openstackclient をインストール済

テム構築の流れを説明する。

3.4 Ansible を用いたシステム構築

3.1 システム構築支援の概要
共通利用イメージ（スナップショット）、構成

VM を作成後、管理ノードに ssh でログインし、管理ツール Ansible の playbook、各種スクリプトや前準備の作業を行い、Ansible の playbook を適用すドキュメントを提供している。利用者は共通利用ることでシステムを構築できる。用途に合わせてイメージから VM を作成して、作成した VM 上で必要な role をコメントアウトすると、必要な機能Ansible を用いてシステムを構築する。のインストールと環境構築が行える。用意してい3.2 構築できる機能概要

る role は表 2 に示す。また、各種スクリプトを用

多くの利用者に必要なユーザ管理機能として意して、システム構築前の設定ファイル作成や、は LDAP を採用した。Samba によるファイル共有

システム構築後の設定を簡単に行えるようにして機能や RDP を用いたリモートデスクトップも用いる。
表 2：role 一覧意している。

説明

計算機クラスタ環境を構築できるようにする

role

ために、ジョブ管理として slurm を提供し、そのcommon/etc/hosts を全ノードに配る

上で singularity でのジョブ実行をできるようにしldapserver

LDAP サーバを構築ている。

ldapclient

LDAP クライアントを構築

userandgroup

ユーザとグループを LDAP に

バイオインフォマティクス向けの基本的な解析環境として Jupyter と R studio server を用意した。
もちろん、他の分野での解析環境としても利用することも出来る。
今回提供した機能を表 1 に示す。一部機能は依存関係があるが、基本的には必要な機能だけを利22

登録
sambaserver

Samba サーバを構築

nfsserver

NFS サーバを構築

rdp

RDP サーバを構築

vnc

VNC サーバを構築

NFS については認証の問題があるので、現時点

slurmserver

Slurm サーバを構築

では非推奨としている。プロジェクト内部の利用

slurmclient

Slurm クライアントを構築

や IP アドレスで制限できる場合は問題なく利用で

apache_rerverse_proxy

Apache のリバースプロキシをきる。

bioinfomatis

Jupyter と R studio server の構築

構築

3.5 構築後の運用システム構築支援はソフトウェアのインストールと環境設定まで行うので、システムのアップデートは利用者が行う必要がある。ソフトウェアのインストールは基本的にパッケージ管理システムである apt 経由でインストールしているので、アップグレードも apt 経由で行える。また、他の方法でソフトウェアをインストールしても基本的に問題ない。

4.3. リモートデスクトップ
リモートデスクトップは RDP サーバと VNC サーバを構築できるようにした。
RDP サーバの role を適用すると必要なパッケージのインストールが行われる。構築後、すぐにWindows や Mac から簡単な手順で接続でき、リモートデスクトップ環境を利用することが出来るようになる。
VNC サーバについては利用のための手順が煩雑なので非推奨としている。
4.4. ジョブ管理
ジョブ管理システムとして slurm を構築できるようにし、slurm 上で singularity イメージが実行で4 各機能の詳細きるようにしている。
システム構築支援で利用できる各機能について Ansible でどのように環境構築を行っているか、設定などをどのようにするか、注意点などを説明する。

Slurm の role を適用すると、必要なパッケージのインストールと設定ファイルの配置などが行われる。slurm.conf を編集することで、計算に利用できるノードの情報や partition（キュー）を変更でき4.1. ユーザ管理る。

HSS では利用者が VM のアカウント管理を行う必要があるが、特に共有ストレージを利用する場合は UID や GID を全ての VM で共通にする必要がある。本サービスでは LDAP を使ってアカウント管理を行うこととした。
Ansible の LDAP に関する role を適用すると、必要なパッケージのインストールと LDAP の設定変更、LDAP 管理者のパスワード変更などを行う。
ユーザとグループの追加や変更などは、スクリプトを用意して簡単に行えるようにしている。

構築後すぐに、gcc と openmpi を用いた MPI ジ
ョブや singularity イメージのジョブを実行することができる。Intel コンパイラなど他の開発環境は、別途インストールすれば利用可能となる。
4.5. バイオインフォマティクスバイオインフォマティクスの計算環境として、Jupyter と R studio server が構築できる。同時にリバースプロキシも利用することで、管理ノードだけでなく計算ノード上で Jupyter と R studio serverを立ち上げた場合も、手元の PC などから利用す4.2. ファイルサーバることができるようになる。

ファイル共有としては Samba サーバと NFS サーバを構築できるようにした。Samba の利用はLDAP の利用が前提となっている。

bioinformatics role を適用することで、jupyter とR studio server の構築に必要なパッケージがインストールされる。jupyter はユーザ毎に動かしたいノAnsible の Samba の role を適用すると必要なパッケージのインストールと Samba の設定ファイルの配置や LDAP を利用するための設定変更などを行う。構築後は管理者がユーザの Samba パスワードを設定すれば利用可能となる。なお、Samba パスワード変更で UNIX アカウントのパスワードも同時に変更するようにしている。Windows や Macから、簡単な手順でファイル共有を行うことができるようになる。

ードで起動すれば利用可能となる。R studio serverはインストールしたノードに立ち上がる。なお、
jupyter と R studio server はお手軽に試すため用に用意しているので、ユーザが個別に jupyter や R の環境を構築することを推奨している。
apache_reverse_proxy role を適用すると、必要なパッケージのインストールと設定ファイルの配置が行われる。リバースプロキシの設定はreverse_proxy.csv を編集して、Ansible を適用する23

と設定が反映される。jupyter と R studio server 用の設定を用意しているが、設定ファイルを書き換えると他の用途にも利用できる。

5 システム構築支援の特徴と課題本システム構築支援では、構成管理ツール
Ansible を用いたシステム構築を可能としたが、同様の試みはデータ活用社会創生プラットフォーム(mdx)[2]でもされている。mdx が全国的なシステムであるのに対して、HSS は理研の研究者用のシステムなので、理研の研究者の用途により適した機能の実装を行っている。
特に、HSS は多くの場合理研のプライベート空間で構築することになるので、簡単な操作で基本的なネットワーク設定が完了できるようになっている。また、本支援でもイントラネットでの利用を前提として各種機能を提供している。今後、グローバル環境での web サーバや理研外とのファイル共有などの機能提供を行う際は、セキュリティ面でのケアがより必要になってくる。
本支援では、あらかじめ OpenStack 管理コンソールで VM の作成を行っておく必要がある。VMの作成を OpenStack コマンドなどで行えるとより柔軟なシステムとなるので、今後の大きな課題となっている。
また、HSS はデータの取扱いが主要な用途となるが、研究の現場ではデータ転送が問題になることが多い。データ転送はさまざまな要素が関係するので HSS だけで解決する問題ではないが、転送ツールや性能測定ツール、さまざまなノウハウ共有などが有用であり、今後支援の内容に含めたいと考えている。

6 まとめ
現在までに用意したシステム構築支援で、必要最低限のシステムを構築することができるようになったと考えている。今後は広報や講習会の開催など利用者への案内が重要になると考えている。
また、OS やソフトウェアのアップデートへの対応や新たな機能の導入も必要であり、利用者からのフィードバックを元に、今後さらに有用な支援となるべく開発を継続する予定である。

参考文献[1] 理研データ科学基盤
https://i.riken.jp/data-sci/

24[2] mdx: データ活用社会創成プラットフォーム
https://mdx.jp/[3] 理研研究情報管理サービス
https://dmsgrdm.riken.jp:5000/8mqt9/