ソフトアップデート

コンテンツへジャンプ
フリー百科事典『ウィキペディア』より
( Softdepからリダイレクト)

ソフトアップデートは、クラッシュや停電発生時にファイルシステムの メタデータの整合性を維持するためのアプローチです。ソフトアップデートは、ファイルシステムのメタデータの更新間の依存関係を追跡し、適用することで機能します。ソフトアップデートは、より一般的に使用されているファイルシステムのジャーナリングアプローチの代替手段です。

操作方法

[編集]

ソフトアップデートでは、ディスク上のファイルシステムの不整合を生じさせない、または発生する不整合がストレージスペースのリーク(どのファイルにも使用されていないにもかかわらず、割り当て済みとしてマークされる領域)のみとなるような、非同期メタデータ書き込みのみが許可されます。ソフトアップデートでは、フラッシュされていない、または部分的にロールバックされた可能性のある別のブロックに依存するメタデータブロックの一部を、書き込み時に一時的に「ロールバック」することで、順序付けされた同期メタデータ書き込みを回避します。

実際には、ブロックはいつでもフラッシュされる可能性があり、ソフトアップデートコードは常にディスクに一貫性のあるメタデータを提供します(どのブロックが物理的にフラッシュされたかがわかっている限り)。その後のリカバリは、ファイルシステムが次にマウントされた際に、孤立した割り当て領域をガベージコレクションするためにファイルシステムのバックグラウンドウォークを実行するだけで済みます。これにより、ファイルシステムはすべてのメタデータブロックまたはすべてのレコードをフラッシュすることなく、特定のファイルを選択的にフラッシュできます。

ディスクへの書き込み開始前にメタデータ依存関係グラフからリンクが解除されたデータは、ディスクに書き込む必要がありません。例えば、ファイルを作成し、短期間使用した後削除した場合、ディスクアクティビティが全く発生しない可能性があります。

ソフト アップデートでは、メタデータを不揮発性ストレージに定期的にフラッシュする必要があります。

実装

[編集]

FreeBSDはUFSファイルシステムのソフトアップデートをサポートしており[ 1 ]、長年にわたりインストール時にデフォルトで有効になっています。ソフトアップデートは、ファイルシステム作成時にnewfsコマンドのオプションを使って手動で有効または無効にすることができます。[ 2 ] その後は、コマンドのオプションを使っていつでも有効または無効にすることができますtunefs[ 3 ]fsck FreeBSD 9.0では、クラッシュ後のガベージコレクションの バックグラウンド処理を省くため、ソフトアップデートにジャーナリング機能が追加されました。 [ 4 ] [ 5 ]

OpenBSDはリリース7.4(2023年)までFFSファイルシステムのソフトアップデートをサポートしていましたが、その後無効になりました。[ 6 ]

NetBSDは6.0リリース(2012年)までソフトアップデートをサポートしていましたが、その時点でWAPBLジャーナリングに置き換えられ、ソフトアップデートは廃止されました。[ 7 ]

ジャーナリングファイルシステムとの比較

[編集]

ジャーナリングもソフト アップデートもデータが失われないことを保証するものではありませんが、ファイル システムの一貫性が維持されることは保証します。

ソフト アップデートを備えたファイル システムの利点は、ログの再生が行われないため、クラッシュ後すぐにマウントできることです。

注記

[編集]
  • Ganger, Gregory R.; Patt, Yale N. (1994年11月). 「ファイルシステムにおけるメタデータ更新パフォーマンス」 (PDF) . Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI) : 49–60 .

参考文献

[編集]
  1. ^ McKusick, Marshall Kirk; Neville-Neil, George V. (2005). "8.6". FreeBSDオペレーティングシステムの設計と実装. Addison-Wesley . ISBN 978-0321968975
  2. ^ "newfs(8)" . FreeBSD . 2017年7月7日. 2019年2月2日閲覧
  3. ^ "tunefs(8)" . FreeBSD. 2016年4月19日. 2019年2月2日閲覧
  4. ^ 「FreeBSD 9.0-RELEASE リリースノート」 . FreeBSD. 2012年1月12日. 2019年2月2日閲覧
  5. ^ McKusick, Marshall Kirk; Roberson, Jeff (2010-01-23). 「Journaled Soft-updates」(PDF) . 2019年2月2日閲覧。
  6. ^ 「将来のVFS作業のためにソフトアップデートは無効化」 OpenBSD_Journal 2023年7月5日2024年3月9日閲覧
  7. ^ 「NetBSD 6.0 を発表」 . NetBSD . 2012年10月17日. 2019年2月2日閲覧
[編集]

    ソフトアップデートは、クラッシュや停電発生時にファイルシステムの メタデータの整合性を維持するためのアプローチです。ソフトアップデートは、ファイルシステムのメタデータの更新間の依存関係を追跡し、適用することで機能します。ソフトアップデートは、より一般的に使用されているファイルシステムのジャーナリングアプローチの代替手段です。

    操作方法

    ソフトアップデートでは、ディスク上のファイルシステムの不整合を生じさせない、または発生する不整合がストレージスペースのリーク(どのファイルにも使用されていないにもかかわらず、割り当て済みとしてマークされる領域)のみとなるような、非同期メタデータ書き込みのみが許可されます。ソフトアップデートでは、フラッシュされていない、または部分的にロールバックされた可能性のある別のブロックに依存するメタデータブロックの一部を、書き込み時に一時的に「ロールバック」することで、順序付けされた同期メタデータ書き込みを回避します。

    実際には、ブロックはいつでもフラッシュされる可能性があり、ソフトアップデートコードは常にディスクに一貫性のあるメタデータを提供します(どのブロックが物理的にフラッシュされたかがわかっている限り)。その後のリカバリは、ファイルシステムが次にマウントされた際に、孤立した割り当て領域をガベージコレクションするためにファイルシステムのバックグラウンドウォークを実行するだけで済みます。これにより、ファイルシステムはすべてのメタデータブロックまたはすべてのレコードをフラッシュすることなく、特定のファイルを選択的にフラッシュできます。

    ディスクへの書き込み開始前にメタデータ依存関係グラフからリンクが解除されたデータは、ディスクに書き込む必要がありません。例えば、ファイルを作成し、短期間使用した後削除した場合、ディスクアクティビティが全く発生しない可能性があります。

    ソフト アップデートでは、メタデータを不揮発性ストレージに定期的にフラッシュする必要があります。

    実装

    FreeBSDはUFSファイルシステムのソフトアップデートをサポートしており[1]、長年にわたりインストール時にデフォルトで有効になっています。ソフトアップデートは、ファイルシステム作成時にnewfsコマンドのオプションを使用して手動で有効または無効にすることができます[2]tunefs 。その後は、コマンド のオプションを使用していつでも有効または無効にすることができます[3]fsck 。FreeBSD 9.0では、クラッシュ後のガベージコレクションの バックグラウンド処理を省くため、ソフトアップデートにジャーナリング機能が追加されました[4]。[5]

    OpenBSDはリリース7.4(2023年)までFFSファイルシステムのソフトアップデートをサポートしていましたが、その後は無効化されました。[6]

    NetBSDは6.0リリース(2012年)までソフトアップデートをサポートしていましたが、その時点でWAPBLジャーナリングに置き換えられ、ソフトアップデートは廃止されました。[7]

    ジャーナリングファイルシステムとの比較

    ジャーナリングもソフト アップデートもデータが失われないことを保証するものではありませんが、ファイル システムの一貫性が維持されることは保証します。

    ソフト アップデートを備えたファイル システムの利点は、ログの再生が行われないため、クラッシュ後すぐにマウントできることです。

    注記

    • Ganger, Gregory R.; Patt, Yale N. (1994年11月). 「ファイルシステムにおけるメタデータ更新パフォーマンス」(PDF) . Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI) : 49–60 .
    • McKusick, Marshall Kirk (2002). 「バックグラウンドでの「fsck」の実行」BSDCon 2002 Proceedings . pp.  55– 64.
    • McKusick, Marshall Kirk; Ganger, Gregory R. (1999). 「ソフトアップデート:高速ファイルシステムにおける同期書き込みの大部分を削減する手法」USENIX年次技術会議. pp.  1– 18.
    • Margo I. Seltzer他 (2000). 「ジャーナリングとソフトアップデート:ファイルシステムにおける非同期メタデータ保護」USENIX年次技術会議pp.  71– 84.

    参考文献

    1. ^ McKusick, Marshall Kirk; Neville-Neil, George V. (2005). "8.6". FreeBSDオペレーティングシステムの設計と実装. Addison-Wesley . ISBN 978-0321968975
    2. ^ "newfs(8)". FreeBSD . 2017年7月7日. 2019年2月2日閲覧
    3. ^ "tunefs(8)". FreeBSD. 2016年4月19日. 2019年2月2日閲覧
    4. ^ 「FreeBSD 9.0-RELEASE リリースノート」. FreeBSD. 2012年1月12日. 2019年2月2日閲覧
    5. ^ McKusick, Marshall Kirk; Roberson, Jeff (2010-01-23). 「Journaled Soft-updates」(PDF) . 2019年2月2日閲覧。
    6. ^ 「将来のVFS作業のためにソフトアップデートは無効化」OpenBSD_Journal . 2023年7月5日. 2024年3月9日閲覧
    7. ^ “Announcement NetBSD 6.0”. NetBSD . 2012年10月17日. 2019年2月2日閲覧
    • Marshall Kirk McKusick: ソフトアップデート、スナップショット、バックグラウンドFSCKに関する情報
    「https://en.wikipedia.org/w/index.php?title=Soft_updates&oldid=1324331088」より取得
    Original text
    Rate this translation
    Your feedback will be used to help improve Google Translate