Lustre(ラスター)とは | 意味や読み方など丁寧でわかりやすい用語解説

Lustre(ラスター)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ラスタ (ラスタ)

英語表記

Lustre (ラスター)

用語解説

Lustreは、主にスーパーコンピュータや大規模な高性能コンピューティング(HPC)環境で利用される、オープンソースの並列分散ファイルシステムである。その最大の目的は、数千から数万という膨大な数のクライアントコンピュータから、ペタバイト級の巨大なデータ群に対して、極めて高速かつ同時にアクセスする能力を提供することにある。科学技術計算、気象予報シミュレーション、ゲノム解析、金融モデリング、AIの機械学習といった、膨大なデータを処理する必要がある分野で不可欠な基盤技術となっている。一般的なコンピュータに搭載されているファイルシステムが単一のマシン内でファイルを管理するのに対し、Lustreは多数のサーバーとストレージ装置をネットワークで連携させ、全体として一つの巨大で高性能な記憶領域として機能する点が根本的に異なる。これにより、単一のストレージでは到底達成不可能な入出力性能と拡張性を実現している。

Lustreのアーキテクチャを理解することは、その高性能の根源を知る上で重要である。Lustreは主に、メタデータサーバー(MDS)、オブジェクトストレージサーバー(OSS)、そしてクライアントという3つの主要なコンポーネントで構成される。まず、メタデータサーバー(MDS)は、ファイルシステム全体の管理情報を担当する。ここでのメタデータとは、ファイル名、ディレクトリ構造、所有者、アクセス権限、タイムスタンプといった、ファイルの中身そのものではなく、ファイルを管理するための付帯情報全般を指す。クライアントがファイルを開いたり、新しいファイルを作成したりする際には、まずMDSに問い合わせを行い、目的のファイルの所在や操作の許可を得る。MDSが管理するメタデータは、メタデータターゲット(MDT)と呼ばれる専用のストレージ装置に格納される。Lustreでは、このメタデータ管理を専門のサーバーに分離することで、ファイル検索や一覧表示といった操作を高速化している。

次に、オブジェクトストレージサーバー(OSS)は、ファイルの実データ、つまりファイルの中身そのものを管理する役割を担う。ファイルの実データはオブジェクトという単位で扱われ、オブジェクトストレージターゲット(OST)と呼ばれる複数の物理ストレージ装置に分散して格納される。Lustreの最大の特徴は、このOSSとOSTを多数設置できる点にある。サーバーやストレージの台数を増やすことで性能や容量を向上させることをスケールアウトと呼ぶが、Lustreはまさにこのスケールアウトを前提として設計されている。これにより、システム全体のデータ保存容量とデータ転送速度を柔軟に拡張することが可能となる。クライアントはMDSから得たファイルの場所情報に基づき、直接OSSと通信してデータの読み書きを行う。このように、メタデータの操作と実データの操作が異なるサーバー群によって並列に処理されるため、システム全体として高いスループットを維持できるのである。

さらに、Lustreの性能を飛躍的に高めているのが、ストライピングという技術である。これは、一つの大きなファイルを複数の小さな塊に分割し、複数のOSTへ並列に書き込む仕組みを指す。例えば、1つのファイルを10個のOSTに分散して保存すれば、理論上は10台のストレージが同時に読み書きを行うため、1台で処理する場合の10倍の速度が期待できる。ユーザーはファイルごとやディレクトリごとに、この分割数(ストライプカウント)や分割サイズ(ストライプサイズ)を指定でき、扱うデータの特性に応じて最適なパフォーマンスが得られるようにチューニングすることが可能である。

クライアントは、Lustreファイルシステムを利用する計算機であり、専用のクライアントソフトウェアを導入することで、ネットワーク越しにある巨大なLustreファイルシステムを、あたかもローカルディスクの一部であるかのように透過的にマウントして利用できる。アプリケーションプログラムは、特別な変更を加えることなく、通常のファイル操作と同じようにLustre上のファイルにアクセスできる。これらMDS、OSS、クライアントが高速なネットワークを介して連携し、メタデータ処理とデータ処理を分離・並列化することで、Lustreは現代のデータ集約型科学技術計算を支える、極めて高いスループットとスケーラビリティを実現している。