キャッシュディレクトリを失った後でもBorgリポジトリを復元できますか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

通常は問題ありません。Borgはリポジトリからローカルキャッシュの状態を再構築できますが、最初の操作は遅くなる可能性があり、リポジトリキーとパスフレーズも必要です。

クライアントのディスクが故障した場合や、リポジトリが無傷のままBorgのキャッシュディレクトリが削除された場合に、この判断が重要になります。競合する状態は、再構築可能なローカルキャッシュと、暗号化キー、認証情報の欠落、または破損したリポジトリです。保存済みの設定と使い捨てデータから始め、一度に1つの分岐だけを確認し、データ損失、権限、可用性のリスクが拡大する場合は中止してください。

ローカルキャッシュなしでBorgリポジトリを使用する判断の条件を定義する

変更を加える前に、ソフトウェアとファームウェアのバージョン、デバイスの識別情報、マウント先またはネットワークパス、空き容量、権限、確認できる症状など、環境を記録します。クライアントのディスクが故障した場合や、リポジトリが無傷のままBorgのキャッシュディレクトリが削除された場合を再現できるだけの詳細を、ベースラインに残す必要があります。

最初の候補は、再構築可能なローカルキャッシュです。2つ目は、暗号化キー、認証情報の欠落、または破損したリポジトリです。現在のBorgキャッシュの場所は、テストで使用する仕組みまたはコマンドの境界を定義するものであり、この特定のホームサーバーでの観察に代わるものではありません。

判別テストを実行する前に、合格条件と中止条件を書き出します。合格とは、一方の分岐が予測する証拠が変化し、関連のないサービスは変化しないことです。不合格の場合は、推測による修正を連鎖させるのではなく、保存済みの状態に戻せなければなりません。

元の要件を下げずに主張をテストする

次の判別テストを行います。リポジトリを保持し、キーを用意して読み取り専用の一覧または情報操作を実行し、その後キャッシュの再構築を許可してカナリアファイルを抽出します。結果を変更された変数に帰属できるよう、ワークロード、クライアント、パス、ファイルセット、タイミングを一定に保ちます。

Borgクライアントの状態を使って、分岐を実際に区別できる項目を選び、そのタイムスタンプ、終了ステータス、エラーテキスト、デバイスまたはスナップショットの識別情報、遅延、転送バイト数、権限、復旧状態を記録します。識別情報、耐久性、アプリケーション状態がテスト対象の主張である場合、コマンドが正常終了しただけでは不十分です。

元の条件に再起動、再接続、再マウント、またはキャッシュが空の状態が含まれる場合は、再起動後にテストを1回繰り返します。最初の実行が破壊的である場合や、環境を復元できない場合は中止し、代わりに使い捨てのコピーで再現してください。

borg list /repo
borg extract /repo::archive path/to/canary

合格、不合格、例外の結果を解釈する

合格: アーカイブが正しく一覧表示され、キャッシュの再構築後にカナリアファイルを復元できます。結論が普遍的な主張にならないよう、合格した正確なバージョン、識別情報、ワークロードを記録します。

不合格: リポジトリを認証できない、チェックに失敗する、またはキーが失われたクライアントにしか存在しない状態です。ただし、ネットワーク、メモリ、権限、ソースの整合性が両方の分岐に影響する可能性があるため、不合格だけで自動的に反対の分岐が証明されるわけではありません。問題を拡大する前に、これらの共通依存要素を切り分けてください。

例外または曖昧な結果: 書き込みを停止し、キーを復旧してから、修復を行う前にコピーしたリポジトリを確認します。復元可能なコピーが存在するまで、ログを保持し、repair、prune、destroy、repartition、再帰的な所有者変更コマンドを実行しないでください。

元のワークロードで判断を確認する

観測された分岐に対応する操作を適用し、その後、縮小した代替テストではなく元の条件を再現します。アーカイブが正しく一覧表示され、キャッシュの再構築後にカナリアファイルを復元できる状態が、2サイクル、または関連する再起動、スリープ、中断、負荷遷移をまたいで確認できた場合にのみ、判断が成立します。

Borgのメンテナンス時間帯を使って最も近い依存ワークフローを確認しますが、元のトリガーは変更しないでください。関連のないデータセット、共有、コンテナ、ユーザー、復旧ポイントは、以前のアクセス性とタイミングを維持する必要があります。

中止の境界は明確です。リポジトリを認証できない、チェックに失敗する、またはキーが失われたクライアントにしか存在しない場合は、最後に検証済みの設定へ戻し、証拠を保持します。分岐が再現可能な場合にのみ、より深いプラットフォームまたはハードウェアのテストへ進めてください。

対象の結果が得られたら、イミュータブルバックアップの時間帯と比較し、修正によって隣接するサービスにリスクが移らないことを確認します。新たなバックアップ、識別情報、タイムアウト、または可用性の障害が発生した場合、対象のテストに成功していても変更は失敗です。

よくある質問

ローカルキャッシュなしでBorgリポジトリを使用する場合、残る主な疑問は、Borgキャッシュがリポジトリデータのバックアップなのか、何を別途保存すべきか、キャッシュの損失でcompactまたはrepairを実行すべきか、という点です。以下では、これらのエッジケースを主要な判断から分けて扱います。

合格条件は変わりません。アーカイブが正しく一覧表示され、キャッシュの再構築後にカナリアファイルを復元できることです。後続の条件によってファイルシステム、識別情報、ネットワークパス、またはアプリケーションのバージョンが変わる場合は、その変更の影響を受ける判別テストだけを繰り返してください。

リポジトリを認証できない、チェックに失敗する、またはキーが失われたクライアントにしか存在しない場合は、実験を広げるのをやめてください。その時点で書き込みを停止し、キーを復旧してから、repairを行う前にコピーしたリポジトリを確認します。プラットフォーム、ストレージ、またはハードウェアの担当者へエスカレーションする前に、証拠を保持してください。

Borgキャッシュはリポジトリデータのバックアップですか?

いいえ。キャッシュは操作を高速化し、ローカル状態を保存するものです。リポジトリのアーカイブが正式なバックアップとして機能します。

何を別途保存する必要がありますか?

暗号化キーの情報、パスフレーズの復旧情報、リポジトリURL、復元手順です。

キャッシュを失った場合、compactまたはrepairを実行すべきですか?

いいえ。まずリポジトリの健全性を確認してキャッシュを再構築してください。メンテナンスは別の判断です。

ローカルキャッシュなしでBorgリポジトリを使用する場合の実際の答えは、依然として条件付きです。アーカイブが正しく一覧表示され、キャッシュの再構築後にカナリアファイルを復元できることが条件です。リポジトリを認証できない、チェックに失敗する、またはキーが失われたクライアントにしか存在しない場合は、書き込みを停止し、キーを復旧してから、repairを行う前にコピーしたリポジトリを確認してください。元のワークロードに耐えられない部分的な成功は、互換性があるとはいえません。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.