ブロック・ストレージ

menu icon

ブロック・ストレージ

このガイドでは、ストレージ・エリア・ネットワーク(SAN)またはクラウド・プラットフォームにデータ・ファイルを保存するために使用されるストレージの一種である、ブロック・ストレージの基本についてご説明します。

ブロック・ストレージとは

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

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

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

ブロックとオブジェクトとファイル・ストレージ

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

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

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

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

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

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

オブジェクト・ストレージの詳細については、次の資料をご覧ください。「オブジェクト・ストレージ:完全ガイド」、動画「オブジェクト・ストレージとは」

IBM Cloud Object Storage: ビジネスのためのクラウド・ストレージ(04:10)

ファイル・ストレージ

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

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

ファイル・ストレージの詳細については、「ファイル・ストレージ:完全ガイド」をご覧ください。

次の動画では、Amy Bleaがさまざまなストレージ・タイプとそのユースケースの概要をご紹介します。

ブロック・ストレージと ファイル・ストレージ(04:03)

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

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

仮想マシンの詳細については、「仮想マシン:完全ガイド」を参照してください。

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

ブロック・ストレージとコンテナ

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

エンタープライズ環境で複数のコンテナのオーケストレーションが行われるコンテナ化において、ブロック・ストレージが持つ速度と、単一のホストで複数のブロックをマウントできるネイティブ機能はメリットとなります。

ブロック・ストレージがどのようにコンテナ化に役立つかの詳細については、コンテナと永続ストレージに関するこちらをご覧ください。

コンテナとコンテナ化の包括的な概要は、「コンテナ:完全ガイド」と「コンテナ化:完全ガイド」をご覧ください。

ストレージ・エリア・ネットワーク

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

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

SANテクノロジーの詳細については、「ストレージ・エリア・ネットワークの概要」をダウンロードしてください。

RAIDアレイ

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

RAIDテクノロジーについて詳しくは、「ディスク・アレイ」を参照してください。

オープンソース

従来のベンダー中心の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

IBM Cloud Block Storageは、パートナー、企業、組織のブロック・ストレージのニーズを支援するために、SANの永続性と耐久性、カスタマイズ可能なIOPS、明瞭な料金体系とともに、flash-backedのローカル・ディスク・パフォーマンスの実現に取り組んでいます。

多くの特徴と機能を備えたIBM Cloud Block Storageの詳細をご覧ください。

IBMidとIBM Cloudアカウントにご登録ください。