ホーム topics ブロック・ストレージとは ブロック・ストレージとは
ブロック・ストレージは、ストレージ・エリア・ネットワーク(SAN)またはクラウド・ベースのストレージ環境に、データ・ファイルを保存するために使用される技術です。
黒と青のグラデーションの背景
ブロック・ストレージとは

ブロック・ストレージは、ブロック・レベル・ストレージと呼ばれることもあり、ストレージ・エリア・ネットワーク(SAN)またはクラウド・ベースのストレージ環境にデータ・ファイルを保存するために使用されるテクノロジーです。 高速で効率的、かつ信頼性の高いデータ転送が必要なコンピューティングのシナリオにおいて、開発者からの支持を集めています。

ブロック・ストレージでは、データがブロックに分割され、それぞれに一意の識別子が付けられて個別の断片として保存されます。 SANは、これらのデータ・ブロックを最も効率的な場所に配置します。 つまり、これらのブロックを複数の異なるシステムに格納でき、各ブロックをさまざまなオペレーティング・システムで動作するように構成(またはパーティション化)できます。

ブロック・ストレージはまた、データをユーザー環境から切り離して、複数の環境に分散することを可能にします。 これにより、データへの複数のパスが作成され、ユーザーはデータをすばやく取得できます。 ユーザーまたはアプリケーションがブロック・ストレージ・システムにデータを要求すると、基盤となるストレージ・システムがデータ・ブロックを再構築して、そのデータをユーザーまたはアプリケーションに提供します。

ブロック・ストレージ、オブジェクト・ストレージ、ファイル・ストレージの比較

データ・ストレージの世界には、ブロック・ストレージ以外の選択肢も存在します。 開発者は、オブジェクト・ストレージやファイル・ストレージなどの他のシステムも使用します。 いずれもその最終的な目的はユーザーとアプリケーションにデータを提供することですが、それぞれ、データの保存と取得の方法が異なります。

オブジェクト・ストレージ

オブジェクト・ストレージは、オブジェクト・ベース・ストレージとも呼ばれ、データ・ファイルをオブジェクトと呼ばれる断片に分割します。 次に、それらのオブジェクトを単一のリポジトリーに格納します。このリポジトリーは、複数の ネットワーク化された システムに分散できます。

実際には、アプリケーションによってすべてのオブジェクトが管理されるため、従来のファイル・システムは必要なくなります。 各オブジェクトには一意のIDが付与され、アプリケーションはこれによってオブジェクトを識別します。 また、各オブジェクトにはメタデータ(オブジェクトに保存されているファイルに関する情報)が格納されています。

オブジェクト・ストレージとブロック・ストレージの重要な違いの1つは、それぞれがメタデータを処理する方法です。 オブジェクト・ストレージでは、メタデータをカスタマイズして、オブジェクトに保存されているデータ・ファイルに関する追加の詳細情報を含めることができます。 例えば、動画ファイルに付随するメタデータをカスタマイズして、その動画が作成された場所、動画の撮影に使用されたカメラのタイプ、さらには各フレームでキャプチャーされた被写体を記録しておくことができます。 ブロック・ストレージでは、メタデータは基本的なファイル属性に限定されます。

ブロック・ストレージの場合、ファイルに変更が加えられると新しいオブジェクトが作成されるため、頻繁に変更されない静的ファイルに最適です。

ファイル・ストレージ

ファイル・ストレージは、ファイル・レベルまたはファイル・ベースのストレージとも呼ばれ、通常、ネットワーク接続ストレージ(NAS)テクノロジーに関連付けられています。 NASは、従来のネットワーク・ファイル・システムと同じ考え方に基づき、ユーザーとアプリケーションにストレージを提供します。 つまり、ユーザーまたはアプリケーションは、ディレクトリー・ツリー、フォルダー、個々のファイルを介してデータを受け取ります。 これは、ローカルのハード・ディスクと同様に機能します。 ただし、NASまたはネットワーク・オペレーティング・システム(NOS)は、アクセス権、ファイル共有、ファイル・ロック、およびその他の管理を行います。

ファイル・ストレージの構成は非常に簡単ですが、データへのアクセスは単一のパスによって制限されるため、ブロック・ストレージやオブジェクト・ストレージと比較してパフォーマンスに影響が生じる可能性があります。 また、ファイル・ストレージは、Windowsの場合はNew Technology File System(NTFS)、Linuxの場合はNetwork File System(NFS)など、一般的なファイル・レベルのプロトコルでのみ動作します。 これにより、異なるシステム間でのユーザビリティーが制限される可能性があります。

次の動画では、IBMのAmy Bleaがブロック・ストレージとファイル・ストレージを比較しています。

ブロック・ストレージの例

ブロック・ストレージを使用すると、サーバー・ベースのオペレーティング・システムが接続できるロー・ストレージ・ボリュームを作成できます。 このロー・ボリュームは、個別のハード・ディスクとして扱うことができます。 これにより、ファイル・ストレージ、データベース・ストレージ、仮想マシン・ファイル・システム(VMFS)ボリュームなど、ほぼすべての種類のアプリケーションにブロック・ストレージを使用できます。

例えば、企業全体に仮想マシンを導入する場合を考えてみましょう。 ブロック・ストレージを使用すると、VMFSを格納するためのブロック・ベースのストレージ・ボリュームを簡単に作成・フォーマットできます。 その後、物理サーバーをそのブロックに接続して、複数の仮想マシンを作成できます。 さらに、ブロック・ベースのボリュームを作成し、オペレーティング・システムをインストールして、そのボリュームに接続することで、ユーザーはそのネイティブのオペレーティング・システムを使用してファイルを共有できるようになります。

プライベートクラウドの導入は、ブロック・ストレージが持つもう1つの優れた用途です。 プライベートクラウドとブロック・ストレージの詳細については、ブロック・ストレージとファイル・ストレージを使用した仮想化プライベートクラウドの拡張をとりあげた、IBM Garageによる仮想化の解説をご覧ください。

仮想マシンについての詳細はこちら
ブロック・ストレージとコンテナ

ブロック・ストレージは、その柔軟性から、コンテナにとって最適なものとなっています。 コンテナ は、仮想化が物理ハードウェアからオペレーティング・システムを抽象化するのと同じように、オペレーティング・システムからアプリケーションを抽象化します。 ブロック・ストレージを使用すると、コンテナをすばやく定義して起動できます。 コンテナは、 ブロック・ストレージの速度と、単一ホストが複数のブロックをマウントできるネイティブ機能のメリットを活用できます。

SANおよびRAIDアレイ

SAN

開発者は、ブロック・ストレージの導入に、ストレージ・エリア・ネットワーク(SAN)を使用することがよくあります。 SANは、データ・ストレージへのアクセスを提供するコンピューター・ネットワークです。 SANを使用すると、ブロック・ストレージは、他のネットワーク・システムからはローカルに接続されたデバイスであるかのように見えます。 例えば、サーバーは、データ・ネットワーク接続(ファイバー・チャネル、Internet Small Computer System Interface(iSCSI)、Infinibandなど)を使用してSANに接続することで、ローカルにアクセス可能なボリュームであるかのようにブロックにアクセスできます。 また、SAN上に複数のストレージ・アレイを構成することも、SANに複数のサーバーを接続することもできます。

SANは、多くの要素や層で構成されています。 1つ目は、ネットワーク・オペレーティング・システムを実行するサーバーからなるホスト層です。このサーバーは、ケーブルを使用してストレージ・ネットワークに接続されたホスト・バス・アダプター・カードを介して、データ・ネットワークに接続されます。 ホスト層は、SANスイッチ、ルーター、プロトコル・ブリッジ、ゲートウェイ・デバイス、ケーブルなどのデバイスの集合である、ファブリック層に接続されます。 ファブリック層は、ディスク・ドライブ、磁気テープ、光メディアなどの物理ストレージ・デバイスで構成されるストレージ層と相互作用します。

RAIDアレイ

ブロック・ストレージは、それ単体では十分な冗長性を備えていません。そのため、ミッション・クリティカルなブロック・ストレージの実装においては、RAIDアレイを検討することが重要になります。 RAID(Redundant Array of Independent Disks)は、データを複数のドライブに書き込むことによって保護します。1つのディスクで障害が発生しても、通常、ユーザーが中断に気付くことなく他のディスクの情報によって置き換えることができます。

オープンソースのソリューション

従来のベンダー中心のSANソリューションに代わるオープンソースの選択肢が増え、ほぼ毎日新しいプロジェクトが出現する一方で、確立されたプロジェクトも改良と機能追加が行われ続けています。 オープンソースのプロジェクトであるFreeNASは、ブロック・ストレージとソフトウェア定義のRAIDの両方を提供します。Openfilerもまたオープンソースのストレージ・ソリューションであり、ブロック・ストレージとRAIDをサポートしています。

オープンソースはストレージ・セクターで大きな将来性が見込まれているものの、たしかな成功には専門知識が欠かせません。そのため、今日のストレージ管理者は、ベンダーによるサポートとサービスを活用することが必要になるものと考えられます。

Block Storage as a Service

Block Storage as a Service(BSSaaS)は、 Enterprise Storage as a Service (ESaaS)というさらに大きなカテゴリーに分類されます。クラウド・ベースのストレージを検討するうえで、ESaaSでは、データ・ストレージのニーズに応じてブロック・ストレージ、ファイル・ストレージ、またはオブジェクト・ストレージから選択できます。 ほとんどの場合、ユーザーはESaaSを使用するにあたり、IaaSまたはPaaSのソリューションも選択して、アプリケーションとサーバーをクラウドに直接導入する必要があります。

ブロック・ストレージのスケーリング

ストレージでは、需要に対応できることが極めて重要となります。 ストレージの消費量は飛躍的に増加しています。 ブロック・ストレージはコンピューティング・リソースからは独立しているため、スケールアウトは、ESaaSプロバイダーで追加のブロック・ストレージ・ボリュームを作成するだけで実施できます。

 ハイブリッドクラウド によるアプローチを採用している企業の場合、スケールアウトには追加のハード・ディスクまたはRAIDアレイの購入が必要になることがありますが、スケールアウトの実際のプロセスは比較的同じです。 追加のブロック・ストレージ・ボリュームをプロビジョニングすることが、使用可能なストレージの容量を増やすための第一の要件となります。 スケールアウトとブロック・ストレージの詳細をご覧ください。

関連ソリューション
IBM Cloud Block Storage

IBM Cloud Block Storageは、SANの持続性と耐久性を備えた、flash-backedのローカル・ディスク・パフォーマンスを提供します。

IBM Cloud Block Storageの詳細はこちら
参考情報 オブジェクト・ストレージとは

オブジェクト・ストレージ(オブジェクト・ベース・ストレージとも呼ばれる)は、大量の非構造化データを処理するデータ・ストレージ・アーキテクチャーです。

ストレージ・エリア・ネットワーク(SAN)の概要

SANがどのようにスケーラビリティー、可用性、アプリケーション・パフォーマンスを向上させるかについて説明します。

コンテナとは

コンテナは、アプリケーション・コードをライブラリーの依存関係とともにパッケージ化したソフトウェアの実行単位であり、デスクトップ、従来のIT、クラウドなど、どこに置かれていても実行できます。

次のステップ

IBM Cloudは、2つのブロック・ストレージ・ソリューションを提供します。IBM Cloud Block Storage for VPCは、論理的に分離されたソフトウェア定義のIBM Cloud VPCネットワーク内で、仮想サーバーやコンテナ向けに豊富な機能と高いパフォーマンスを備えたSANオプションを提供します。IBM Cloud Block Storage(クラシック・インフラストラクチャー)は、IBM Cloud Bare Metal Serversを含む、すべてのクラシックIBM Cloudコンピュートおよびコンテナ・オプションで利用可能です。 どちらのソリューションも、カスタマイズ可能なIOPS、予測可能な課金、スナップショットなどを提供します。

IBM Cloud上のブロック・ストレージの詳細はこちら