스냅샷 관리 도구 구현

스냅샷 관리 도구 구현

Linux/Unix 시스템의 파일 시스템 스냅샷을 찍을 수 있는 명령줄 도구를 구현하고 싶습니다.

스냅샷 쓰기 중 복사 쓰기 중 리디렉션 로그 파일 스키마 분할 미러를 구현하는 방법에는 여러 가지가 있다는 것을 알고 있습니다.

이것이 다양한 파일 시스템이 스냅샷을 허용하는 이유라고 생각합니다. 스냅샷을 생성하고 관리하기 위해 장치의 파일 시스템과 상호 작용하는 도구를 구현하는 방법을 모르겠습니다.

이 도구를 찾았어요http://snapper.io/documentation.html그러나 이것이 어떻게 작동하는지 이해할 수 없습니다. 누군가가 관련 문헌에 대한 참고 자료를 공유할 수 있다면 도움이 될 것입니다.

답변1

보편적인 "스냅샷 API"는 없습니다. Snapper와 같은 도구에는 사용 가능한 모든 파일 시스템 및 볼륨 관리 기술에 대한 백엔드가 있으며, 스냅샷을 지원하고, 사용된 기술을 감지하고, 적절한 도구를 호출하여 스냅샷을 만듭니다.

예를 들어 btrfs에서는 상황이 매우 간단합니다. 마운트 지점을 기반으로 스냅샷을 생성하려는 하위 볼륨을 감지한 다음 실행하여 btrfs subvolume snapshot <source> <destination>스냅샷을 얻으면 됩니다. LVM 위에 XFS가 있는 경우 먼저 파일 시스템을 고정한 xfs_freeze다음 lvcreate --snapshot <vg>/<lv>. 물론 ZFS도 마찬가지입니다. 추상적으로 스냅샷을 찍고 다음과 같은 것을 사용할 수 있습니다.운영 체제 트리예를 들어 업그레이드 중에 시스템 파일의 "스냅샷"이 생성됩니다.

"Snapshots on Linux/Unix"에 관한 책이나 다른 소스는 없다고 생각합니다. 낮은 수준에서 어떻게 작동하는지 정말 관심이 있다면 일반 소스부터 시작해 보세요.BTRFS,좌심실 용적그리고ZFS. 하지만 Snapper가 이미 존재하고 원하는 대로 작동한다면 다른 도구를 만들 필요가 전혀 없습니다.

관련 정보