[b-free 518] Re: ファイルシステムの信頼性

Ryuichi Naitoh (naitoh_r@soft.hitachi.co.jp)
Fri, 12 Sep 1997 15:52:19 +0900

隆一です。

From: Takanori Hayashi <takanori@ohsaki.meidensha.co.jp>
Subject: [b-free 516] Re: ファイルシステムの信頼性
Date: Fri, 12 Sep 1997 14:02:33 +0900

> 林です。
>

...[snip]...

>
> naitoh_r> ログに収める情報にファイルのデータも含めるようにすれば、結局訂正データ
> naitoh_r> を付加するのと変わらないと思います。
> naitoh_r> (結局、Log-structured file system では、そういうことをやっているわけで
> naitoh_r> すから。もっとも、ログの中にデータ本体を入れてしまっているので、データ
> naitoh_r> 本体が独立して記録されるわけではないですが)
>
> やっぱり違うと思いますが。訂正データは、ディスクの読み書きの異常に
> 備えるもので基本的にデバイスの管轄、ログは一連の書き込みシーケンスを
> 原子化するものでファイルシステムの管轄、目的から管轄レベルから全然
> 違うと思いますけど。両方の目的に適合するような冗長データを作ることは
> できるかもしれませんが、同一に論ずるものでもないでしょう。

なるほど。
ロギングと訂正データの機能が重ならないならば、両方とも採用するというのも
ひとつの手ですね。

管轄レベルは両方ともファイルシステムで同じではないですか?
デバイスドライバでデータ訂正を管理するというのもありかと思いますが、
ファイル毎にデータ破壊がおこっているかどうかを知るためにも、ファイル
システム内で管理した方がいいと思います。

> naitoh_r> > しかし、アプリケーションが書き込んだつもりといっても、
> naitoh_r> > システムクラッシュしたらつもりの情報も保存されません
> naitoh_r> > から。あとキャッシュのフラッシュくらいのAPIはあります。
> naitoh_r>
> naitoh_r> write システムコールが終了した時点でディスクに書き込むことが保証されて
> naitoh_r> いれば、システムクラッシュで書き込んだつもりのデータがなくなっていると
> naitoh_r> いうことがなくなります。
> naitoh_r> (ただ、これは結局 DOS のやり方で、速度が遅くなってしまいそうですが)
> naitoh_r>
> naitoh_r> で、NTFS では、そこまでできずにファイルシステム内部の整合性のみにとど
> naitoh_r> まっているということを指摘したいわけです。
>
> そのレベル(システムコール完了時点で書き込み保証)の要求はキャッシュ
> する限り絶対不可能です。NTでもキャッシュのフラッシュとかライトスルー
> 指定でオープンとかすれば要求を満たせないことはないです。

もちろん、キャッシュがある場合には write システムコール終了時点での
ディスクへの書き込みを保証することは無理だと思います。
キャッシュがある時に、書き込みを保証するとしたら、書き込み完了待ちのシ
ステムコールを追加するくらいですね。
NT って、ファイル毎のフラッシュというのは指定できましたっけ?

ただ、キャッシュがなくても速度の低下がそれほどなければ、キャッシュを使
用しないという選択もあり得ます。

> そういえばBTRON1の仕様にフラッシュとかありました? ないならAPIを追加
> しないといけないかも。

そういえば、他の OS の FS として NTFS しか議論していませんが、他にも
信頼性を上げるための工夫をしている FS として何があるでしょうか?

私としては、Log-structured file system に注目しているのですが。
(しかし、この辺の新しいファイルシステムの話はあまり表には出てこないで
すね。。。)

p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
b----------------------------------------------------------------------d