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

현재 가지고 있는 것은 두 개의 하위 볼륨이 있는 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나중에야 파일을 읽을 수 있으므로 이 작업을 수행할 수 없습니다.

결론적으로

특정 경우에는 기본 하위 볼륨을 변경하면 최상의 결과를 얻을 수 있다고 생각합니다.

관련 정보