【ぶろっくすとれーじ】

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

最終更新:
💡 サーバから、番地を指定して読み書きする保存領域

サーバからアドレスを指定して読み書きする、ブロック単位のストレージ。ファイルやオブジェクトとの違い、性能条件、複数サーバで共有する注意点を解説します。

📌 このページのポイント
ブロックストレージ:番地で読み書きアプリでファイルを使う例文書や画像を扱うファイルシステム名前・フォルダ・保存場所を管理ブロックストレージ番地0番地1番地2…性能と、同時利用時の整合性を確認
ファイルを使う要求を下の層へ渡す方向で、応答は省略。番地は説明例で、ブロックサイズや内部の配置を表しません。名前の管理とブロックの読書きは別の役割です。
ひよこ ひよこ
ブロックストレージは、ファイルを保存するもの?
ペンギン先生 ペンギン先生
サーバからは、ブロックのアドレスを指定して読み書きする保存領域として扱うよ。その上にファイルシステムを作ると、ファイル名やフォルダで使えるようになる。ブロックストレージ自体の読み書きと、ファイルの管理は別の役割だ。
ひよこ ひよこ
ペンギン先生 ペンギン先生
ファイルストレージはファイルやフォルダを扱う形、オブジェクトストレージはデータをオブジェクトとして識別して扱う形だよ。どの形でアプリからアクセスするか、何を保存するかに合わせて選ぶんだ。
ひよこ ひよこ
ブロックなら、いつも一番速い?
ペンギン先生 ペンギン先生
性能は方式名だけでは決まらない。保存装置や接続するネットワーク、設定、読み書きの大きさや並行数などで変わる。IOPS、転送量、遅延など、必要な条件を確かめよう。DBなどに使われるけれど、用途が合うかの確認は必要だ。
ひよこ ひよこ
クラウドでは、どんな例がある?
ペンギン先生 ペンギン先生
Amazon EBSはEC2で利用するブロックストレージの例だよ。ボリュームの種類ごとに、性能や対応する機能が違う。容量を確保することと、OSでファイルシステムなどを準備してアプリから使えるようにすることを分けて考える。
ひよこ ひよこ
複数サーバにつなげば、共有フォルダになる?
ペンギン先生 ペンギン先生
そのままではないよ。EBSにも対応する種類でMulti-Attachを使う方式があるけれど、同時に書く処理の整合性が必要だ。普通のファイルシステムを複数サーバから同時に書き込めば安全、とは言えない。対応する構成とアプリの動きを確認するんだ。
もっと詳しく知りたい人へ

ブロックの大きさは、どの製品でも同じ?

一律には決められません。ストレージが見せる読み書きの単位、OSやファイルシステムの管理単位、内部の物理的な単位は、必ずしも同じではありません。製品やOSの仕様を確認し、512バイトや4KBなどの数字を全製品の固定値として扱わないようにします。

EBS Multi-Attachなら、同時書き込みも自動で安全?

AWSの資料は、XFSやEXT4のような通常のファイルシステムが、複数サーバからの同時アクセス用に設計されていないと説明しています。対応する共有方式や書き込み順序、アクセス制御を設計する必要があります。接続できることと、安全に共同利用できることは別です。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ブロックストレージ」って出てきたら「番地を指定して読み書きする保存領域」と思えばだいたいOK!
📖 おまけ:英語の意味
「Block Storage」 = ブロック単位で読み書きするストレージ
💬 一定の大きさのブロックを、アドレスを指定して扱います。利用者に見える単位や接続方式と、内部の物理的な保存方法は分けて考えます。

参考資料

← 用語集にもどる