web-dev-qa-db-ja.com

NILFS全体をリモートの場所にバックアップする

SMEでNILFSを実装しようとしていますが、少し助けが必要です。監査人を満足させるために、現在のシステムと別の大陸のすべてのスナップショット/チェックポイントをバックアップする必要があります。現在は自作のシステム(Subversionベース)を使用して、それを別の大陸の別のコンピューターに簡単にrsyncできますが、NILFSファイルシステムをリモートでバックアップするにはどうすればよいですか?そのためのNILFSユーティリティはありますか、またはrsyncのLinuxブロックコピーバージョンはありますか?使うことができます?

よろしくお願いします。

乾杯、

ニール

1
Neil Benn

大陸間でスナップショットをコピーするユーティリティはなく、rsyncは間違いなく機能しません。ここに2つの可能なオプションがあります。

  • dRBDを使用します。 2つのサイト間にDRBDクラスターを作成します。プロトコルAを使用すると、大規模なWANおよび限られた帯域幅で十分なパフォーマンスを維持できます。ソースNILFSファイルシステムは、チェックポイントやスナップショットなどを使用して、宛先全体に完全に複製されます。

  • zFSスナップショットレプリケーションを使用します。これはNILFSとは異なりますが、必要に応じて15秒または30秒ごとにスナップショットを作成するのと同じくらい速く取得できます。ただし、(NILFSが提供するように)作成および変更されたすべてのファイルの完全なチェックポイントはありません。

[編集]完全で継続的なレプリケーションが必要なようですが、DRBD + NILFS2が最適なソリューションのようです。ブロックレベルの同期を行っているため、ファイルシステムは一度に一方の端(基本的には「マスター」側)でしか使用できないという制限があります。

「マスター」側と「リモート」側の両方でファイルシステムにアクセスする必要がある場合(およびその場合)は、次のようにする必要があります。

マスターで、次を実行します。

sync

直後に、スレーブで次を実行します。

drbd disconnect all
# check that you're offline...
drbd primary all

その後、ボリュームをスレーブ側にマウントできます(マスター側でまだ使用されている間)。もちろん、両側のボリュームにアクセスしている間、レプリケーションは一時停止されます。

完了したら、通常の方法で再接続します。スレーブで実行します。

drbd secondary all
drbd --discard-my-data connect all

マスターランで

drbd connect all

そしてしばらくすると、同期に戻るはずです。

1
wazoox