分散ファイルシステム 「分散オペレーティングシステム」第9章

Download Report

Transcript 分散ファイルシステム 「分散オペレーティングシステム」第9章

分散ファイルシステム
「分散オペレーティングシステム」第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が必要
○復旧が容易
まとめ
分散ファイルシステムとは
 ファイルを複数のノードに分散
→可用性・耐故障性の増加
 ネットワーク特有の問題
 ファイル共有方式
 キャッシュ
他に…トランザクション処理