Em teoria, para que os snapshots do EBS sejam consistentes , você precisaria estar executando nenhum aplicativo com estado no momento em que o snapshot começa a ser criado. Infelizmente, o próprio Windows pode ser considerado stateful, o que pode causar confusão, especialmente se você estiver usando o cache de gravação.
Existem algumas partes interessantes mas confusas para isso:
- A parte 'instantâneo' do processo de instantâneo é feita imediatamente, não é necessário desativar gravações durante todo o tempo em que um instantâneo está pendente. Um grande volume pode levar horas para concluir o instantâneo, mas essa é apenas a parte backup ou cópia do instantâneo. Enquanto a Amazon não sofrer um corte de energia durante esse processo, o instantâneo final será os dados no disco exatamente no momento do instantâneo.
- Os instantâneos são obtidos de forma assíncrona. Portanto, a ferramenta de linha de comando não deve bloquear enquanto a captura instantânea estiver sendo criada, e seu retorno não terá relevância para o status da captura instantânea.
Tudo considerado, no entanto, isso geralmente não causa um grande problema. A questão da consistência é geralmente pequena. A principal coisa que pega as pessoas é a questão do cache. Se você tem o cache de gravação de disco ativado em seu sistema operacional ou aplicativo (ele está ativado no Windows por padrão), só porque você pensa ter escrito um arquivo em disco, não significa que o arquivo tenha sido gravado.
A outra grande questão que afasta as pessoas são as transações. Se, por exemplo, se você criar um site que permita o upload de arquivos, seus problemas estarão relacionados à captura instantânea durante o processo. Um exemplo comum seria um registro de banco de dados dizendo que o arquivo '1234' foi enviado para 'd: / files / 1234', mas o arquivo não existente como o arquivo não terminou de ser copiado para esse local quando o instantâneo aconteceu, mas o registro do banco de dados já está comprometido.
Uma coisa sobre a qual as pessoas se confundem é a consistência das palavras neste contexto, não se refere à capacidade de restaurar o instantâneo. Você sempre poderá criar um volume a partir do snapshot, o problema é se o seu aplicativo conseguir entender em que estado ele estava depois.
Se você tirasse um instantâneo do EBS de uma unidade do sistema Windows durante um procedimento de atualização do Windows, você acabará com alguns arquivos atualizados e alguns arquivos não. Felizmente, o Windows entende o processo de atualização e deve notar que a atualização falhou e lidar com isso na inicialização.
Se você pode escrever seu aplicativo para não se preocupar com arquivos parcialmente gravados em disco (não importa se uma entrada de log está faltando?), não é necessário usar o modo somente leitura. Uma maneira de abordar isso com uploads de arquivos é ter a pasta de upload diferente do local final (no mesmo disco). Quando o upload do arquivo for concluído e bem-sucedido, mova o arquivo para o local de repouso. O movimento deve ser realizado como um arquivo 'renomear' ao invés de byte por byte, e acontecer instantaneamente. Se o arquivo nunca chegar ao local final, você sabe que o upload falhou.