2

のマンページは次のようにfsync述べています。

基になるハード ディスクで書き込みキャッシュが有効になっている場合、fsync() / fdatasync() が戻ったときに、データが実際には永続的なストレージにない可能性があります。

データがディスクに物理的に書き込まれたことを確認する方法はありますか?

4

1 に答える 1

3

いいえ、ありません。

OSにディスクに書き込むようにfsync指示すると、OSに関する限り、ディスクに書き込まれます。

ディスクがこれを偽装している場合、残念ながら実際に変更できるものではありません。適切なディスク システム (つまり、BBU RAID セットアップ) を使用すると、書き込みキャッシュを有効/無効にするだけで、ほとんどこれを回避できます。

O_DIRECTおよびO_SYNCフラグを指定する場合は、ディスクに書き込む必要があることに注意してください: http://www.kernel.org/doc/man-pages/online/pages/man2/open.2.html

于 2012-07-23T12:05:58.123 に答える