web-dev-qa-db-ja.com

ext4からZFSにバックアップするための適切なrsyncフラグ

ext4ファイルシステムを備えたUbuntu14.04.3 LTSを実行しているホームサーバーがあり、さまざまなデバイスから定期的にデータをバックアップしています。

これで、ZFSファイルシステムを備えた外付けUSBHDDをセットアップし、ホームサーバーからそのUSBドライブにすべてのデータをバックアップしたいと思います。また、外付けドライブでZFSを使用しているので、ZFSのスナップショット機能も使用したいと思います。

ext4からZFSにファイルをコピーするため、zfs sendコマンドを使用できません。したがって、私はrsyncで立ち往生しています。

私はしばらくの間rsyncを使用しているので、かなりよく知っています。 しかし、ターゲットファイルシステムでスナップショットを実行するので、できるだけスペースを無駄にしたくありません。

私は このブログ投稿 に出くわしました。これは次のコマンドを使用します:

/usr/bin/rsync -axH --no-whole-file --inplace --delete / /$backup_target/root/

-a-x、および--deleteのような通常のフラグの他に、以下も使用します。

  • -H(ハードリンク)、
  • --no-whole-file(delta-xferアルゴリズムを強制的に有効にする)、および
  • --inplace(新しいバックアップを作成する代わりにフォルダを更新します)。

私の質問:これらのフラグは十分ですか、それともいくつか追加または削除する必要がありますか?

バックアップフローは次のようになります。

  1. 毎回同じディレクトリにrsyncでバックアップする
  2. zfs snapshot backup@'date +%Y%m%d'を使用してそのディレクトリのスナップショットを作成します

--inplaceは必須だと思います(毎回同じディレクトリにバックアップするため)。変更されたデータブロックのみをコピーするため、おそらく--no-whole-fileについても同じことが言えます。しかし、-Hはどうですか?追加する必要のある他のフラグはありますか?

1
alesc

あなたが見つけたコマンドラインは、合理的な出発点を提供します。このセットを使用して、バックアップ用にrsyncを実行します(rsnapshotを使用します。これは、履歴にZFSスナップショットを使用するため、あまり関係ありません。ZFSの使用を開始する前に使用を開始しましたが、うまく機能するため、引き続き使用しています)。パラメータの:

_-aAHX --delete --numeric-ids --relative --delete-excluded
_

さらに、バックアップしたくないもののためのいくつかの_--exclude_パラメータ。私の設定とあなたが見つけた設定の主な違いは、おそらく_-A_(_--acls_)と_--delete-excluded_(dest dirsから除外されたファイルも削除する)の使用です。 。

コメントで説明したように、_--inplace_と_--no-whole-file_は、ユースケースではおそらく実際に害を及ぼすことのないオプションです。

_-x_(_--one-file-system_)は、バックアップするファイルシステムが1つまたは少数しかない場合に主に役立ちます。 (私はソース側でZFSファイルシステムを広範囲に使用しているので、代わりにバックアップターゲットの場所を_--exclude_します。)_-x_は、コマンドラインにソースとしてリストされているファイルシステム以外のファイルシステムに再帰しないようにrsyncに指示します。いずれにせよ、ターゲットの場所をrsyncのソースの場所の考えから遠ざける必要があります。それ以外の場合は、最初のバックアップで(たとえば)/ *が/ backup /にコピーされ、次に/ * およびが/ backupにコピーされた/ backupの一部として取得されます。 。これは、コメントでバックアップターゲットディレクトリをそれ自体に再帰的にコピーすることについて述べたときに意味したことです。

_zfs snapshot backup@'date +%Y%m%d'_を使用してそのディレクトリのスナップショットを作成します

明らかに、あなたはそれをzfs snapshot backup@$(date +'%Y%m%d')にしたいのです。 ($()を使用するか、アポストロフィではなくバッククォートを使用します。私は$()構文を好みます。1つには、ネスト可能です。)

また、ディスク容量が不足し始めたときのために、スナップショットプルーニング戦略を用意してください。

3
a CVn