BTRFSのロールバックルートスナップショット

BTRFSのロールバックルートスナップショット

私はただBTRFSパーティション1個/とを含みます/home

次のコマンドを使用して、ルートファイルシステムのスナップショットを撮りました。

btrfs subvolume snapshot / /root/snapshots/test

今、このスナップショットを復元したいと思います。どうすればいいですか?

リカバリメディアから起動してインストールすると、次の結果が表示されます。

# mount -t btrfs /dev/sda3 /mnt
# ls /mnt
# bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

ご覧のとおり、ここでは私のサブボリュームは表示されません。

しかし、私がこれを行うと:

$ btrfs subvolume list /
ID 256 gen 3794 top level 5 path fedora
ID 264 gen 2296 top level 256 path root/snapshots/test

このスナップショットを復元する方法は?

チュートリアルでは、サブボリュームの名前をルートに変更する必要があると言います。どうすればいいですか?

編集しようとしましたが役に立ち/etc/fstabませんでした。

ベストアンサー1

現在持っているのは、2つのサブボリュームを持つBTRFSファイルシステムです。

  1. fedora- これはあなたのために設定されました基本サブボリューム、これはサブボリュームを指定せずにファイルシステムをマウントすると表示されます。前任者。mount -t btrfs /dev/sda3 /mnt
  2. root/snapshots/test- これはあなたが作成したスナップショットです。fedora

BTRFSには、実際には回復スナップショットのようなものはありません。代わりに、起動するルートファイルシステムとして別のサブボリュームを使用するだけです。これを行う方法はいくつかあります。

サブボリュームの名前変更

これを行うには、まずIDが5で、ユーザーの場合はデフォルトでマウントされていない最上位ボリュームをマウントする必要があります。その後、一般ディレクトリの名前変更を実行できます。

メモ:ご使用のオペレーティングシステムは、デフォルトのサブボリュームをルートファイルシステムにマウントするように構成されており、この手順はデフォルトのサブボリュームを変更しないため、お客様の場合は機能しません。

mount -t btrfs -o subvolid=5 /dev/sda3 /mnt
cd /mnt
mv fedora fedora-old
mv fedora-old/root/snapshots/test fedora

基本サブボリュームの変更

プライマリサブボリュームを変更すると、再起動時にシステムが新しいプライマリサブボリュームから起動します。以下に示すサブボリュームID 264は、あなたの例からのものです。btrfs subvolume list /

btrfs subvolume set-default 264 /

ブートローダでルートサブボリュームを変更する

これを行う方法はブートローダによって異なりますが、GRUBなどのブートローダには通常、ルートファイルシステムとしてマウントされるファイルシステムを指定する設定行が含まれています。この構成を変更して他のサブボリュームを起動できます。残念ながら、表示する例はありません。ただし、/etc/fstab後でファイルを読み取ることができるため、これを行うことはできません。

結論として

場合によっては、デフォルトのサブボリュームを変更すると、最良の結果が得られると思います。

おすすめ記事