LVM에서 읽기 전용 스냅샷을 생성한 다음 작업이 완료되면 해당 스냅샷으로 롤백하는 방법은 무엇입니까?

LVM에서 읽기 전용 스냅샷을 생성한 다음 작업이 완료되면 해당 스냅샷으로 롤백하는 방법은 무엇입니까?

다음을 수행하려는 경우 LVM에서 어떤 명령을 사용할 수 있습니까?

  1. 볼륨의 읽기 전용 스냅샷을 생성합니다.
  2. (볼륨에서 몇 가지 실험을 수행하십시오);
  3. 그런 다음 볼륨을 스냅샷으로 롤백하시겠습니까?

답변1

나는 당신이 찾고 있다고 생각합니다 lvconvert --merge. 매뉴얼 페이지에서:

- 병합

스냅샷을 원래 볼륨에 병합합니다. 커널이 이 기능을 지원하는지 확인 snapshot-merge하려면 dmsetup targets. 원본 볼륨이나 스냅샷 볼륨이 모두 열려 있지 않으면 병합이 즉시 시작됩니다. 그렇지 않으면 소스 또는 스냅샷이 처음 활성화되고 둘 다 닫힐 때 병합이 시작됩니다. 종료할 수 없는 소스(예: 루트 파일 시스템)에 대한 스냅샷 병합은 다음에 소스 볼륨이 활성화될 때까지 연기됩니다. 병합이 시작되면 결과 논리 볼륨에는 소스 이름, 마이너 번호 및 UUID가 포함됩니다.
병합이 진행되는 동안 소스에 대한 읽기 또는 쓰기는 병합 중인 스냅샷으로 전달되는 것으로 나타납니다.병합이 완료되면 병합된 스냅샷이 삭제됩니다. 여러 스냅샷을 명령줄에 지정하거나 @tags를 사용하여 여러 스냅샷을 해당 소스에 병합하도록 지정할 수 있습니다.

/ 파일 시스템을 포함하는 논리 볼륨 vg0/system이 있다고 가정합니다.

# create a read-only snapshot
lvcreate -pr --snapshot --name system_snapshot vg0/system
# upgrade or something
# if it fails, reboot and do this from a livecd
lvconvert --merge vg0/system_snapshot
# reboot again and you have your old system back

이 경우 파일 시스템을 마운트 해제할 수 없기 때문에 재부팅이 필요합니다. /fs가 아니면 마운트 해제만으로 충분합니다.

병합 후에는 스냅샷이 삭제된다는 점을 기억하세요.

관련 정보