ストレージの新たな選択肢


オープンソースは、かつてファイルサーバーやWebアプリケーションサーバーの世界を変えたように、確実にストレージの世界を変えていく

Storage Magazine 10月号
Chris Evan

 

オープンソース・ソフトウェアはコミュニティをベースとしたソフトウェアの共同開発を本気で且つ善意で推進してきた。この開発の最も顕著な例はLinuxだ。様々なディストリビューションのLinuxが好んでクラウドのOSとして採用され、現在のアプリケーション開発者の主力プラットフォームになっている。

直近の話として、我々はこの精神がDockerという形をとったコンテナ化や構造化SQLやNoSQLそして解析系のツールに適用されたのを見ている。しかし、ストレージはどうだろう?オープンソースのソフトウェア開発の進化は、ストレージの世界を素通りしてしまったのか?そうではなく、ストレージにオープンソースを実装したいと考えるユーザーには選択肢が存在しているのだろうか?

 

オープンソース技術を定義する

まず、我々が言っているオープンソースとは何かを説明しよう。その名が示すようにオープンソースは、その製品のソースコードがオープンで自由にアクセスでき誰からも読めることを意味している。しかし、現実のオープンソースの適用範囲はもうすこし広い。ほとんどのオープンソース技術プロジェクトが、ライセンス条件のもとでプログラムを使えるようにしているからだ。ライセンスは、プログラムがどのように利用または再利用されるか、どのような属性が付与されなければならないか、パテントがカバーする範囲はどこまでか、どのような商用利用ならば許可できるか、を定めている。

GNU’s Not Unix General Public License (GNU GPL)のようなライセンス・スキームでは通常、ライセンシー(ライセンスの認可を受けた人)は自分の作るプログラムに制約を設けない。自由に配布、利用することが求められるプロジェクトのために開発されたそのプログラムにコピーライトが適用される。これは、別な言い方ではコピーレフトとして知られている。最新のGPL 3.0の追加条項で、この部分が確認され、プロジェクトの結果として開発されたパテントは誰でもが自由に利用できる。

ストレージ・ソフトウェア開発にとってこれが意味するものは何だろうか?実際のところ、ストレージプラットフォームの開発は、他のソフトウェア開発と何ら変わらない。従って、オープンソースはストレージにとって理にかなった選択だ。なぜならば、永続的ストレージへの記録でデータの正確さを100%保証しながら、複雑な問題を大規模な共同開発でできるからだ。初期の共有ストレージプラットフォームは、ベンダー独自のハードウェア上で開発されていたので、オープンソース開発の対象として選ばれることはまれだった。しかし、この15年間にわたるサーバーとストレージのコモディティ化の進展により、市販のコンポーネントからコストも安く信頼性も高いストレージプラットフォームを構築する状況が訪れた。ソフトウェア定義のストレージ(SDS)の立ち上がりとともに、オープンソース・ストレージは多数の商用製品がひしめくSDS市場の一角を占めるようになった。

 

何故オープンソース・ストレージなのか

エンドユーザーとして、オープンソース・ストレージ技術を使う理由はなんだろうか?それは、商用SDSと同じように、オープンソース・ストレージはソフトウェアの購入からハードウェアの購入を切り離してくれるからだ。これによって、例えば、自分が面倒をみるハードウェア・プラットフォームの数を最小限にする、などのコスト面、運用面のメリットを考慮したハードウェアの調達、構築、設計が可能になった。通常、自社独自のストレージを販売するベンダーは、ハードウェアに大きな利幅を設けている。ハードウェア・コンポーネントが予約注文で作られていた時代であれば、これは理解可能なことだった。しかし、今日のコモディティ世界では、構成の試験と検証のコストをカバーすること以外の利幅は到底受け入れられない。オープンソース・ストレージのプラットフォームは、そこからさらに一歩進んで、ストレージ・ソフトウェアの設備投資費用をゼロにするものだ。後に残るのは、サポート費用を払うべきか、払うのならどのように払うのか、という事だけだ。実際のところ、オープンソース・ストレージを使う時、ほとんどの企業が直面する主要な問題は、ベンダーかVAR(付加価値再販業者)からサポートが受けられるか、ということだ。

ありがたいことに、サポートの原型となるものは存在する。例えば、Red Hatは自社のRed Hat Enterprise Linux (RHEL)のサポートをすることによって好調なビジネスを展開している。RHELは市販品でありFedoraディストリビューションから派生したものだ。逆に、RHELはCentOSなどのオープンソース技術のディストリビューションとして入手することができる。

オープンソース・ストレージは、標準的な商用ストレージ製品と同レベルの柔軟性を提供する。本番環境で有償サポート付きのオープンソース・ストレージシステムを動かすこともできる。この方法なら、試験と開発は社内サポート付きのストレージ上で行える。このアプローチによって大幅なコスト削減ができる。特に、スケールアウトのオブジェクトストレージの類を必要とする非構造化データには有効だ。

 

製品を選ぶ

オープンソースの技術は、オブジェクトベース、ファイルベース、ブロックベースのストレージ市場の広範な領域における要件を網羅している。一種類のプロトコルで動く製品もあれば、エミュレーションやプロトコルコネクターを介して複数のプロトコルをサポートしているものもある。

 

オブジェクトストレージ

オープンソース・ストレージ製品が属するカテゴリーで最も多いのはオブジェクトストレージだ。通常、コストを低く抑えなければならないアーカイブやバックアップデータの保存先として使われる。

 

Ceph
Sage Weil氏の博士論文をベースに2007年から始まったオープンソース・テクノロジー・プロジェクト。ほとんどのオープンソース・プロジェクトと同様、GitHubから入手できLesser GNU General Public License (LGPL)バージョン2.1でライセンスされている。CephはReliable Autonomic Distributed Object Store (RADOS)として知られる、スケールアウト・分散型オブジェクトストレージである。ストレージ、メタデータサービス、APIサービス、クラスター監視を提供する複数の物理または仮想ノードによって構築される。Cephはオブジェクトの他に、ブロックデータとファイルデータをサポートする。前者はRADOSブロックデバイス、後者はファイルシステム・ゲートウェイのCephFSが使われる。2014年、Red HatはCephのサポートを提供していたInktankという会社を買収した。現在は、もっと堅牢でエンタープライズレベルの機能を実装したCephの商用バージョンを販売している。

 

OpenIO
会社としてのOpenIOは、emailからバックアップ、アーカイブまで様々なアプリケーションをサポートするスケールアウトのオブジェクトストレージを開発している、フランスの会社だ。ソフトウェアの一部は、LGPLバージョン 3で、他の部分は、Affero General Public Licenseバージョン 3でライセンスされている。OpenIOは2006年から開発が始められたが、オープンソースになったのは2012年になってからだ。大半のオープンソース・ストレージ製品と違い、OpenIOはx86とARM両方のプロセッサー・アーキテクチャーをサポートしており、一つのクラスター内に両者を混在させることもできる。

 

Minio
Apache Licenseバージョン2.0でライセンスされている。ソフトウェアは軽く、Dockerコンテナとして、あるいはHomebrewを使ってMacOS上で、またはWindowsやLinux環境でも動作する。この製品もx86とARMをサポートしている。Minioには有償のサポートはなく、コミュニティによるサポートに頼っている。

 

S3 Server
2016年にDockerコンテナイメージとしてScalityからリリースされた。この製品は、その時から60万回以上プルされている。ライセンス条件はApache 2.0。軽量級のシングルノード・オブジェクトストレージとして、S3 Serverを使えば、Amazon Web Services Simple Storage Service APIと互換性を持ったオブジェクトストレージを簡単に作れる。大規模な本番環境では、ユーザーがS3 Serverの代わりに、有償サポートが付いている製品であるRingに移行することをScalityは期待している。

 

Swift
OpenStackのオブジェクトストレージ・コンポーネント。汎用サーバー上で稼働するスケールアウト型ノードベースのオブジェクトストレージを提供する。Swiftはまた、データアクセスに使われるプロトコルの名称でもあり、他の様々なオブジェクトストレージ・ベンダーにサポートされている。SwiftStackは有償サポートを提供しておりSwiftの開発プロジェクトを統率している。

 

ファイルストレージ

Lustre

主にハイ・パフォーマンス・コンピューティング環境で使われている並列ファイルシステム。Open Scalable File Systems(OpenSFS)という団体が管理しているGPLバージョン2でライセンスされており、Linux上で稼働するように設計されている。2017年5月までは、IntelがLustreのソフトウェアのみのデプロイメントを有償でサポートしていたが、すでにサポートを打ち切ったようだ。これによって、現在はDataDirect Networkのような会社がハードウェアとバンドルされた製品としてサポートを行っている。

 

FreeNAS

10年以上も前から存在するオープンソース・ストレージアプライアンス。この製品のソフトウェアは非常に拡張性が高いオープンソースZettabyte File System (ZFS)がベースになっている。IXsystems社がTrueNASというハードウェアアプライアンスと一緒にFreeNASの有償サポートを提供している。

 

GlusterFS
Gluster File Systemと呼ばれることもあるこの製品は、スケールアウトのファイルシステムで、商用ストレージプラットフォームとしてRed Hatからも市販されている。もともとは、Gluster社が2011年にRed Hatに買収されるまでGlusterFSの開発とサポートを行っていた。このソフトウェアは、GPLバージョン3でライセンスされている。GlusterFSは、複数のサーバーやノードのストレージリソースを単一の並列ファイルシステムに統合する。システムを構成するサーバーは、ストレージブリックと呼ばれるストレージプロバイダー(供給者)かストレージコンシューマー(消費者)になれる。ストレージの製品として、GlusterFSの実装は簡単である。分散メタデータ・アーキテクチャーを使っているため、特に大規模なファイルアーカイブに向いている。

 

 

ブロックストレージ

Cinder
OpenStackプロジェクトの一部として、仮想インスタンスのデータを永続保存するためのブロックレベルでのアクセスを提供する。Cinderは、論理ボリュームマネージャーまたはOpenStackを従来のストレージで使えるようにするプラグインを利用してローカルストレージにアクセスする。そのため、サポートはストレージベンダーかOpenStackディストリビューション・プロバイダーから提供される。

 

OpenEBS
コンテナ化されたアプリケーション用にブロックベースのストレージを開発しているオープンソースのプロジェクト。多くのオープンソース・ストレージ開発と同様に、OpenEBSGo言語で書かれApache 2.0でライセンスされている。多くのオープンソース・ストレージ製品に見られる傾向だが、OpenEBSもまだベータの状態で、本番での使用に備えて活発な開発が続いている。

 

Portworks
ストレージ付きのコンテナをベースとしたスケールアウト・ストレージ製品。Portworksは会社として商用エディションのPX-Enterpriseとフリーの開発者向けエディション、PX-Developerを提供している。開発者向けエディションは、拡張性に制限がありGUIもついていないが、開発環境の中では商用製品の代わりに十分使えるものとなっている。また、この製品はパブリッククラウドにデプロイできるという付加価値を持っている。

 

コントリビューターはお返しをする人

オープンソースの技術は、言うまでもなくコミュニティにお返しをすることで成り立っている。だから、誰でもこれまで話してきたプラットフォームの開発に貢献することができる。大企業にとっては、自社の人間がオープンソース・ストレージソフトウェアの開発に関わっているのは理にかなっている。そうすれば、(まったくベンダーのサポートが無い場合や開発テストが目的の場合でも)社内からサポートを受け、新しい機能の統合を指揮する機会が得られる。アーカイブやバックアップなどの長期にわたるデプロイメントでは、オープンソースの保守に関わることによってベンダーが市販製品の販売中止のリスクを軽減できる。

 

自分だけのSDSを作ってみよう

サポート付きの有償オープンソース製品を使わずに、Linux iSCSIターゲットやLinuxのSMBなどのオープンソース・コンポーネントを使って自作のストレージを構築する、という手もある。あなたのストレージ基盤環境、特にZFSファイルシステムと連動するときは、これらのコンポーネントを使ってファイルサービスやブロックサービスを提供できる。とはいえ、開発者のコミュニティ以外、誰からもサポートを受けることができない。この選択肢は、気の弱い人には向いていない。

オープンソース・ストレージ市場は、主要なストレージ・データタイプと多様な使い方に応じた広範な製品群を提供している。通常は、一つの会社がオープンソース製品を開発し、コードをコミュニティに開放しつつそのサポートを行っている。大企業にとっては、普段市販ストレージのプロバイダーから受けているレベルのサポートが受けられないため、オープンソース製品の使用は難しいと映るだろう。しかし、時間はかかるだろうがオープンソースはストレージ世界に重要な貢献をするようになるだろう。

 

 

著者略歴:Chris EvansはLangton Blueをベースに活動する独立系コンサルタント。

 

 

Copyright 2000 - 2017, TechTarget. All Rights Reserved, *この翻訳記事の翻訳著作権は JDSF が所有しています。 このページに掲載されている記事・写真・図表などの無断転載を禁じます。