AI Infrastructure
Configuration Example

AI基盤構成例

AIGFS上に保存される研究データ、学習データ、共有データ群を「Dataset」という論理単位で管理し、利用者がWeb UIを通じて安全かつ容易に操作できる基盤の提供を目的として開発されています。

運用時にはDataset単位での管理を前提とし、単一ディレクトリーへのデータ集中を防ぐことで、スケーラブルなデータ管理を実現します。また、バージョン管理による適切なディレクトリー分割が自然に行われるため、メタノードへのアクセス集中を抑制し、大規模環境においても安定した運用を可能にする設計となっています。

実装上注意が必要な項目

Webに AIGFS 全権限を持たせすぎない

dataset worker 用の専用実行ユーザーを分ける

直接 rename / mv だけで済む設計はNG

大容量では複製・整合性確認・段階遷移を十分考慮する

“削除” は即物理削除にしない

  • deprecated
  • archived
  • purge pending

バージョンの上書き更新を防ぐ

学習再現性の確保

dataset 名と物理パスを1対1固定にしすぎない

将来のtier移動や複製が発生する

主要機能

1. データセット登録

研究データの登録と同時に、ディレクトリ作成、アクセス権設定、配置先ストレージの初期設定を自動化します。

項目内容
dataset Nameデータセット名
projectプロジェクト
owner管理者
tags検索タグ
storage tierFast / Staging / Cold
visibility公開範囲

実行結果

  • DBに dataset レコード作成
  • AIGFS 上にディレクトリ作成
  • 所有権/ACL設定

必要時は aigfs entry set --num-targets=.. を設定可能にする


2. バージョン管理

データセットの履歴管理、推奨版の切替、旧版保護をGUIから実行できます。

新バージョン作成

v3などの新しい版を作成

現在の推奨版を v2 に切替

currentを任意の版へ変更

旧版の保護

過去バージョンを読み取り専用化

例:


/datasets/genome-atlas/current
/datasets/genome-atlas/versions/v1
/datasets/genome-atlas/versions/v2

3. Promote / Fast Tier移動

UIでは:

Fast Tierへ昇格


TTL付き配置


Fast Tierから解除

実行処理

  • rsync / cp / reflink を利用してデータを配置
  • 処理完了後に DB の physical location を更新
  • 実体移動または複製のいずれにも対応

4. 別拠点、別クラスタへのReplicate

Web UI:

  • 複製先選択
  • 帯域制御
  • スケジュール
  • 増分同期
  • 完了確認

DB 管理項目:

管理項目内容
source dataset version複製元バージョン
destination cluster複製先クラスタ
replicate job statusジョブ状態
last success最終成功時刻
lag同期遅延

5. 公開非公開制御

状態管理例:

下書き
draft
取込中
ingesting
検証中
validating
公開
published
保管
archived
廃止
deprecated

これに統一することで、単なるファイル共有でなく”管理された dataset platform” にも見せることが可能。


6. 検索

何が存在するかを目標にスタイルをデザイン

dataset名
project
owner
tag
version
更新日
サイズ
ファイル数
複製先
公開状態

Web処理に至る前提として、internal job API → worker とする。

※時間を浪費する場合はCLi依存の形式に更新する。

流れ:

  1. Web で dataset 作成
  2. API が job 登録
  3. worker が AIGFS 上の作業実行
  4. 結果を DB 反映
  5. Web で進捗表示

利点:

  • 長時間処理に強い
  • 再試行しやすい
  • 監査ログを残しやすい
  • 失敗状態を明示できる

7. ディレクトリ設計


/beegfs/datasets/
staging/
project-a/
ds-000123/
published/
project-a/
genome-atlas/
versions/
v1/
v2/
current -> versions/v2
fast/
project-a/
genome-atlas/
v2/
archive/
project-a/
genome-atlas/
v1/

8.DB設計

DB テーブルの構成

datasets

データセットの基本情報

  • id
  • dataset_key
  • display_name
  • description
  • owner_user
  • owner_group
  • project
  • status
  • created_at
  • updated_at
最小テーブルで可

dataset_versions

バージョン管理情報

  • id
  • dataset_id
  • version_label
  • logical_path
  • physical_path
  • storage_tier
  • size_bytes
  • file_count
  • checksum_status
  • immutable_flag
  • created_at
最小テーブルで可

dataset_replicas

レプリケーション管理

  • id
  • dataset_version_id
  • target_site
  • target_path
  • sync_status
  • last_sync_at

jobs

ジョブ管理

  • id
  • job_type
  • object_type
  • object_id
  • requested_by
  • status
  • started_at
  • ended_at
  • log_path
  • error_message

acl

アクセス制御

  • id
  • dataset_id
  • principal_type
  • principal_name
  • role

権限管理

研究データ管理では、UNIX 権限のみでは運用要件を満たせないケースがあります。
AIGFSでは Webアプリケーションによるロール管理と、OSレベルのアクセス制御を組み合わせて運用します。

Web 側で考慮

ロールベースによるアクセス制御

Role Description
Owner データセット所有者
Editor データ編集権限
Publisher 公開管理権限
Reader 閲覧のみ
Admin システム管理者

OS側: 最低限担保

ストレージレベルの保護機能

POSIX ACL ユーザー・グループ単位のアクセス制御
Group Control 研究プロジェクト単位で権限管理
Read-only Protection 誤削除・誤更新を防止
Immutable Dataset 公開後の変更を禁止

画面構成例

1. Dashboard

  • dataset総数
  • fast tier 使用量
  • 複製待ち
  • エラーjob
  • 最近更新

2. Dataset一覧

  • 検索
  • フィルタ
  • 状態
  • owner
  • size
  • version数

3. Dataset詳細

  • メタ情報
  • version一覧
  • 格納パス
  • 利用量
  • 複製状況
  • 履歴
  • 操作ボタン
    • 新version
    • publish
    • promote
    • replicate
    • archive

4. Job monitor

  • 実行中
  • 完了
  • 失敗
  • ログ参照

5. Admin

  • tier設定
  • RBAC
  • replication policy
  • retention policy

技術スタック

Backend

Python FastAPI

Database

PostgreSQL

Authentication

Keycloak / LDAP / AD

Frontend

React / Next.js

Queue

PostgreSQL Based Queue

Worker

Go