これまで、LVM(CoW)スナップショット(データの破損を防ぐために起動時に作成可能)を使用して、複数のLVにインストールされているシステム全体の半自動バックアップ方法を使用していました。つまり、バックアップを作成する必要があると思われる場合は、これらのスナップショットLV(ライブシステムがマウントされているのと同じ方法)を読み取り専用モードで特定の場所にマウントするスクリプトを実行し、別のスクリプトを実行して実行します。圧縮バックアップは最終的にシステム全体の圧縮バックアップを単一のアーカイブファイルとして作成します。整えられた...
今、新しいユースケースがあり、良い解決策を見つけようとしています。物を保存する目的で外付けハードドライブがあるとしましょう。ご存知のように、暗号化されており、独自のVGとLVがあり、各VGとLVは、写真、ビデオ、ドキュメント、システムバックアップアーカイブなど、さまざまな種類のデータを保存することに専念しています。これは、データ型とLVMのすべての優れた機能に基づいてファイルシステムを選択できる柔軟性を提供します。時々、私はこのモンスターをリンクして保存したいものに応じて、2つのLVのうちの1つに多くのコンテンツをコピーします。次に、(理想的には)最初の外付けハードドライブのミラーとして機能する別の外付けハードドライブがあります。また、理想的には、ミラーリングは両方のデバイスが接続されているときに自動的に発生する必要があり、コンテンツを最初のデバイスにのみ明示的にコピーします(たとえば、CoWのように増分ミラーリングと呼ばれる必要があるかもしれませんが、これが可能かどうかはわかりません)。たとえば、最初のデバイスは接続して書き込みになりますが、2番目のデバイスはそうでない場合も処理する必要があります。つまり、次に2番目のデバイスが接続されている場合は、今回最初のデバイスに書き込んだデータだけでなく、最後に見逃したデータもミラーリングする必要があります。そのため、ミラーリングに言及したようです。この場合、増分実行は不可能であり、完全なレプリケーションのスコープが必要です。
これまで、次の解決策を検討してきました。
- LVMスナップショットはここで役に立たないようです:
- これはCoWです。つまり、実際にはスナップショットLVでミラー全体を維持しません(最初のデバイスに書き込まれてからすべてのデータが変更されていない場合)。
- 別々の独立したPVでVGを拡張する必要があるだけでなく、技術的に独立した別々の物理デバイスからVGを拡張する必要があります(私はこれらの組み合わせが好きではなく、避けたい)。
- 以下を介してセクターを複製する
dd
:- 2番目のデバイスで同じクローンを生成することは明らかです。
- ~によるとLVMとクローンHD、この場合、LVM構成が明らかに重複しているため、一部の名前を変更するブラックマジックが実行されないと、データが破損する可能性があるため危険です。ここで他の解決策が見つからない限り、名前変更スクリプトを作成したくありません。 )私にとっては壊れやすいスレッドのようです)。
- 最初のデバイスのLVにいくつかのファイルをコピーするたびに、ミラーを維持するために2番目のデバイス全体を上書きするのは過度に聞こえます。
- どこで変更されたかを検出できず、両方が挿入され、最初の項目が作成されたという事実だけに基づいて透明にコピーされるため、実際には自動化されません(これを「要求時に」と呼びます)。
rsync
2つのデバイスの対応するLV間のファイル数:- 良いことは、2番目のデバイスを1〜2回接続できなかった場合でも変更のみを同期することです(これは大きな利点です)。
- 複雑に見えます。
- そのLVを同時にインストールするには、スクリプトを作成する必要があります。
- 自動化されていないため(手動で実行する必要があるため)、エラーが発生しやすいです。
- 最初のデバイスに基づいて、2番目のデバイスで同じパーティションスキームとLVMを手動で再作成する必要があります(自動化できますが、まだ可能です)。
- LVM RAID1?同時に、接続および/または取り付けが可能または取り付けられない可能性がある2つのプラグアンドプレイデバイスを設定することがどれほど安定しているか、可能であるかわかりません。上記のオプションとどのように比較されますか?経験を共有していただきありがとうございます。
- 他の解決策、多分悪用しますか
vgimportclone
?
これに関するすべてのコメント、特にあなたが直接設計しカスタマイズした既にテスト/使用されているソリューション、またはこの状況を管理するために既存のツールを使用していただきありがとうございます。目標は、できるだけ簡単に/エラー発生の可能性を最小化/自動化することです。ありがとうございます!