![LVM에서 읽기 전용 스냅샷을 생성한 다음 작업이 완료되면 해당 스냅샷으로 롤백하는 방법은 무엇입니까?](https://linux55.com/image/17391/LVM%EC%97%90%EC%84%9C%20%EC%9D%BD%EA%B8%B0%20%EC%A0%84%EC%9A%A9%20%EC%8A%A4%EB%83%85%EC%83%B7%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%9C%20%EB%8B%A4%EC%9D%8C%20%EC%9E%91%EC%97%85%EC%9D%B4%20%EC%99%84%EB%A3%8C%EB%90%98%EB%A9%B4%20%ED%95%B4%EB%8B%B9%20%EC%8A%A4%EB%83%85%EC%83%B7%EC%9C%BC%EB%A1%9C%20%EB%A1%A4%EB%B0%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
다음을 수행하려는 경우 LVM에서 어떤 명령을 사용할 수 있습니까?
- 볼륨의 읽기 전용 스냅샷을 생성합니다.
- (볼륨에서 몇 가지 실험을 수행하십시오);
- 그런 다음 볼륨을 스냅샷으로 롤백하시겠습니까?
답변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가 아니면 마운트 해제만으로 충분합니다.
병합 후에는 스냅샷이 삭제된다는 점을 기억하세요.