s3fsでニフクラストレージをマウントする
こんにちは、ちなつです。
今回は、携帯を含む様々なWeb系のシステム開発に携わり、iPhone/Androidアプリなどの開発も手がけているライター・わたなべ氏の記事をご紹介します。
(*本記事の最後にわたなべ氏のプロフィールを掲載しています)
*********************************************************************
※この記事は2012年7月25日に執筆された記事になります。
こんにちは、大分久々の記事になってしまったわたなべです。ご無沙汰していたこの春に、前職を退職して現在はフリーのエンジニアとして活動しています。
前回まではAPIに関する記事を数本書いていますが、今回から「ニフティクラウド ストレージ」に関して幾つか記事を書きたいと思います。
「ニフティクラウド ストレージ」の概要
「ニフティクラウド ストレージ」は昨年2011年9月に正式提供が開始された、大容量・大量のデータを容量を気にせずクラウド上に保存できるサービスです。昨今では、コンピュータシステムで扱うデータ量は増える傾向にあります。また、BCPやDRなどの実現の為にこれらのデータのバックアップは重要な課題です。「ニフティクラウド ストレージ」はこのような大量・大容量のデータの保存先として利用しやすいサービスです。「ニフティクラウド ストレージ」の特徴は以下の通りです。
容量無制限
通常のハードディスクと違い容量に制限が無い
従量課金
利用した分だけ利用料金がかかるので無駄が無い
自由度の高いAPIによるアクセス
Amazon S3互換の自由度が高いAPIを利用して独自のシステムを構築可能
高い信頼性
トリプルミラーによる冗長化
分割アップロードによる高速アップロード
GB/TBクラスのデータも分割アップロードで高速にアップロード可能
「ニフティクラウド ストレージ」は通常のハードディスクとは違いサーバーにマウントすることは出来ません。データの管理はコントロールパネルまたはAPIを使用する必要があります。しかし、s3fs - http://code.google.com/p/s3fs/ を使用すると「ニフティクラウド ストレージ」上のファイルを通常のローカルファイルと同じように扱うことが出来ます。今回は、s3fs-cloudpack - https://github.com/memorycraft/s3fs-cloudpack を使用して「ニフティクラウド ストレージ」をマウントする方法を解説します。
なお、以下の内容はニフティクラウド上のCentOS 6.2 plain 上で動作を確認しています。
s3fs-cloudpackの設定
ビルドに必要なパッケージのインストール
s3fs-cloudpackはバイナリパッケージが存在しないためソースからインストールする必要があるため、まずは以下の要領でビルドに必要なパッケージをインストールします。
FUSEのインストール
s3fsはFUSE - http://fuse.sourceforge.net/ というモジュールを使用してファイルシステムの機能を実現しています。以下のようにFUSEをインストールします。
s3fs-cloudpackのインストール
s3fs-cloudpackの設定
s3fs-cloudpackはREST APIを使用して「ニフティクラウド ストレージ」にアクセスするためAPIアクセスキーを設定します。アクセスキー/シークレットアクセスキーはコントロールパネルで作成・取得することが出来ます。
最後に、「ニフティクラウド ストレージ」をマウントするディレクトリを作成します。
「ニフティクラウド ストレージ」をマウント
「ニフティクラウド ストレージ」を利用するにはバケットと呼ばれる容器のようなものを作成する必要があります。コントロールパネルのクラウドストレージエクスプローラより作成してください。
バケットの作成が完了したら以下のコマンドでファイルシステムとしてマウントすることが出来ます。
正常にマウントが完了すると以下のように 256TBのファイルシステムとして表示されます。
マウントが完了すればあとは通常のハードディスクと同じようにアクセスすることが可能です。ただし、ネットワーク越しでのアクセスが行われるためハードディスクと比べるとアクセス速度はかなり遅いので注意が必要です。筆者がdbenchを使って計測した結果では 0.9MB/sec〜2.5MB/sec 程度の速度でした。
まとめ
s3fsを利用することでAPIを使用するよりも簡単に「ニフティクラウド ストレージ」を利用することが出来ることがおわかりいただけたかと思います。アクセス性能はハードディスクに劣りますが、容量に制限の無いことや可用性は非常に魅力的です。また、ローカルファイルと同じようにアクセスすることが出来るため、既存のアプリケーションへの適用も比較的容易に実現できると思います。
------------------------------------
プロフィール
ライターネーム:わたなべ かずひろ
専門学校卒業後、ソフトウェア開発会社で電力系統制御
システムの開発に従事。
その後、CD-ROM等マルチメディア系PCソフトの開発を
経て、1998年フリーランスに。
2000年8月に株式会社イーツーの設立に参画。
携帯を含む様々なWeb系のシステム開発に携わる。
現在はiPhone/Androidアプリなどの開発も手がけている。
------------------------------------