分散ファイルシステム 「分散オペレーティングシステム」第9章 斎藤 大 発表の流れ 1. 分散ファイルシステムとは? 2. 分散ファイルシステムの問題点 タイミング同期の問題 アクセス効率の問題 3. 分散ファイルシステムの利点 可用性 耐故障性 分散ファイルシステムとは? 1.分散ファイルシステムとは?(1) ファイルを使う目的とは? 情報を保存する 情報を共有する 1.分散ファイルシステムとは?(2) ファイルシステムとは? ファイルアクセスの抽象化 保存・読み込み・保護などの機能提供 具体的なディスクアクセスを考慮しない ディスク情報の提供 書き込みエラーなどの情報提供 1.分散ファイルシステムとは?(3) 実際に提供されるサービス ストレージサービス 実際のディスクへのアクセスを抽象化 ファイルサービス 速度や信頼性を高める機能を提供 ネームサービス ファイルIDとディレクトリサービスの提供 1.分散ファイルシステムとは?(4) 分散ファイルシステムとは? →ファイルを複数のノードに分散する →ローカルファイルシステム+以下の機能 1. 高い可用性・耐故障性 2. 外部と情報共有 3. 場所に依存しないアクセス性 4. ディスクレスな環境 分散ファイルシステムの問題点 タイミング同期の問題 アクセス効率の問題 キャッシュ 2.1.タイミング同期の問題(1) ファイルを1台の時と同様に扱いたい →ファイルの変更をすぐ反映(UNIX-like) →ネットワーク遅延による同期問題発生 2.1.タイミング同期の問題(2) 通常のファイルシステム A A B Original File READ B C READ A B APPEND(C) C Time 2.1.タイミング同期の問題(3) 分散ファイルシステム SEND READ REQUEST[t2] A B Original File READ Time A B APPEND(C) SEND APPEND REQUEST[t1] C [t1<t2] delay! 2.1.タイミング同期の問題(4) 更に、ファイルの変更を常に反映 →ネットワークトラフィックの増大 セッション方式 →トラフィックの減少 トランザクション方式 →処理の矛盾をなくす 2.1.タイミング同期の問題(5) セッション方式 トランザクション方式 P A A A A A1 A1 A2 A1 A2 A A P 2.2.アクセス効率の問題(1) ファイルへの再アクセスの効率を上げる →キャッシュ アクセス速度の増加(ローカル・分散) ネットワークトラフィックの減少(分散) 信頼性の増加(分散) 2.2.アクセス効率の問題(2) キャッシュ位置 ① ② ③ ④ キャッシュなし ディスクアクセスのみ 容量が大きい ネットワークアクセス のみ 同期が容易 最も速い 大きいデータ不可 ④ ③ Client’s main memory Server’s main memory Client’s Disk Server’s Disk ② ① 2.2.アクセス効率の問題(3) いつ変更をサーバへ適用するのか? Write-Through →高信頼性・同期が取りやすい Delay-Write →トラフィック減 キャッシュから追い出される時 周期的 ファイルを閉じる時 2.2.アクセス効率の問題(4) いつキャッシュをupdateするのか? クライアント側から → ○サーバは待つだけ ×無駄が多い サーバ側から → ○効率的 ×クライアント・サーバモデルを壊す 分散ファイルシステムの利点 可用性(availability) 耐故障性(Fault tolerance) 3.1.可用性(1) ファイル複製(レプリカ)→可用性を高める キャッシュとの違い レプリカ キャッシュ サーバ側 クライアント側 可用性を高める アクセスの効率化 3.1.可用性(2) レプリカのメリット 可用性の増加 信頼性の増加 反応速度の増加 ネットワークトラフィックの減少 負荷分散 3.1.可用性(3) レプリカの操作 ユーザがレプリカを操作出来るか? レプリカ操作の命令提供 →柔軟な操作が可能 自動でレプリカ生成 →通常は自動 不要なレプリカの判断が難しい 3.1.可用性(4) 名前付けの問題 ③ ② ① File A File A File A ? ? ? File A Server1 15 Server2 6 Server3 25 3.1.可用性(5) レプリカ更新の問題 1 3 2 1. Read-Any, Write-All 2. Available-Copies 3. Primary-Copies 3.1.可用性(6) 4. Quorum-Based 1 7 4 3 6 2 5 R=3,W=5,N=7 (R+W>N) Read i. 定足数(R)だけノードを集め ii. その中で最も新しいバージョンを iii. クライアントに返す Write i. 定足数(W)だけノードを集め ii. その中で最も新しいバージョンの iii. バージョンを上げて iv. W全てに値とバージョンをコピー 3.2.耐故障性(1) 安定した記憶装置とは? →2台の記憶装置で実現可能 Duplicate System 2台に同時に書き込まない 比較による復旧が可能 3.2.耐故障性(2) Read 主系 切替装置 従系 Write 主系 切替装置 従系 3.2.耐故障性(3) Stateful File Service Open (filename, mode); [return fid] Read (fid, n, buffer); Write (fid, n, buffer); Seek (fid, position); Close (fid); → ○filenameを使うのはOpen時のみ 3.2.耐故障性(4) Stateless File Service Read (filename, position, n, buffer); Write (filename, position, n, buffer); → ×毎回filenameが必要 ○復旧が容易 まとめ 分散ファイルシステムとは ファイルを複数のノードに分散 →可用性・耐故障性の増加 ネットワーク特有の問題 ファイル共有方式 キャッシュ 他に…トランザクション処理
© Copyright 2024 ExpyDoc