FOBASコンサルティング株式会社は、IT基盤、クラウドコンピューティングを専門とするコンサルティング会社です

  • Home
  • テクノロジートピック
  • FOBAS CSC Ver.3 アーキテクチャ変更のメリット
2015
04Jun

FOBAS CSC Ver.3 アーキテクチャ変更のメリット

  • テクノロジートピック

何回かに分けて FOBAS CSC Ver.3 の特徴のご紹介して行くシリーズの第2弾です。
3日坊主にならないように頑張ります。(^^;

今回は前回の予告通り、アーキテクチャの変更による具体的なメリットについてご紹介
していきます。

■アーキテクチャの変更

前回も触れましたが、Ver.2 では、Javaアプリケーションサーバ (jboss) をベースに
実装の全てが JavaEE の EAR としてパッキングされていました。

これは、アプリケーションをまとめてライフサイクル管理できたり、クラスローダ階層
を自由にコントロールでき、FOBAS CSC のようにオープンソースライブラリを多用する
アプリケーションには大きなメリットがありました。

ただ、ライフサイクルをひとつに出来る事は、FOBAS CSC のようなインターネット接続
を用いるアプリケーションにとっては諸刃の剣で、ネットワークの不測の障害や、アプ
リケーションの些細な問題で、ログレベルを変更したり再起動したいニーズは発生しま
す。その際に、ユーザから見て最も重要なファイルシステムサービスも停止してしまう
という問題がありました。

Ver.3 では、C言語実装への変更に伴い、ファイルシステムサービスとバックグラウンド
サービスのプロセスを分離し、バックグラウンドの問題やサービス停止がファイルシス
テムに影響しない構造にしました。

FOBAS CSC Ver.3 では、以下のプロセス構造を持っています。

1) cscfs3 (cscis3) ファイルシステム(iSCSIデバイスファイル) 実装

FUSE Low-Level API を用いたファイルシステム実装です。Ver.2 では High-Level
API を JNI でブリッジし、Java でエンジン処理が記述されていました。JNI コール
によるコンテキストスイッチコストが大きく、Ver.2 の性能ボトルネックになって
いました。Ver.3 では全て Native C で実装されていますので、ボトルネックが解消し
快適な性能で利用できるようになりました。

2) cscftaskd メタデータ更新機能(クラスタレプリケーション機能)実装

ファイルシステムの変更点をメタデータに反映する処理を担います。
cscfs3, cscis3 とは、ftaskq キューで非同期接続されています。このメッセージを
取り出して、メタデータを管理するデータベースを更新します。

さらに、5分毎にメッセージをアーカイブして、マスタテーブルの更新差分と併せて
クラウドストレージにアップロードします。これが差分スナップショット処理です。

別のスレッドでは、5分毎にクラウドストレージに他のクラスタノードの差分スナッ
プショットファイルが存在しないかチェックしています。ファイルがあればダウンロ
-ドしてデータベースを更新します。

3) cscsyncd ステージデータ作成機能実装

ファイルシステムに格納されたデータをクラウドに格納する形式に加工する処理を担
います。
cscftaskd とは、syncq キューで非同期接続されています。クラウドへの格納対象フ
ァイルを分割、圧縮、暗号化します。

4) cscslaved クラウドデータ入出力機能実装

クラウドストレージなどのバックグラウンドストレージとのデータ入出力を行います。
cscsyncd とは、slaveq* キューで非同期接続されています。存在するストレージサー
ビス数分のキューが存在し、それぞれにスレッドが起動されています。

実際のストレージへ格納するためのプログラムは、Java の SPI に合わせて実装され
ているため、JNI 経由で呼び出す構造になっています。ストレージへのコネクション
コストを下げるため、コネクションプールが実装されています。

cscslaved はもうひとつ重要な機能があります。格納データの重複排除です。各スレ
ッドは、データの格納前にハッシュ値とバイナリの比較により重複するデータの格納
を回避します。

バックグラウンドプロセスは、キャッシュアウトされたファイルのロード処理
(cscslavedが実行)を除いては、ファイルシステム実装とは切り離されており、一時
的なプロセス停止の影響はありません。

ファイルシステム実装を含む全てのプロセスは、cscfs3_mater デーモンにより 10秒間
隔で死活監視され、プロセス障害時には自動的にリカバリされます。

ユーザ視点で見た場合のメリットは、「障害やメンテナンスによるサービスへの影響が
小さくなった」とという短い一文で終わってしまうのですが、システムを保守する視点
から見れば、非常に大きな改善なのではないかと思います。

第2回目は、プロセスアーキテクチャの変更に伴う改善点についてご紹介しました。
次回は、様々な機能がファイルシステムネイティブでサポートされるようになった点を
ご紹介します。

 

最近のお知らせ

  • ストレージ格納データの圧縮について 2016年6月3日
  • ランサムウェアによるファイルサーバ被害からの復元 2016年5月12日
  • 年末年始休業のお知らせ 2015年12月21日
  • FOBASコンサルティング、 統合ファイルサーバアプライアンス「FOBAS CFSA」の販売を8月25日に開始 2015年8月25日
  • 第七話:夏休みはウィルスにご注意 2015年8月14日

カテゴリ

  • 日記
  • プレスリリース
  • イベント告知
  • テクノロジートピック
  • おしえて、クリス先輩!
  • お知らせ

過去ログ

  • 2016年6月
  • 2016年5月
  • 2015年12月
  • 2015年8月
  • 2015年7月
  • 2015年6月
  • 2014年10月
  • 2013年9月
  • 2013年8月
  • 2013年1月
  • 2012年6月
  • 2012年2月
  • 2012年1月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年7月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月

検索

Copyright ©  2015.FOBAS Consulting, Inc. All Rights Reserved.