LoginSignup
7

More than 5 years have passed since last update.

blobfuseつかってみた①~blobfuseとは?~

Last updated at Posted at 2018-12-11

blobってストレージだよね?fuseってなんかきいたことあるような・・という感じからblobfuseをつかってみました:wink:
ひとまず①はblobfuseってなんじゃらふぉいというせつめいデス。

Blobfuseとは

ざっくりいうと…AzureBlob用のドライバ

さすがにAzureBlob用のドライバはざっくりしすぎですが、
BlobfuseとはAzureBlobStorage向けの仮想ファイルシステムを提供するためのLinux用のドライバです。オープンソースプロジェクトで開発されています。

(公式サイト) https://github.com/Azure/azure-storage-fuse(英語)

でも、なぜ仮想ファイルシステム用のドライバが必要なの?

Azure Blob Storage はオブジェクト ストレージ サービスであるため、Rest API経由でファイルを操作し、 "/"で区切った階層的な名前空間を持っていません。(=ファイルシステムがありません。)

ファイルシステムがないということはLinuxから利用しようと思ってもマウントできず、ファイルシステムがないのでmkdirしたりrenameなどでファイル名変更したりもできないんです:persevere:

そこで登場するのが Blobfuse デス。

大容量でお得なBlobStorage。RestAPI経由で操作するだけでなく、マウントしてファイル操作したいこともありますよね。そんな要望を実現するのがBlobfuse デス。

Blobfuse 仕組み

BlobfuseはLinux FUSE カーネルモジュールと通信するためのオープンソースライブラリ libfuse とAzure Storage Blob REST APIとを利用して、Blobストレージにフォワードスラッシュ '/' を区切り記号とした仮想ディレクトリ スキームによってこの名前空間を提供します。

Blobfuse 用法

公式ドキュメントからの抜粋になりますが、仮想ファイルシステムとしてマウントする以外にも下記のような用法があります。
Blob読み書きのキャッシュとして利用できるのは便利ですね:relaxed:

機能(公式ドキュメント翻訳)
- Linux上でのBlobストレージコンテナーのマウント
- Linuxのよくあるファイルシステムオペレーションの実現
 (mkdir, opendir, readdir, rmdir, open, read, create, write, close, unlink, truncate, stat, renameなど)
- アクセス時間を改善するためのローカルキャッシュ
- 大きなBlobへ高速にアクセスのための並列ダウンロードおよびアップロード
- 読み取り専用で複数のノードが同じコンテナをマウント

制約事項

Blobfuseはあくまで仮想的にファイルシステムを実現するドライバのため、標準仕様のposixに準拠していないことがあります。OSのファイルシステムの仕様=Blobfuseの仕様ではありません。
公式ページに使用が記載されていますのでご利用の際は検証の上ご利用ください><

次回は・・

お待ちかねのBlobfuseのインストール作業に入っていきます。

参考ドキュメント

blobfuseソースコードリポジトリ
blobfuse を使用して Blob Storage をファイル システムとしてマウントする方法(MS公式)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7