さくらのオブジェクトストレージをs3fsでマウントしてみる

こんにちは、寺尾です。

さくらのオブジェクトストレージサービスが、いよいよ3月1日から正式サービス開始と言うことで無料のうちにいじってみました。

オブジェクトストレージ自体を触るのは初めてなので、どきどきです。

バケットの作成

使い方は、「オブジェクトストレージ」を手軽に利用する(s3cmd編) にs3cmdを使ったやり方が書いて有りましたので、これを参考にします。

オブジェクトストレージの箱を最初に作ります。箱のことを「バケット」と呼びます。作成自体は、さくらのコントロールパネルから簡単にできます。ただ、今日はコンパネの調子がいまいちだったのか、操作をしているとタイムアウトが頻繁に起こっていました。

作成時に必要なのは「バケット」の名前だけです。アルファベット・数字で適当に作ります。

「アクセスID」と「シークレットアクセスキー」が手に入れば、ストレージにアクセスできるようになります。アクセスIDは2種類生成されて、フルコントロール出来るIDとリードオンリーのIDです。用途によって使い分けると便利そうです。

マニュアルでは、s3cmdを扱っていたので、今日はs3fsでファイルシステムとしてマウントしてみたいと思います。ちなみに、s3cmdもマニュアルの通りにやってみましたが、とても手軽にオブジェクトストレージってこんな物かって分かるツールだと思います。是非使ってみてください。

s3fsをCentOS7にインストールする

s3fsは、オブジェクトストレージをもっと利用しやすくファイルシステムとしてマウントしてしまおうというツールです。オブジェクトストレージには、Linuxのext4などのパーミッションなどの概念はありませんので、マウントしてもパーミッションは表示されません。また、独自のアクセスコントロールが実装されていたりするので、実運用するときは、このあたりの注意が必要だと思います。

さて、早速s3fsをCentOS6 でインストールしようとすると、fuseが古いと怒られました。

fuseとは何でしょう。wikipediaによると、「Filesystem in Userspace (FUSE) は、Unix系オペレーティングシステムのローダブル・カーネル・モジュールの一種で、一般ユーザーがカーネルコードを修正することなく独自のファイルシステムを作成できる機能を提供する。」なるほど。ファイルシステムとしてマウントするために必須そうなパッケージです。これが古すぎて対応していないようです。

この解決策として、他のいくつかのブログでは、/usrにソースを上書きでインストールしているものを見かけましたが、RPM環境ですでに入っているパッケージをソースで上書きバージョンアップするのは、後のトラブルを招きます。(たとえばyum updateなどをするとコンフリクトしたり、上書きされて動かなくなったり。)本来は、/usr/local/以下などにインストールするのが筋でしょうが、今日は時間が無いので、CentOS7でやってみたいと思います。

まず、CentOS7のfuseのバージョンを調べてみます。

大丈夫です!

インストールをしてみますが、なんともすんなりとインストールできました。

ソースでインストールするのが嫌だと言っていましたが、s3fsは非常にコンパクトに出来ており、以下の2つのファイルしかインストールされません。OSが使うファイルともコンフリクトしないので大丈夫です。

s3fs初期設定

次は、アクセスIDとシークレットアクセスキーを設定します。

password-s3fs の書式は、「アクセスID」と「シークレットアクセスキー」をコンロで挟んで指定するだけです。

オブジェクトストレージをファイルシステムとしてマウントする

ここまで来たらマウントをするだけです。s3じゃないので、さくらのオブジェクトストレージに対応した設定を一つ入れる必要があります。

s3fsの引数に、バケット名、マウントポイントを順に指定します。allow_other オプションは他のユーザがアクセスできるようにするオプションです。urlオプションでは、さくらのオブジェクトストレージのベースURLを指定します。use_cacheを使うとキャッシュできるようになるので早くなります。

マウントが出来ているかを確認してみると、あらかじめ入れておいたetcディレクトリが見えます。

mountコマンドで見てみるとこんな感じでマウントされています。

閲覧・コピー・編集

実際のファイルの読み書きが出来るかというと、閲覧、コピー、編集と問題なく出来ました。

ここまできたら、cpでデータ投入できたりしてべんりです。

ファイルシステムとしてマウントしてしまうと、とてもオブジェクトストレージが身近に感じられてきますね。

さくらのクラウドで、1TBの追加ディスクを使うと21,600円。オブジェクトストレージで1TB程度使うと5886円くらい。s3fsでマウントしてこっちに置いておくだけでだいぶ安くなりますね!

今日はここまで。何かに使うアイデアを思いついたら続きをやるかもしれません。

 

Share on LinkedIn
LINEで送る
Pocket

吉村

吉村

クララオンライン グローバルビジネスストラテジー部でマーケティング担当として働いています。 クラウド関連技術と中国関連の情報をお届けしてます。 たまに DJ とかします。日本語RAPが大好きです。