Background fsck
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Background fsckとは、Soft updatesで以前マウントしていて、意図しない停止をしたファイルシステムにmountされた状態のままfsckしてファイルシステムを修復することである。
目次 |
[編集] 概要
Background fsckとは、mountした状態のファイルシステムに対してfsckを行い、ファイルシステムを修復することである。 なお、通常はfsckによりファイルシステムを修復するにはunmount(mountしていない状態にすること)する必要がある。 Soft updatesを使うとmountされたファイルシステムは意図しないシステムの停止によるクラッシュが起きてもファイルシステムの一貫性が壊れない。 Background fsckはこの性質を利用しているため実行中にfsckを行うことが可能となる。 Background fsckの仕事はSoft updatesを使っていることで出来たデータがない領域をデータがあるとマークしてしまった領域を正常に戻すことである。 この状況はSoft updatesが一貫性が壊れないように、書き込みの順番や内容を制御していることで起きる。
[編集] 手順
Background fsckではまず、ファイルシステムのスナップショットを作成する。 そして、このスナップショットに対してfsckを実行し、ファイルシステムを修復する。 スナップショットの作成にはコピーオンライトを用いているため、長時間停止することなくスナップショットを作成できる。 なお、コピーオンライトを実施する際にファイルシステムの変更を行う可能性のあるシステムコールはすべてブロックされるので、スナップショット作成の瞬間に一瞬計算機がフリーズしたようになることがある。
[編集] スナップショット(副産物)
Background fsckの副産物としてスナップショット機能がある。 スナップショットはmksnap_ffsコマンドで簡単に作成できる。 これは一つのファイルシステムに対していくつも作成することが出来るので、UFSの簡易バックアップ機構として用いることが出来る。 実際、この手法でバックアップを行うportが存在する。
[編集] 参考文献
- McKusick, M. (2002). Running "fsck" in the Background." Proceedings of the BSDCon 2002. 55-64.