質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
ストレージ

ストレージとは、データを長期で保管・保存しておくための記憶装置。ハードディスクやDVD、CDなどが主なストレージとして挙げられます。PCでは作成データの他、OSやアプリケーションがインストールされています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

336閲覧

ブロックストレージとファイルストレージの違いについて

master-1tan

総合スコア1

ストレージ

ストレージとは、データを長期で保管・保存しておくための記憶装置。ハードディスクやDVD、CDなどが主なストレージとして挙げられます。PCでは作成データの他、OSやアプリケーションがインストールされています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2025/01/09 16:40

質問内容

ブロックストレージとファイルストレージの違いは以下『前提』に記載させていただいている通り、ファイルシステムを構成しているか否かかと思っておりました。
しかし、実際にサーバからブロックストレージ内のデータにアクセスする際にはブロックストレージ自体もしくはストレージから切り出したボリューム(パーティション)単位でFSを構成して初めてディレクトリおよびファイル名でアクセスできるように感じています。ブロックストレージとファイルストレージの違いとは何なのでしょうか?なぜブロックストレージを使うときもFSを構成する必要があるのでしょうか?

前提

ブロックストレージとファイルストレージの今の認識は以下

ブロックストレージ:
データを物理ディスク上にブロック単位で管理するもの

ファイルストレージ:
ブロックストレージ上にファイルシステムを構成して、データをファイル単位で管理するもの
ネットワーク経由で複数クライアントからのアクセスも可能とするためデータ共有にも使われる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2025/01/10 02:45

(関係無いですが) 本質問、トップページの一覧では回答数2、ですが実際は1。運営から削除されたのかもしれませんが、たびたび見るこの不具合(?)、直りませんね。
68user

2025/01/10 05:52

> ファイルストレージ > ネットワーク経由で複数クライアントからのアクセスも可能とするためデータ共有にも使われる こう書いてあるとブロックストレージでは複数マシンでデータ共有できないと言いたいように見えますが、iSCSI 構成でも、クラウドサービスのブロックストレージ (Amazon EBS・Azure Managed Disk・Google Persistent Disk など) でも、いずれも複数マシンでブロックストレージの共有が可能です。
guest

回答1

0

ベストアンサー

そのような区別は、そのデバイスをある視点、たとえばOSから見てどのように見えるかを表わしています。それがどのように実現されていたり、どのように使っているかまで見てしまうとわからなくなります。

OSにネットワーク経由で接続しているストレージを考える場合、それがNFSでつながっていれば、データをファイル単位でやりとりすることになるのでファイルストレージと呼びます。それがiSCSIでつながっていれば、データをブロック単位でやりとりすることになるのでブロックストレージと呼びます。

ブロックストレージ:
データを物理ディスク上にブロック単位で管理するもの

違います。 物理ディスクであるかどうかは関係ありません。
そのストレージとデータをやりとりするときに512byteなどのブロック単位で行なうものです。

ファイルストレージ:
ブロックストレージ上にファイルシステムを構成して、データをファイル単位で管理するもの

違います。
ファイルシステムをブロックストレージ上で構成しているかどうかは関係ありません。
そのシステムとデータをやりとりする時にファイル単位で行なうものです。


実際にブロックストレージを使う場合は、OSでその上にファイルシステムを構築してアプリケーションやユーザに見せることが多いですよね。 ですが、そのことによってそのデバイスをファイルストレージと呼ぶようにはなりません。視点のレイヤが異なるからです。

ブロックストレージをブロックそままアプリケーションに提供する場合もあります。OracleなどのDBMSはブロックデバイス上に効率よくデータを保存する仕組みを持っています。

逆にファイルシステム上にブロックデバイスを作ることもできます。OS上に仮想マシンを構築する場合、クライアントOSからブロックデバイスに見えるものは実はファイルとして保存領域が確保されています。

投稿2025/01/10 01:57

編集2025/01/10 01:57
TakaiY

総合スコア13907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

master-1tan

2025/01/10 15:31

ご回答ありがとうございます。 ブロックストレージとかファイルストレージという区分けはクライアントからのストレージへのアクセスの方法(どのプロトコルでアクセスするか)によるものであると理解しました。 その観点で調べてみたら当初の疑問を踏まえて理解が深まった気がします。ありがとうございました。 以下に改めて、自分の認識を記載してみたのでお手すきでコメントいただくとうれしいです。 ----------- >なぜブロックストレージを使うときもFSを構成する必要があるのでしょうか? ブロックストレージに対してクライアントサーバからファイル単位のアクセスをしたい場合はOSのファイルシステムを返すことで実現可能。つまり、ストレージ側にファイルシステムが搭載されているかいないかの違い(その場合、ブロックストレージに対してOSのファイルシステムを介したアクセスとファイルストレージに対するOSからのアクセスに性能差はあまりないのか等、まだまだ気になることはありますが、いったん飲み込もうかと思います。) 参考サイト:  https://active.nikkeibp.co.jp/atclact/active/14/100700086/111700009/  https://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/beginner/block/ -----------
TakaiY

2025/01/11 04:08

だいたい合っています。 なぜブロックストレージにファイルシステムを構築して使うのかという点については、視点が逆のような気がします。 ファイルシステムというのは、種々多様な記憶媒体を一貫したインターフェースで扱えるようにするために考案されたものです。これがなければ、アプリケーションはストレージ毎に異なる種々のアクセス方法を実装しなければなりません。 時代が進んで、ファイルシステムのレイヤでサービスを提供できるようになったということです。 > ブロックストレージに対してOSのファイルシステムを介したアクセスとファイルストレージに対するOSからのアクセスに性能差 それはあるでしょう。ファイルストレージの方が遅いのが一般的ですが、環境によって異なるので、いろいろな条件を鑑みて何を使うか決めることになるでしょう。
master-1tan

2025/01/13 14:22

>> ブロックストレージに対してOSのファイルシステムを介したアクセスとファイルストレージに対するOSからのアクセスに性能差 > >それはあるでしょう。ファイルストレージの方が遅いのが一般的ですが、環境によって異なるので、いろいろな条件を鑑みて何を使うか決めることになるでしょう。 なるほど。よくよく考えたらクライアントからファイル単位でアクセスしたいときブロックストレージ、ファイルストレージどちらもOS上のFSは経由するわけなので、ファイルストレージのほうが一般的にはアクセス性能が劣るのは理解できました。 ブロックストレージの場合) クライアントユーザ ⇒ OS上のFS ⇒ 特定のボリュームのブロック ファイルストレージの場合) クライアントユーザ ⇒ OS上のFS ⇒ ストレージ上のFS ⇒ 特定のボリュームのブロック
TakaiY

2025/01/14 01:55

ブロックストレージとファイルストレージの性能差については、ブロックストレージが速いという簡単なことではないので、比較したいのであれば具体的な実装で判断すべきだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問