여기서 스냅샷이란 무엇인가
인스턴스 디스크의 특정 시점 복사본으로, 스토리지 계층에서 생성되어 인스턴스가 실행되는 곳과 다른 스토리지에 기록됩니다. 슬롯은 팩으로 판매되며, 한 슬롯은 스냅샷 하나를 보유하고 덮어쓸 때 재사용됩니다. 스냅샷 생성은 인스턴스를 중단시키지 않으며, 그 후 몇 분 동안의 copy-on-write 비용은 지연 시간 그래프에 거의 나타나지 않을 정도로 작습니다.
그것은 백업이 아닙니다. 스냅샷은 인스턴스와 같은 사이트에 존재하므로, rm로부터는 보호하지만 사이트로부터는 보호하지 않습니다. 노드 외부 백업은 별도의 애드온으로, 사용자 측에서 암호화되어 다른 도시에 기록됩니다.
스냅샷 생성
curl -s -X POST https://paragonvps.com/api/v1/instances/<instance-id>/snapshots -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"label":"pre-upgrade"}'curl -s https://paragonvps.com/api/v1/instances/<instance-id>/snapshots -H "Authorization: Bearer $Paragon_TOKEN" | jq -r '.[] | .id + " " + .label + " " + .created'충돌 일관성, 그리고 그것으로 충분하지 않은 경우
실행 중인 인스턴스의 스냅샷은 정전 후 디스크가 보일 모습과 정확히 일치합니다. PostgreSQL, MariaDB 및 우리 이미지의 모든 저널링 파일 시스템은 시작 시 해당 상태에서 복구됩니다. 왜냐하면 그 상태에서 복구하는 것이 그들의 목적이기 때문입니다. 위험은 실제로 데이터베이스가 아닙니다. 서로 일치해야 하는 두 파일을 쓰는 중간에 있는 사용자 자신의 애플리케이션입니다.
깔끔한 경계가 필요한 경우, 데이터 볼륨을 플러시하고 동결시키는 데 걸리는 1초 동안:
sync
fsfreeze -f /srv/data
# take the snapshot here
fsfreeze -u /srv/data데이터 볼륨을 동결하십시오. /은 절대 동결하지 마십시오. 동결된 루트 파일 시스템은 동결을 해제하려는 프로세스가 아무것도 하지 못하게 막으며, 해결 방법은 하드 리셋뿐입니다.
데이터베이스의 경우 더 깔끔한 옵션은 스냅샷을 생성하고 엔진이 복구하도록 한 다음, 복구가 되었는지 확인하는 것입니다:
sudo -u postgres pg_isready
journalctl -u postgresql -n 50복원
복원은 인스턴스를 중지하고, 디스크를 스냅샷으로 교체한 후 다시 시작합니다. 몇 분이 아니라 몇 초입니다. 주소는 변경되지 않고, 설정한 역방향 DNS도 유지되며, 스냅샷 이후에 작성된 모든 것은 사라집니다.
그것은 복원을 결정하게 만든 것도 포함합니다. 손상된 상태의 로그를 읽고 싶을 가능성이 조금이라도 있다면, 먼저 그 상태의 스냅샷을 만든 다음 그 위에 복원하십시오.
curl -s -X POST https://paragonvps.com/api/v1/snapshots/<snapshot-id>/restore -H "Authorization: Bearer $Paragon_TOKEN"스케줄링
인스턴스별 스케줄은 플랫폼 개정 5.4에서 도입되었습니다. 고정된 시간에 매일 실행되고 순환 창이 있는 것이 일반적인 선택입니다: 슬롯이 가득 차면 가장 오래된 것이 삭제됩니다.
curl -s -X PUT https://paragonvps.com/api/v1/instances/<instance-id>/snapshot-schedule -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"cron":"20 3 * * *","keep":7}'우리에게 조용한 시간이 아니라 사용자 워크로드에 조용한 시간을 선택하십시오. 스냅샷의 스토리지 비용은 이후 변경되는 내용에 비례하므로, 야간 배치 작업 중에 실행되는 스케줄은 한 시간 후에 실행되는 스케줄보다 훨씬 더 많은 데이터를 보유합니다.
인스턴스 취소 시 스냅샷 삭제
인스턴스에 저장되어 있기 때문에 유예 기간 없이 즉시 삭제됩니다. 취소 후에도 유지하려는 모든 것은 오프노드 백업 또는 우리가 아닌 다른 곳에 있어야 합니다.