本文へジャンプします。

s3fsでニフクラストレージをマウントする

こんにちは、大分久々の記事になってしまったわたなべです。ご無沙汰していたこの春に、前職を退職して現在はフリーのエンジニアとして活動しています。

前回までは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はバイナリパッケージが存在しないためソースからインストールする必要があるため、まずは以下の要領でビルドに必要なパッケージをインストールします。

    # yum install -y 
    gcc 
    gcc-c++ 
    libstdc++-devel 
    curl-devel 
    libxml2-devel 
    openssl-devel 
    mailcap 
    make
    

    FUSEのインストール

     s3fsはFUSE – http://fuse.sourceforge.net/ というモジュールを使用してファイルシステムの機能を実現しています。以下のようにFUSEをインストールします。

    # cd /usr/local/src
    # wget "http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz/download"
    # tar xfz fuse-2.8.5.tar.gz
    # cd fuse-2.8.5
    # ./configure prefix=/usr
    # make
    # make install
    # ldconfig
    # modprobe fuse
    

    s3fs-cloudpackのインストール
    # cd /usr/local/src
    # curl -L https://github.com/memorycraft/s3fs-cloudpack/tarball/master -o s3fs-cloudpack.tgz # tar xfz s3fs-cloudpack.tgz # cd memorycraft-s3fs-cloudpack-a5e4da3 # chmod 755 configure # export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig # ./configure prefix=/usr # make # make install

    s3fs-cloudpackの設定

     s3fs-cloudpackはREST APIを使用して「ニフティクラウド ストレージ」にアクセスするためAPIアクセスキーを設定します。アクセスキー/シークレットアクセスキーはコントロールパネルで作成・取得することが出来ます。

    # vim /etc/passwd-s3fs
    [アクセスキー]:[シークレットアクセスキー]
    # chmod 640 /etc/passwd-s3fs
    

    最後に、「ニフティクラウド ストレージ」をマウントするディレクトリを作成します。

    # mkdir /mnt/ncs
    

    「ニフティクラウド ストレージ」をマウント

     「ニフティクラウド ストレージ」を利用するにはバケットと呼ばれる容器のようなものを作成する必要があります。コントロールパネルのクラウドストレージエクスプローラより作成してください。

    バケットの作成が完了したら以下のコマンドでファイルシステムとしてマウントすることが出来ます。

    # s3fs [バケット名] /mnt/ncs -o allow_other -o url=http://ncss.nifty.com
    

    正常にマウントが完了すると以下のように 256TBのファイルシステムとして表示されます。

    # df -h
    Filesystem            Size  Used Avail Use% マウント位置
    /dev/sda3              28G  1.4G   25G   6% /
    tmpfs                 499M     0  499M   0% /dev/shm
    /dev/sda1             504M   53M  426M  12% /boot
    s3fs                  256T     0  256T   0% /mnt/ncs
    

     マウントが完了すればあとは通常のハードディスクと同じようにアクセスすることが可能です。ただし、ネットワーク越しでのアクセスが行われるためハードディスクと比べるとアクセス速度はかなり遅いので注意が必要です。筆者がdbenchを使って計測した結果では 0.9MB/sec〜2.5MB/sec 程度の速度でした。

    まとめ

     s3fsを利用することでAPIを使用するよりも簡単に「ニフティクラウド ストレージ」を利用することが出来ることがおわかりいただけたかと思います。アクセス性能はハードディスクに劣りますが、容量に制限の無いことや可用性は非常に魅力的です。また、ローカルファイルと同じようにアクセスすることが出来るため、既存のアプリケーションへの適用も比較的容易に実現できると思います。

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています