2013-10-21 4 views
0

나는 스냅 샷이 백업으로 어떻게 작동하는지 혼동합니다. 나는 현재 매일 밤 우리의 몽고 데이터와 로그의 스냅 샷을 수행하는 스크립트를 실행 중이다. 그러나 나는 스냅 샷이 점진적이라는 정보를보고있어 혼란 스럽습니다. 그들은 점증 적입니까? 그렇다면 기본 작업은 무엇이며 어떻게 기본 작업을 재설정합니까? 차라리 완벽한 스냅 샷을 찍을 것입니다.아마존의 EBS 스냅 샷에 대한 혼란

또한 이전 스냅 샷을 자동 실행하는 방법에 대해 알고있는 사람이 있습니까? 그들은 단지 계속 건물을 짓는다.

+0

dba.stackexchange.com으로 이동하는 것이 좋습니다. 프로그래밍보다 인프라가 더 많기 때문입니다. – WiredPrairie

+0

dba.se가 올바른 사이트라고 생각하지 않습니다. 실제 데이터베이스에 대한 것이 아닌 ec2 & ebs 스냅 샷에 관한 것 같습니다. –

답변

4

모든 EBS 스냅 샷은 독립 실행 형 스냅 샷입니다. 새 볼륨으로 복원하는 경우 스 내샷 시점의 볼륨과 동일한 볼륨을 제공합니다.

그러나 스냅 샷은 S3에 저장되며 저장 방법 (그리고 저장을 위해 요금이 청구되는 방식)은 점진적입니다.

Amazon EBS 스냅 샷은 증분 백업이므로 마지막 스냅 샷 이후 변경된 장치의 블록 만 저장됩니다. 100GB의 데이터를 가진 장치가 있지만 마지막 스냅 샷 이후 5GB의 데이터 만 변경된 경우 5GB의 추가 스냅 샷 데이터 만 Amazon S3에 다시 저장됩니다. 스냅 샷이 점진적으로 저장 되더라도 스냅 샷을 삭제하면 다른 스냅 샷에 필요하지 않은 데이터 만 제거됩니다. 따라서 어떤 이전 스냅 샷이 삭제되었는지에 관계없이 모든 활성 스냅 샷에는 볼륨 복원에 필요한 모든 정보가 포함됩니다. 또한 볼륨을 복원하는 시간은 모든 스냅 샷에서 동일하므로 증분 공간을 절약하면서 전체 백업의 복원 시간을 제공합니다. 무대 뒤에서 그래서 http://aws.amazon.com/ebs/

—이 스냅 샷은 이전 스냅 샷에서 변경된 블록 만 포함 ...하지만 스냅 샷을 복원하면 다시 함께 증분 조각을 넣어해야 의미하지 않는다 . EBS는 당신을 위해 그것을 자동으로 수행합니다.

그래서 100GB EBS 볼륨과 스냅 샷 A, B 및 C를 순서대로 사용한다고 가정하고 볼륨의 다른 스냅 샷은없는 것으로 가정 해 보겠습니다.

스냅 샷 A의 크기는 100GB입니다 (작성한 적이없는 공간이 shapshot에서 제거 될 수 있으므로 크기가 작을 수도 있음).

20GB가 변경된 경우 스냅 샷 B는 20GB 크기이지만 스냅 샷 A에서 변경되지 않은 데이터에 대한 포인터가 있기 때문에 결과 볼륨에는 전체 100GB가 포함됩니다.

또 다른 10GB가 변경되면 스냅 샷 C가 생성됩니다. 이전 데이터의 경우 B로 되돌아가는 포인터와 나머지는 A의 포인터가있는 10GB 스냅 샷이됩니다. 스냅 샷 B를 삭제하면 snapshot B에서 변경되었지만 이후에는 shapshot C에서 변경되지 않은 블록이 스냅 샷 C로 롤 포워드됩니다. 이제 스냅 샷 C를 복원 할 때 스냅 샷 B를 삭제하면이 스냅 샷을 복원하면 스냅 샷 C를 사용했을 때의 전체 볼륨이 생깁니다.

이제 스냅 샷 B를 삭제하면 스냅 샷 B에서 변경된 블록이 스냅 샷 C 따라서 스냅 샷 C 시점에서 전체 볼륨을 복원 할 수 있으며 스냅 샷 C는 30GB 스냅 샷이됩니다.

동일한 블록 중 일부가 A -> B 및 B -> C로 변경되어 C의 최종 버전이 30GB보다 약간 작지만 일반적 아이디어를 전달할 가능성이 있기 때문에 이는 지나치게 단순화 된 것입니다.모든 스냅 샷은 복원 목적으로 만 사용되지만 EBS의 내부 작업에는 이전 스냅 샷과의 차이점 만 저장되므로 스냅 샷에 포함 된 데이터 양에 대한 스토리지 비용 만 지불하면됩니다. 안타깝게도 현재 스냅 샷이 실제로 얼마나 큰지 API를 통해 알 수있는 방법은 없습니다.이 정보는 공개되지 않기 때문에 항상 볼륨과 크기가 동일합니다.

스냅 샷을 자동으로 제거하는 방법은 없습니다. 필자의 시스템에서는 하루에 한 번 실행되는 스크립트를 작성하여 태그를 기준으로 스냅 샷 볼륨을 찾습니다. 그런 다음 보존 정책에 따라 충분한 볼륨이있는 볼륨을 고려하고 다른 스냅 샷을 삭제하지만 스냅 샷 자체가 생성 한 스냅 샷 만 삭제합니다. 스냅 샷이 생성 한 스냅 샷에 적용되는 태그를 기반으로합니다 .

+0

감사합니다. 흑 마술처럼 들리며 뒤에서 일어나는 일들. RBS와 마찬가지로 Amazon에서 EBS 용 백업 기능을 설정하면 매우 유용 할 것입니다. 나는 이것으로 얼마간 실험 할 것이다. 다시 말하지만, 매우 철저한 답변에 감사드립니다. – CargoMeister

+0

Eric Hammond의 [ec2-consistent-snapshot 유틸리티] (http://alestic.com/2012/02/ec2-consistent-snapshot-on-github)를 살펴볼 수도 있습니다. 스냅 샷을 가져 오는 동안 파일 시스템을 정지 시키므로 가장 신뢰할 수있는 스냅 샷을 얻을 수 있어야합니다. 항상 그렇듯이 백업 전략을 사용하여 실제로 테스트 복구를 수행하지 않으면 실제로 백업 전략이없는 것입니다. :) –

+0

아, 그래, 전에 봤어. 그것은 결국 나 빠지게되었다. 우리가 훨씬 더 나아 가기 전에, 스냅 샷의 삭제를 포함하여 모든 것을 테스트하려고합니다. 다시 한번 감사드립니다. – CargoMeister

관련 문제