btrfs ファイルシステムをほかのデバイスにコピーする。

サーバのbtrfsボリュームのバックアップ用ドライブを新しくしたが、バックアップ用ドライブもbtrfsで用意すると、初回データコピーとかが楽という話。

ネタは https://wiki.archlinuxjp.org/index.php/Btrfs に書いてあるが、読み込み専用サブボリュームはどうやって作るんだっけ、と毎度調べているような気がするので、メモ。

前提

  • /tmp/org データコピー元デバイスのルートサブボリュームをマウント
  • /tmp/bck コピー先のルートサブボリュームをマウント
  • /tmp/org/home を /tmp/bck/home にコピーする。

/tmp/org の中

読み取り専用スナップショットの作成
btrfs subvolume snapshot -r home home_sender
スナップショットの送信
btrfs send home_sender | btrfs receive /tmp/bck
送ったスナップショットの削除
btrfs subvolume delete home_sender

/tmp/bck の中

スナップショット作成(名前を変えたい)
btrfs subvolume snapshot home_sender home
不要になったスナップショットの削除
btrfs subvolume delete home_sender/code>

以上で作業終了。
わざわざ読み取り専用スナップショットを作ってから消すのが正直面倒で、もっと作業を簡単にできるかもしれないが、とりあえず必要な作業はできるので、メモとして保存しときます、

コメントを残す