pikesaku’s blog

個人的なプログラム勉強メモです。記載内容について一切の責任は持ちません。

GPFS調査メモ

わかったこと

 

  • 分散ファイルシステム
  • GPFSクライアント利用時、クライアントにはローカルファイルシステムとして見える
  • NFSでアクセスも可能
  • スナップショット機能あり
  • 構成サーバはSANストレージを共有する
  • 複数プロセスからの同時アクセス可能
  • データストライピングを以下で実現
    • 大きなファイルを複数の同じサイズのブロックに分割して保存
    • 一つのブロックは256k(設定によって16kから1M)
    • 分散されたディスクからデータを並列にプリフェッチしてバッファに蓄積
    • Dirtyデータ書き込みも並列で実現
    • データのレプリカ保持でデータ保護
  • 同期・一貫性でPOSIXセマンティックスを保証。分散ロックで実現。
    • 同時に同じファイルにアクセスする2つプロセスが存在するとき、読み込み側のプロセスが見えるデータは書き込みプロセスが書き込んだデータのすべて、若しくはまったく見えないかのどちらか
    • 読み込みプロセスはデータが中途まで書き込まれた状態を読み込んでしまうことはない
    • ファイルシステムノードのうち一台がグローバルロックマネージャの役割をはたし、各々のノードはローカルロックマネージャを持つ
    • グローバルロックマネージャはロックトークンを付与してローカルロックマネージャ間を調整
    • 一つのノードが繰り返し同じファイルにアクセスする時は初めの一回だけロックトークンを獲得すれば、その後ノード間でメッセージ交換をする必要がない。
    • 他のノードが同じファイルにアクセスする場合は最初にロックトークンを獲得したノードにロックトークンを要求する。
    • ロックトークンを通さなければファイルのデータを変更できない。→ロックトークンは更にキャッシュの一貫性を保証する役割も果たす
  • コンポーネントはActive/Active構成