O que é um snapshot aqui
Uma cópia pontual do disco da instância, feita na camada de armazenamento e gravada em um armazenamento diferente do qual a instância executa. Slots são vendidos em pacotes; um slot contém um snapshot e é reutilizado quando você o sobrescreve. Tirar um não pausa a instância, e o custo de copy-on-write nos minutos seguintes é pequeno o suficiente para raramente aparecer em um gráfico de latência.
Não é um backup. Um snapshot vive no mesmo site que a instância, o que protege você dos seus próprios rm e não do site. Backup fora do nó é um add-on separado, criptografado do seu lado, gravado em uma cidade diferente.
Tirando um
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'Consistente com crash, e quando isso não é suficiente
Um snapshot de uma instância em execução é exatamente o que o disco pareceria após uma queda de energia. PostgreSQL, MariaDB e todo sistema de arquivos com journaling em nossas imagens se recuperam desse estado na inicialização, porque recuperar disso é para o que eles servem. O risco não é realmente o banco de dados. É o seu próprio aplicativo, no meio da escrita de dois arquivos que precisam concordar entre si.
Onde você precisa de uma linha limpa, faça flush e congele o volume de dados pelo segundo que leva:
sync
fsfreeze -f /srv/data
# take the snapshot here
fsfreeze -u /srv/dataCongele o volume de dados. Nunca congele /. Um sistema de arquivos raiz congelado impede que o processo que deveria descongelá-lo faça qualquer coisa, e a saída é um reset forçado.
Para um banco de dados, a opção mais organizada é tirar o snapshot e deixar o motor se recuperar, depois verificar se ele o fez:
sudo -u postgres pg_isready
journalctl -u postgresql -n 50Restaurando
Uma restauração para a instância, troca o disco pelo snapshot e inicia novamente. Segundos, não minutos. Os endereços não mudam, o DNS reverso que você configurou permanece, e tudo escrito desde o snapshot desaparece.
Isso inclui o que quer que tenha feito você decidir restaurar. Se houver qualquer chance de você querer ler os logs do estado corrompido, tire um snapshot dele primeiro e depois restaure por cima.
curl -s -X POST https://paragonvps.com/api/v1/snapshots/<snapshot-id>/restore -H "Authorization: Bearer $Paragon_TOKEN"Agendamento
Agendamentos por instância chegaram com a revisão 5.4 da plataforma. Diário em um horário fixo com uma janela móvel é a escolha comum: o mais antigo é descartado quando os slots estão cheios.
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}'Escolha uma hora que seja tranquila para a sua carga de trabalho, não para a nossa. O custo de armazenamento de um snapshot é proporcional ao que muda depois, então um agendamento que dispara durante o seu job noturno em lote mantém muito mais dados do que um que dispara uma hora depois.
Cancelar uma instância exclui seus snapshots
Imediatamente, sem período de carência, porque eles são armazenados contra a instância. Qualquer coisa que você queira manter após o cancelamento pertence ao backup fora do nó ou a algum lugar que não seja nós.