これまで従来のストレージに関する基礎を学んできました。本日は、これまで学んできたものとは少し違ったストレージを学んでいきたいと思います。
新しい形のストレージの登場
今も昔もストレージの役割はデータを格納することですが、ITの普及により格納されるデータの量は急激に増大し、また扱うデータの種類も従来のデータベース等の構造化データから、画像、音声、センサーデータ、テキストデータといった非構造化データまで多種多様に変化してきました。
そのため、ストレージに求められる要件についても、より柔軟な拡張性や非構造化データの扱いやすさといった従来のストレージとは異なる内容に多様化しはじめました。
そういったニーズの中、数年前、サーバの処理能力やネットワーク帯域などのスペック向上により、迅速かつ柔軟な拡張性を提供することのできる新しい形のストレージとしてソフトウェア・デファインド・ストレージ (SDS)が登場しました。
そして近年では、クラウドが登場したことやIoTやAIといった分野において莫大な非構造化データを正しく確実に管理することが必要になったこと、スピード感のある開発手法への変化などに耐えうるストレージの需要が増したことへの対応ソリューションの1つとしてオブジェクトストレージが登場しました。
今回、この2種類のストレージに関してご紹介させていただきます。
ソフトウェア・デファインド・ストレージ (SDS)とは
ソフトウェア・デファインド・ストレージ (SDS)とは、ストレージ・ソフトウェアがハードウェアから分離しているストレージ・アーキテクチャのことを指します。
ストレージ管理のためのソフトウェアがハードウェアから切り離され、さまざまなハードウェアの上で動作するよう設計がされているという点が特徴のストレージです。
SDSには、一般的に以下のような定義があります。
管理の自動化 | SDSに搭載されている機能やAPIを用いて管理を自動化することで、運用の複雑性やコストの削減が可能であること。 |
---|---|
インターフェースの標準化 | 異なるノードやリソースをRESTなどの標準的なAPIから管理することが可能であること。 |
仮想化されたデータパス | ブロック、ファイル、オブジェクト等の多様なインターフェースに対応可能であること。 |
スケーラビリティ | 可用性やパフォーマンスに影響なく、柔軟にリソースの拡張を実施することが可能であること。 |
リソース透過性 | リソース利用率やコストなどをモニタリングし管理できること。 |
表 1 : ソフトウェア・デファインド・ストレージ (SDS)の定義
従来型のストレージとSDSの違い
従来のストレージであるStorage Area Network (SAN) を構築してボリュームを提供するブロックストレージやNetwork Attached Storage (NAS)、すなわちファイルストレージでは、独自のハードウェアによってボリュームの提供がなされます。
ブロックストレージでは、筐体内のディスクを仮想的に1つにまとめて(ストレージプールなどと呼ばれます)、そのまとまりから必要な容量を切り出すことによってボリュームの提供をし、ファイルストレージでは、必要な容量を設定したディレクトリを共有する形でのボリュームの提供をしています。
それに対し、SDSは業界標準のサーバ上で動作するように設計されており、サーバ上の物理ディスク容量を用いてプロビジョニング、オーケストレーション、管理を行います。
SDSを用いることによるメリットとしては、以下があげられます。
制限がない | 従来型のストレージでは、性能はコントローラ性能で頭打ち、容量は搭載可能なディスク数で頭打ちであることに対し、SDSではこの意味での制限がありません。 |
---|---|
必要に応じたハードウェアの選定、及び柔軟なスケーリング | 拡張が必要になった際に、必要最低数のディスクを搭載した独自ハードウェアを購入する必要はなく、既存サーバの要件に合った物理ディスクを選択することができます。 |
コスト最適化の容易性 | SDSでは、スケールアップだけでなくスケールアウトに関してもソフトウェアで行われ、予定コストに見合った容量やパフォーマンスを個々に調整することが容易に実施できます。 |
自動化の容易性 | ストレージを一般的なサーバ上で構築するため、さまざまな手法を用いた自動化が可能です。 |
ハードウェアベンダーロックインを受けない | サーバのベンダーを選ばないため、ベンダーロックインに陥ることがありません。 |
表 2 : ソフトウェア・デファインド・ストレージ (SDS)のメリット
ソフトウェア・デファインド・ストレージのユースケースであるHCI
SDSのユースケースの1つとして、ハイパー・コンバージド・インフラストラクチャー(HCI)というものがあります。
HCIとは、仮想化基盤インフラを構築するために必要であるサーバ、ネットワーク、ストレージを1つにまとめて提供されるアプライアンス製品のことを指します。
ここで、ストレージを統合する際に、SDSが使われております。
HCIでは、サーバをネットワークに接続することでスケールアウトができるため、容易にパフォーマンスを高め、容量を拡張することができます。また、ストレージが不要となり、複数のノードを1つの場所に集約することができるという点で、省スペースやコスト削減を実現できることや、複雑なネットワークの設定が不要であるなど、管理の面でも多くのメリットをもっています。
SDS製品例
各種ベンダーから提供されているSDS製品としては、以下のものがあげられます。
ベンダー | SDS製品 |
---|---|
VMware | vSAN |
Nutanix | Nutanix |
Microsoft | Software Defined Storage |
表 3 : 各種ベンダーから提供されているSDS製品例
また、SDSを搭載したHCI製品についても各種ベンダーから提供されています。
ベンダー | HCI製品 |
---|---|
Dell Technologies | VxRail |
Nutanix | Nutanix |
Hewlett Packard Enterprise | SimpliVity |
NetApp | NetApp HCI |
表 4 : 各種ベンダーから提供されているHCI製品例
オブジェクトストレージとは
オブジェクトストレージでは、データとデータに関連するすべてのメタデータ(そのデータがどういうものなのかを示す情報)を論理的に1つのセットとしこれをオブジェクトと呼びます。
このオブジェクトにストレージシステムの中で固有のIDが付与され、ファイルストレージのような階層構造をもたない空間で管理されます。
アクセス方式の違い
従来型のブロックストレージおよびファイルストレージとオブジェクトストレージとでは、アクセス方式に以下の違いがあります。
オブジェクトストレージでは、基本的にREST APIを用いてデータの格納および取得を行います。例えば、データの配置はPOST、データの取得はGETといった内容です。
またオブジェクトストレージには、S3互換と呼ばれる製品がありますが、これはオブジェクトストレージの中でも広く利用されているAmazon S3が利用するAPIと互換性のあるAPIを用いて、データの操作が可能であることを指します。
オブジェクトストレージの利点
オブジェクトストレージでは、以下の利点があげられます。
非構造化データに最適 | 詳細なメタデータを使用できるため、非構造化データを保存するのに最適です。 |
---|---|
分散保存による可用性の向上 | フラットな空間にデータを格納し、実データはノード間で分散して格納したうえでIDを用いて管理するため、ストレージの格納場所にデータが縛られず、地理的に離れた場所へスケールアウトが可能になります。 |
多彩な用途 | Webアプリケーションやデータ分析基盤のような、非構造化データに対して頻繁にアクセスして活用することを主とした用途や、アクセス頻度が比較的少ない長期保存を主目的とした用途など、さまざまな手法に対して用いることができます。 |
表 5 : オブジェクトストレージの利点
オブジェクトストレージのユースケース
オブジェクトストレージには以下のようなユースケースが考えられます。
ビッグデータ分析 | イベントやログ、金融データ、写真や動画などのメディアファイルなど、あらゆるデータを保存することが可能であるため、ビッグデータ分析のデータレイクとしてオブジェクトストレージを活用することができます。 |
---|---|
バックアップとアーカイブ | あらゆるデータを、格納場所を意識せず保存することが可能であるため、遠隔地へのバックアップや、アクセス頻度の低いデータを長期保存するアーカイブなどに向いています。 |
アプリケーションからの利用 | ファイルのアップロードやダウンロードなどの全ての操作がHTTPプロトコルを用いて実施されるため、サーバからだけでなくモバイル端末など幅広いデバイスに対してのアプローチが可能になります。 |
表 6: オブジェクトストレージのユースケース
オブジェクトストレージ製品例
オブジェクトストレージはオンプレミス、パブリッククラウド共にさまざまな選択肢が提供されています。
ベンダー | 製品名 |
---|---|
Dell Technologies | ECS |
NetApp | StorageGRID Webscale |
IBM | Cloud Object Storage |
OSS | MinIO (S3互換) |
表 7 : オブジェクトストレージの製品例 (オンプレミス)
ベンダー | 製品名 |
---|---|
AWS | S3 |
NetApp | StorageGRID Webscale |
GCP | Cloud Storage |
Azure | Blob Storage |
表 8 : オブジェクトストレージの製品例 (パブリッククラウド)
まとめ
今回取り扱った内容は以下の通りです。
ソフトウェア・デファインド・ストレージ
・ソフトウェアを用いて複数のサーバ上に分散した物理ディスクからプロビジョニングすることが可能。
・サーバーを追加することで、容量、性能ともに上限なく柔軟に拡張できる。
オブジェクトストレージ
・データとデータに関連するすべてのメタデータを論理的に1つのセットとし、これをオブジェクトとして管理する。
・アクセスはHTTPプロトコルを用いて行われる。
おわりに
ストレージの基礎講座は今回で最終回となります。「ストレージとは何?」から始まり、RAIDやメディアの種類、ストレージが提供する機能、そして新しいストレージについて学んできました。
連載を通じてみなさまのストレージに対する理解のお役に立ちましたら幸いです。それではまたいつか、地味でディープなストレージの世界でお目にかかりましょう。
[ 著者紹介 ]
上津 亮太朗
デル・テクノロジーズ株式会社 プロフェッショナルサービス事業本部 ソリューションアーキテクト
2018年に新卒として入社後、ストレージの設計・導入・構築、Ansible等を用いたサーバ・ストレージの構築自動化、Kubernetesの導入支援などに従事している