「Soft updates」の版間の差分
m cat |
|||
(6人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
{{参照方法|date=2015年12月14日 (月) 11:50 (UTC)}} |
|||
'''Soft updates'''とは非同期書き込み中に不意に計算機が止まった場合でも[[ファイルシステム]]の一貫性を保つための技術である。 |
'''Soft updates'''とは非同期書き込み中に不意に計算機が止まった場合でも[[ファイルシステム]]の一貫性を保つための技術である。 |
||
== 概要 == |
== 概要 == |
||
Soft updates(Soft dependenciesとも言われる)とは、非同期書き込みを行っている際に突然電源切断が起きても、[[ファイルシステム]]の一貫性を保つための技術である。 |
Soft updates(Soft dependenciesとも言われる)とは、非同期書き込みを行っている際に突然電源切断が起きても、[[ファイルシステム]]の一貫性を保つための技術である。[[ジャーナリングファイルシステム]]と同様、ファイルシステムの一貫性を保証する技術であり、データの喪失が起きないようにする技術ではない。 |
||
データの喪失が起きないようにする技術ではないことに注意されたい。 |
|||
ファイルシステムの一貫性を保証するために、Soft updatesでは[[ハードディスク]]へのデータ書き込みの順序 |
ファイルシステムの一貫性を保証するために、Soft updatesでは[[ハードディスク]]へのデータ書き込みの順序に制限を設けている。一言でまとめると、ハードディスクのハードウェア的に可能ないかなるタイミングでそれ以降の書き込みが中断されても、一貫性が保たれるような順序で書き込みを行う、という方式がsoft updatesである。ジャーナリングと異なり、メタデータなどを保存する別の領域を必要としない。 |
||
ジャーナリングファイルシステムではメタデータの更新などをジャーナルとして別の領域に保存するが、 |
|||
Soft updatesではそのような特別な領域を必要としない。 |
|||
Soft updatesによってファイルシステムの[[inode]]などのメタデータと実際のデータの一貫性が常に保証されるので、突然の電源切断が起きた場合にも[[fsck]]なしに[[mount (UNIX)|mount]]することができる。 |
Soft updatesによってファイルシステムの[[inode]]などのメタデータと実際のデータの一貫性が常に保証されるので、突然の電源切断が起きた場合にも[[fsck]]なしに[[mount (UNIX)|mount]]することができる。しかし、実際には未使用なのに使用されているとマークされているページができることがある。これは、Soft updatesでは利用している領域を未使用領域と誤認する状況を避けるようハードディスクへの書き込み制御をするからである。このような誤って使用中と認識された領域を掃除するために[[background fsck]]を行う。 |
||
しかし、実際には未使用なのに使用されているとマークされているページができることがある。 |
|||
問題点として、近年の大容量化したディスクでは、一旦問題が発生するとbackground fsckに長時間が必要となってしまう。FreeBSD 9ではジャーナリングによりこれを解決したJournaled Soft Updatesが導入された。 |
|||
これは、Soft updatesでは利用している領域を未使用領域と誤認する状況を避けるようハードディスクへの書き込み制御をするからである。 |
|||
このような誤って使用中と認識された領域を掃除するために[[background fsck]]を行う。 |
|||
Soft updatesは最初[[FreeBSD]]用に[[マーシャル・カーク・マキュージック]](Marshall Kirk McKusick)が開発したものだったが、他のいくつかの[[BSDの子孫]]でも利用可能である。 |
Soft updatesは最初[[FreeBSD]]用に[[マーシャル・カーク・マキュージック]](Marshall Kirk McKusick)が開発したものだったが、他のいくつかの[[BSDの子孫]]でも利用可能である。 |
||
24行目: | 21行目: | ||
* [http://www.mckusick.com/softdep/ Information about Soft Updates, Snapshots, and Back-ground Fsck] |
* [http://www.mckusick.com/softdep/ Information about Soft Updates, Snapshots, and Back-ground Fsck] |
||
* [http://www.dd.iij4u.or.jp/~okuyamak/Documents/NetworkFileSystem.Tune.4.html#Softupdate Server File Cache → Storage] |
* [http://www.dd.iij4u.or.jp/~okuyamak/Documents/NetworkFileSystem.Tune.4.html#Softupdate Server File Cache → Storage] |
||
{{FreeBSD}} |
|||
[[Category:OSのファイルシステム]] |
[[Category:OSのファイルシステム]] |
||
[[Category:BSD]] |
[[Category:BSD]] |
||
[[de:Softupdates]] |
|||
[[en:Soft_updates]] |
2017年4月18日 (火) 15:18時点における最新版
Soft updatesとは非同期書き込み中に不意に計算機が止まった場合でもファイルシステムの一貫性を保つための技術である。
概要
[編集]Soft updates(Soft dependenciesとも言われる)とは、非同期書き込みを行っている際に突然電源切断が起きても、ファイルシステムの一貫性を保つための技術である。ジャーナリングファイルシステムと同様、ファイルシステムの一貫性を保証する技術であり、データの喪失が起きないようにする技術ではない。
ファイルシステムの一貫性を保証するために、Soft updatesではハードディスクへのデータ書き込みの順序に制限を設けている。一言でまとめると、ハードディスクのハードウェア的に可能ないかなるタイミングでそれ以降の書き込みが中断されても、一貫性が保たれるような順序で書き込みを行う、という方式がsoft updatesである。ジャーナリングと異なり、メタデータなどを保存する別の領域を必要としない。
Soft updatesによってファイルシステムのinodeなどのメタデータと実際のデータの一貫性が常に保証されるので、突然の電源切断が起きた場合にもfsckなしにmountすることができる。しかし、実際には未使用なのに使用されているとマークされているページができることがある。これは、Soft updatesでは利用している領域を未使用領域と誤認する状況を避けるようハードディスクへの書き込み制御をするからである。このような誤って使用中と認識された領域を掃除するためにbackground fsckを行う。
問題点として、近年の大容量化したディスクでは、一旦問題が発生するとbackground fsckに長時間が必要となってしまう。FreeBSD 9ではジャーナリングによりこれを解決したJournaled Soft Updatesが導入された。
Soft updatesは最初FreeBSD用にマーシャル・カーク・マキュージック(Marshall Kirk McKusick)が開発したものだったが、他のいくつかのBSDの子孫でも利用可能である。
参考文献
[編集]- McKusick, M. (2002). Running "fsck" in the Background." Proceedings of the BSDCon 2002. 55-64.
- McKusick, M. and Ganger, G. (1999). "Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem." USENIX Annual Technical Conference. 1-18.
- Seltzer, M. et al. (2000). "Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems." USENIX Annual Technical Conference. 71-84.