Linux / Unixシステムのファイルシステムスナップショットを撮ることができるコマンドラインツールを実装したいと思います。
スナップショットの書き込み中のコピー書き込み中のリダイレクトログファイルスキーマ分割ミラーを実装する方法はいくつかあります。
これは、さまざまなファイルシステムがスナップショットを許可する理由だと思います。スナップショットを作成して管理するためにデバイスのファイルシステムと対話するツールを実装する方法がわかりません。
このツールを見つけました。http://snapper.io/documentation.htmlしかし、これがどのように機能するのか理解できません。誰かが関連文献に関する参考資料を共有できる場合は役立ちます。
答え1
普遍的な「スナップショットAPI」はありません。 Snapperなどのツールには、利用可能なすべてのファイルシステムとボリューム管理技術のバックエンドがあり、スナップショットをサポートし、使用された技術を検出し、適切なツールを呼び出してスナップショットを作成します。
たとえば、btrfsでは、状況は非常に簡単です。マウントポイントに基づいてスナップショットを作成するサブボリュームを検出し、実行してbtrfs subvolume snapshot <source> <destination>
スナップショットを取得します。 LVMの上にXFSがある場合は、まずファイルシステムを固定してxfs_freeze
からlvcreate --snapshot <vg>/<lv>
。もちろんZFSも同様です。抽象的なスナップショットを撮り、次のようなものを使用できます。オペレーティングシステムツリーたとえば、アップグレード中にシステムファイルの「スナップショット」が作成されます。
「Snapshots on Linux/Unix」に関する本や他のソースはないと思います。低レベルでどのように機能するのか本当に興味がある場合は、通常のソースから始めてください。BTRFS、左心室容積そしてZFS。しかし、Snapperがすでに存在し、必要に応じて動作している場合は、他のツールを作成する必要はありません。