CloudNative Days Spring 2021 ONLINEレポート 11

CNDO2021、シーゲートがリードするオブジェクトストレージCORTXを解説

S3互換のオブジェクトストレージCORTXの概略を紹介する。

松下 康之 - Yasuyuki Matsushita

2021年7月26日 6:00

CloudNative Days ONLINE 2021から、日本シーゲートのエンジニアがオープンソースソフトウェアのオブジェクトストレージCORTXを解説するセッションを紹介する。

シーゲートが開発するS3互換のオブジェクトストレージ、CORTX

シーゲートが開発するS3互換のオブジェクトストレージ、CORTX

CORTXは、Seagateが開発するソフトウェアデファインドストレージ(SDS)であり、AWSのストレージであるS3互換のオブジェクトストレージだ。プレゼンテーションを担当したのは、日本シーゲート株式会社の担当技師、岩田太郎氏だ。

CORTXとは

CORTXとは

このスライドのポイントは、箇条書きの部分ではなく、GitHubのURLからわかるようにSeagateの配下にコードが置かれているという部分だろう。

CORTXとよく似た名前のプロジェクトにCortexというものがある。こちらは、CNCFがホストするPrometheus as a Serviceを実装するオープンソースソフトウェアだ。CortexはWeaveworksが開発をスタートさせ、オープンソースソフトウェアとして公開し、現在はCNCFのIncubationプロジェクトとして活動を行っている。

通常は企業がスタートさせたオープンソースソフトウェアは、コミュニティに軸を移すタイミングで企業配下のURLから独立していくパターンが多い。CORTXがSeagateの配下であることは、問い合わせのメールアドレスが「cortx-questions@seagate.com」であることからも明らかだ。CORTXは、イギリスのSeagate支社によるHPC用のストレージをゼロから作り上げようという試みから、SAGE/SAGE2というリサーチプロジェクトのファンディングを元に2012年頃から開発が始まったというのが、GitHubのFAQに書かれているCORTXの経緯の概略だ。

参考:Seagate / cortx Frequently Asked Questions

FAQ全体をよく読むと「University of Edinburgh is.. CEA is..」のように未完成なままのセンテンスもあり、SeagateがCORTXにかける労力がそれほどでもないことがわかる。またARM版は?という質問に対する「現在、開発中」という素っ気ない回答や「CentOSのサポート終了に対して別のディストリビューション、例えばRocky Linuxを検討するのか?」に対する熱意の感じられない回答などを見ても、コミュニティで盛り上がっているというよりもSeagateがベンダーとしてコントロールしている感が強い。

ちなみにオープンソースの分散ストレージCephのオープンソース化が2006年、S3互換のオブジェクトストレージを実装するMinIOが2014年創業なので、この分野はそれほど長い歴史があるわけではない。MinIOは、Red Hatが買収したGlusterの共同創業者が創設したオブジェクトストレージに特化したベンチャーだ。

CORTXの概要

CORTXの概要

このスライドはCORTXのコンポーネントについて解説している。CentOS 7.9をベースにRabbitMQ、Consulなどを組み合わせて実装されている。

CORTXのアーキテクチャー

CORTXのアーキテクチャー

データプレーン、コントロールプレーンに分かれたデータパスがノード上のコンポーネントと通信を行いながら、分散オブジェクトストレージを実装している。ちなみにコアのコンポーネントはMotrと呼ばれる分散ストレージシステムで、基本的なデータストアAPIが用意され、メタデータはキーバリューストアであるConsulを使って実装されている。

CORTXの管理画面

CORTXの管理画面

ここではパフォーマンスをグラフィカルなインターフェイスで参照できることを説明し、AWSのID管理であるIAMと統合されていることを強調した。

CORTXのコア、Motrの解説

CORTXのコア、Motrの解説

MotrはCORTXのコアとして動作する分散データストアエンジンで、FAQによればLustre File Systemの初期の開発者がそのデザインに関わっているという。拡張性という部分ではスケールアウト、スケールアップの両方に対応できる設計になっているようだ。

CORTXがサポートするAPI

CORTXがサポートするAPI

このスライドではS3のAPI、アクセス管理のためのIAMのAPI、さらにアラートやヘルスチェックのためのAPIが実装されていることが説明された。

CORTXのユースケースを紹介

CORTXのユースケースを紹介

ここではCORTXのユースケースとして、ヨーロッパのリサーチプロジェクトSAGE/SAGE2で利用されていることが紹介された。もともとイギリスのSeagateから始まったこともあり、ヨーロッパでの利用が多いことは理解できる。

他にもヨーロッパでは多くのユースケースがあるCORTX

他にもヨーロッパでは多くのユースケースがあるCORTX

他にもMAESTROやESiWACE2(気象シミュレーション)などのプロジェクトでCORTXと関連するコンポーネントが使われていることを紹介した。2021年4月にSeagateが公開したニュースレターでは、University of ChicagoやUniversity of Wisconsin-MadisonなどでCORTXを使った実験や研究が進んでいることもわかる。しかし日本や北米の企業でのユースケースが確認できないのは残念と言えよう。

2021年4月のニュースレター(PDF)

Seagateのストレージを使ったリファレンスアーキテクチャーを紹介

Seagateのストレージを使ったリファレンスアーキテクチャーを紹介

ここではエッジでの構成、ラックマウントの際の構成をリファレンスアーキテクチャーとして紹介した。

データセンタークラスターでの構成例を紹介

データセンタークラスターでの構成例を紹介

最後に技術的なトピックとして、COTRXが採用するHierarchical Erasure Codingを簡単に紹介してセッションを終えた。

エンクロージャーごとに分離された範囲でイレイジャーコーディングを実施

エンクロージャーごとに分離された範囲でイレイジャーコーディングを実施

約14分という短い時間の中でCORTXの概要を紹介したセッションとなったが、MinIOやCephなどとの比較や高い性能が要求されるHPCでの技術的な優位点などに絞って紹介するべきだったのではないか。Seagateの所有物という空気を一掃するためにも、Seagateのエンジニアによるオープンソースプロジェクトらしい啓蒙活動に期待したい。

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る