하위 디렉터리에서 상위 디렉터리로 Btrfs 스냅샷 복원

하위 디렉터리에서 상위 디렉터리로 Btrfs 스냅샷 복원

/root맨 위에 하위 볼륨( )이 있는 Btrfs 파티션이 있습니다 . subvol=root/etc/fstab에 옵션이 있습니다 .

매주 /root/snapshots/...읽기 전용 스냅샷을 찍습니다.

btrfs subvolume snapshot -r / /snapshots/"$(date --rfc-3339=date)"

/root( 로 설치되었기 때문에 경로가 없습니다 subvol=root.)

이제 문제가 발생하여 스냅샷에서 루트 하위 볼륨을 복원하고 싶다고 가정하고 USB 디스크에서 부팅하고 /mnt/disk파티션이 없는 것처럼 마운트합니다 subvol=root. 실행하려고 하면:

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root

/mnt/disk/root/2015-05-01교체하는 대신 새 하위 볼륨을 생성합니다 /mnt/disk/root/. 먼저 실행하여 제거하려고하면

btrfs subvolume delete /mnt/disk/root

오류 메시지가 표시됩니다.

ERROR: cannot delete '/mnt/disk/root' - Directory not empty

이를 수행할 수 있는 방법이 있습니까? 아니면 스냅샷을 만드는 습관을 들여야 할까요?외부하위 볼륨이 스냅샷되고 있습니까?

답변1

나는 이것이 당신이 잘못 가고 있다고 생각합니다 :

실행하려고 하면:

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root

/mnt/disk/root/를 바꾸는 대신 /mnt/disk/root/2015-05-01로 새 하위 볼륨을 생성합니다.

btrfs subvolume snapshot에 익숙해만들다첫 번째 매개변수의 스냅샷을 생성하고 이를 두 번째 매개변수로 지정된 디렉터리에 저장합니다. 기대하고 있는 것 같군요바꾸다 /mnt/disk/root대신에.

덮어쓰기를 시도하기 /mnt/disk/root전에 하위 볼륨(예:)을 이동하거나 삭제해야 합니다 mv /mnt/disk/root /mnt/disk/root-backup-during-restore. 그런 다음 다음을 수행하십시오.

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/

그런 다음:

mv /mnt/disk/2015-05-01 /mnt/disk/root

관련 정보