운영 체제: 아치 리눅스 x86_64
/ & /home을 모두 포함하는 BTRFS 파일 시스템이 있습니다. / & /home에 대한 하위 볼륨을 생성하고, 각 하위 볼륨에 대한 스냅샷을 생성하고 해당 스냅샷에서 복원(Live CD에서 스냅샷 복원)하려면 어떻게 해야 합니까?
답변1
/ 및 /home에 대한 하위 볼륨 생성
/가 현재 BTRFS 파일 시스템의 루트 하위 볼륨이라고 가정하면 먼저 하위 볼륨을 생성한 다음 디렉터리를 해당 하위 볼륨으로 이동해야 합니다.
경고하다: 앞으로다음 명령을 사용할 때는 해당 명령을 읽고 작동 방식을 이해하십시오.
cd /
btrfs subvol create rootfs
btrfs subvol create homefs
cp -a --reflink=always bin usr root var rootfs/ # This is just a sample of directories to copy. But DON'T copy home.
cp -a --reflink=always home/* homefs/
/etc/fstab
그런 다음 rootfs 하위 볼륨을 사용하도록 / 마운트 지점을 편집 하고 변경합니다. 이는 옵션(-o)을 추가하여 수행됩니다 subvol=rootfs
. 그런 다음 /home
homefs 하위 볼륨을 사용하기 위한 마운트 지점을 추가합니다. 또한 부트로더에 구성된 루트 파일 시스템을 업데이트해야 합니다.
마지막으로 재부팅하고 새 마운트 지점이 사용되고 있는지 확인합니다. 모든 것이 순조롭게 진행되면 임시로 루트 하위 볼륨(/root/btrfs와 같은 디렉터리)을 마운트하고 복사한 원본 디렉터리를 삭제할 수 있습니다.
스냅샷 생성
개인적으로 저는 스냅샷이 포함된 하위 볼륨을 가지고 있습니다. 이렇게 하면 스냅샷을 마운트할 수 있습니다. /mnt/snapshots
그리고 실수로 삭제한 파일에 쉽게 액세스할 수 있습니다.
설정
mkdir /root/btrfs
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol create snapshots
읽기 전용 스냅샷 생성의 예
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol snapshot -r rootfs snapshots/rootfs-2019-04-11
스냅샷에서 복원
스냅샷에서 복원하는 데 LiveCD가 필요하지 않습니다. 프로세스는 매우 간단합니다. 하위 볼륨의 이름을 바꾼 다음 선택한 스냅샷에서 읽기-쓰기 스냅샷을 생성합니다.
rootfs 스냅샷 복원의 예.
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
mv rootfs rootfs-old # Even though rootfs would be mounted, you can still rename it without affecting the running system.
btrfs subvol snapshot snapshots/rootfs-2019-04-10 rootfs
복구를 적용하려면 다시 시작하세요.