lvm tuto에서 "cow"에 대한 언급을 보았는데, 스냅샷 볼륨이 오버레이 또는 다른 소 fs처럼 작동한다고 계속 생각하게 했기 때문에 혼란스러웠고, 원본 볼륨의 내용을 수정한 후에는 변경 사항이 Write in이 될 것입니다. 그것.
그렇다면 실제로 스냅샷 볼륨은 원본 파일이 수정된 후에도 볼륨에 있는 파일의 원본 복사본을 유지합니까? 내가 이것을 이해하는 것이 옳은가?
btrfs 스냅샷도 이와 같이 작동할 수 있나요?
즉, 저는 수정에 더 관심이 있고 수정된 파일과 증분 백업과 같이 원본 볼륨에 적용된 기타 변경 사항을 가져오고 싶습니다. 이를 수행하는 더 좋은 방법이 있습니까?
답변1
btrfs는 파일 시스템이고 파일에서 작동하는 반면 LVM은 블록 수준에서 작동하고 디스크 블록에서 작동하기 때문에 LVM을 btrfs와 실제로 비교할 수 없습니다. LVM 볼륨은 일반적으로 파일 시스템을 포함하지만 LVM 자체는 파일에 대해 아무것도 모릅니다.
LVM은 블록 수준에서 쓰기 중 복사를 수행합니다. 스냅샷이 생성된 후 볼륨의 특정 블록을 처음 덮어쓸 때 해당 블록의 이전 내용이 먼저 스냅샷에 복사됩니다. LVM은 데이터가 무엇인지 모르거나 신경 쓰지 않습니다.방법: 파일의 일부인지, 여유 공간인지, 내부 파일 시스템 구조인지 등입니다. 이는 볼륨의 특정 위치에 있는 바이트 블록일 뿐입니다.
이는 스냅샷이 생성될 당시 전체 LVM 볼륨의 원본 내용을 스냅샷이 유지한다는 의미입니다. 볼륨에 파일 시스템이 포함되어 있는 경우(일반적인 경우) 스냅샷에는 과거에 존재했던 해당 파일 시스템의 복사본이 포함됩니다. 파일 시스템의 기록 복사본을 마운트하고 파일의 이전 버전에 액세스할 수 있습니다. 이는 파일 시스템의 "현재" 복사본이 있는 기본 볼륨과 완전히 독립적입니다.
볼륨과 스냅샷 간의 파일 차이점을 찾으려면 두 파일 시스템을 모두 마운트하고 다른 도구를 사용하여 두 파일 세트를 비교해야 합니다. LVM은 파일에 대해 아무것도 모르기 때문에 스냅샷에 저장된 기록 블록 데이터에 어떤 파일이 포함되어 있는지 알려줄 수 없습니다.