クラウドコンピューティングシステム

Paxosの信頼性 

最近は、インターネットが[雲(クラウド)]で表現されるため資源の効率的利用等を目的とした分散ネットワークコンピューティング技術がクラウドコンピューティングと呼ばれるようになってきています。 一方で従来のネットワークコンピューティング技術およびSaaS,PaaSまたはIaaS等の言いかえあるいは発展形態ではないかということで、「クラウド」は”バズワード”とネガティブにも言われてもいます。

コンピュータの利用形態に視点を当てた場合、「計算センターによる集中処理」、「クライアント/サーバによる分散処理」、「インターネットによるブラウザ/サーバ処理」、そして「サービスそのものを中心とするクラウド」と変遷してきています。クラウドの最大の特徴は、「世界の知識、データを瞬時に検索できる」という終わりのない「量的拡大」にあり、ここに新しい発想が要請されています。

この量的拡大の要請を支えてきたのは、ソフトウェア的には仮想化技術でありハードウェア的には廉価なコモディティ製品の量的提供といえます。現在のところ、「クラウド」は仮想化とスケールアウトが技術的観点となっていますが、今後とも続く量的拡大の流れの先では「信頼性、可用性」が課題となるのは必然といえます。

Operating Systemをも仮想化したソフトウェアの信頼性や廉価なコモディティ製品の信頼性を考慮した時、「量的拡大そして複雑化するシステムの信頼性をどのように確保するか」が最大の課題となります。

弊社が提供する「Paxosファイルシステム」は、信頼性のあるセル間ネットワークを構築する解決策の一つになると自信を持っております。

また、災害発生時など過酷な環境下で運用されるシステム構築において、「Paxosファイルシステム」は特に有用な解決手段になると考えています。

Paxosファイルシステムのイメージ

キーテクノロジー

 

  • 大容量データのPaxos調停への取り込み(特願2010-023612)
  • ログのキャッシュ化(Snapshot)と自動キャッチアップ(Catchup)機能(特願2010-127356)
  • マスター・サーバの自律的選択(特願2010-127357)
  • 多重化による高速化(特願2010-173944)
  • セッション管理とイベント操作(特願2010-538664)

詳しい技術資料を下記に用意いたしました。

 

Paxosファイルシステム

キーテクノロジーを利用した具体的アプリケーションとしての高可用性ファイルシステム

ファイルシステム機能

  • 書込み/読み込み/削除/ファイルのオフセット(Seek)
  • 大容量データの書込み処理(Outbound Write)
  • ディレクトリ操作 - 作成/削除/エントリ情報取得
  • 死活監視向けファイル(クライアント消滅時に消失) - Ephemeralファイルの書込み

ネットワークロック機能

  • Write/Readロックの獲得
  • ロックの解放

イベント操作機能

  • ディレクトリエントリ変更イベント取得指定/解除
  • ロック要求イベント取得指定/解除
  • イベントの取り出し(イベントがなければイベント待ち)

 

Paxos iSCSI

最近のdisk利用は、iSCSIによるものが多くなりました。Paxos Storage Serviceのファイルをbacking storeにしたiSCSI ターゲットに組み込むサブモジュール「Paxos iSCSI」を作成いたしました。詳細はこちらをご覧ください。

ソフトウェア構成

Paxosソフトウェア構成

Paxosファイルシステムの動作イメージ

マスター・サーバの選出

  • サーバ初期起動時
  • マスター・サーバ故障時

故障サーバを除いたサーバ間で最長老方式によりマスターを決定します。その後Catchup処理によりサーバ間の同期をとります。こうしてCELL内のサーバ数が過半数を構成する状態になれば、CELLは、サービス状態に遷移します。

その後、

  • クライアントからのセッション開設、および処理要求受付
  • クライアントからの未処理要求の処理再開

が始まります。

マスター・サーバの選出

クライアント-CELL接続

クライアントがCELLに接続するとき

 

(1)クライアントがマスター・サーバを認知していない場合は、(A)のようにCELLを構成するサーバのどれかに接続を試みてマスター・サーバ情報を取得します。

(2)マスター・サーバに接続します(B)。以後、クライアントサーバ間のセッションが確立され、クライアントサーバ間の要求、応答処理が可能になります。

(3)クライアントはファイルの参照(読み込み)などについては、負荷の少ないサーバに接続(A)して処理ができます。

クライアントがCELLに接続するとき
接続状態中にマスター・サーバに故障が発生した場合

(1)CELL側では、「マスター・サーバの選出」で記述した処理がなされます。

(2)マスター・サーバが決定するまでクライアントとの処理は待ち状態になります。

 

CELLサーバ間での処理状態の同期

(1)各サーバ毎に定期的にSnapshotを作成します。

(2)サーバ間の同期処理(Catchup)を自動的に実施します。

 

CELL個別サーバ故障への対応

プロセッシングの堅牢性

・故障で1台のサーバが離脱しても過半数のサーバが存在していればよい。

 

再起動と再参入

・再起動時には過半数のサーバが生存していることを確認し、CELL内の最新のSnapshot取得、Catchupを実行することで、再参入。

 

過半数サーバ故障発生時のデータの堅牢性

過半数に満たないCELL状態になっても、サーバが1台以上生存していれば、

・生存しているサーバから直接Snapshotを取得し、Catchup実行で再参入可能。

・サーバが順次再参入すれば、過半数以上のCELL状態を再構築できる。

 

CELL化による故障発生率の改善効果

CELLの故障率(近似値)
1台あたり故障率 サーバの台数
3台 5台 7台
5% 0.75% 0.125% 0.021875%
3% 0.27% 0.027% 0.002835%
1% 0.03% 0.001% 0.000035%

 

機能提供の形態

  • ライブラリ形式のAPI提供
  • オープンソース提供(GPLライセンスまたは商用ライセンス)

ライセンスについて

  • Paxosファイルシステムは、GPL(GNU General Public License)版と商用ライセンス版があります。
  • GPL版は、オープンソフトウェアでGNU General Public Licenseが定める条項に従って本プログラムを再頒布または変更することができます。詳細についてはGNU(General Public License)をお読みください。
  • 商用目的にPaxosファイルシステムを利用する場合は、商用ライセンス版を購入してください。
詳細につきましては、Paxosについてのお問い合わせ まで、メールにてお問い合わせください。

ダウンロードファイル

 

このページのトップへ