Pode criar instantâneos consistentes com a aplicação de discos anexados a instâncias de máquinas virtuais (VM) Linux. Em geral, a qualidade da imagem instantânea do disco depende da capacidade das suas aplicações de recuperar de imagens instantâneas que cria durante cargas de trabalho de escrita intensivas. As cópias instantâneas consistentes com a aplicação capturam o estado dos dados da aplicação no momento da cópia de segurança com todas as transações da aplicação concluídas e todas as escritas pendentes descarregadas para o disco.
Para criar instantâneos consistentes com a aplicação, pause as apps ou os processos do sistema operativo que escrevem dados no disco, limpe as memórias intermédias do disco e sincronize o sistema de ficheiros antes de criar o instantâneo. Consoante a sua aplicação, estes e outros passos podem ser necessários para garantir que todas as transações da aplicação são concluídas e captadas na cópia de segurança.
Para criar uma imagem instantânea consistente da aplicação dos seus discos, use o seguinte processo:
- Para preparar o ambiente convidado para a consistência da aplicação, crie scripts de shell personalizados para executar antes e depois da captura do instantâneo
- Configure as definições de instantâneo na instância da máquina virtual (VM).
- Crie um instantâneo com a opção
guest-flush
ativada. A opçãoguest-flush
inicia os scripts de pré e pós-instantâneo.
Antes de começar
- Crie uma VM do Linux.
- Atualize o ambiente convidado.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Funções e autorizações necessárias
Para receber as autorizações de que precisa para gerir as cópias de segurança instantâneas padrão, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto:
-
Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Para estabelecer ligação a uma VM que pode ser executada como uma conta de serviço:
Utilizador da conta de serviço (v1) (
roles/iam.serviceAccountUser
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para gerir as capturas de ecrã padrão. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para gerir as capturas de ecrã padrão:
-
Para criar um instantâneo de um disco zonal:
-
compute.snapshots.create
-
compute.disks.createSnapshot
-
-
Para criar um instantâneo de um disco regional com os dados no disco:
-
compute.snapshots.create
-
compute.instances.useReadOnly
-
compute.disks.createSnapshot
-
-
Para criar um instantâneo de um disco regional a partir de um ponto de verificação de recuperação de réplica:
-
compute.snapshots.create
-
compute.disks.createSnapshot
-
-
Para criar uma programação de instantâneos:
compute.resourcePolicies.create
-
Para anexar um horário de instantâneos a um disco:
-
compute.disks.addResourcePolicies
-
compute.resourcePolicies.use
-
-
Para eliminar um instantâneo:
-
compute.snapshots.delete
-
compute.snapshots.list
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Limitações
A criação de instantâneos consistentes com a aplicação no Linux tem as seguintes limitações:
- A consistência da aplicação só é garantida pelo comportamento dos seus scripts personalizados pré e pós-instantâneo, e não pela própria operação de instantâneo.
- Quando usa a opção
guest-flush
no seu pedido de criação de instantâneo, o instantâneo não é criado se o script devolver um erro ou atingir o limite de tempo limite.
Crie scripts de pré e pós-instantâneo
Antes de continuar, atualize o ambiente convidado para que esteja a executar o software mais recente na sua VM do Linux.
Para facilitar a consistência da aplicação, crie scripts de shell pré e pós-resumo para executar antes e depois da captura do resumo. Use os scripts pré e pós para operações como:
- Pause as apps ou os processos do sistema operativo em execução na VM que escrevem dados no disco.
- Limpe as buffers de disco. Por exemplo, o MySQL tem uma declaração
FLUSH
. Use a ferramenta disponível para a sua aplicação. - Sincronize o seu sistema de ficheiros.
O exemplo de código seguinte mostra um script de pré-captura. Tenha em atenção os
#!
carateres iniciais.#!/bin/bash sudo fsfreeze -f [example-disk-location]
O exemplo de código seguinte mostra um script de instantâneo de publicação. Tenha em atenção os
#!
carateres iniciais.#!/bin/bash sudo fsfreeze -u [example-disk-location]
Tem de guardar os seus scripts na VM no diretório
/etc/google/snapshots/
. O caminho completo do script prévio tem de ser/etc/google/snapshots/pre.sh
e o caminho completo do script posterior tem de ser/etc/google/snapshots/post.sh
.Fazer referência a discos específicos nos seus scripts
O primeiro argumento transmitido aos seus scripts pré e pós-instantâneo é uma lista de discos para os quais está a criar instantâneos. Pode usar este argumento nos seus scripts para várias verificações. Por exemplo, se a sua VM tiver vários discos anexados, mas só tiver especificado um disco no pedido de instantâneo, pode verificar para que disco está a ser criado o instantâneo.
O argumento está formatado da seguinte forma:
- Discos ligados por SCSI: uma lista separada por vírgulas de pares
<target/lun>
. - Discos ligados a NVME: uma lista separada por vírgulas de pares
<nvme:namespace>
.
Por exemplo, o disco de arranque ligado por SCSI pode aparecer como
1/0
, enquanto um disco adicional ligado à VM pode aparecer como2/0
.Edite o ficheiro de configuração do ambiente de convidado
Configure as definições de instantâneos consistentes com a aplicação atualizando um ficheiro de configuração específico na sua VM.
Abra ou crie o ficheiro de configuração do ambiente convidado.
edit /etc/default/instance_configs.cfg
Adicione a secção seguinte ao ficheiro de configuração e, de seguida, guarde as alterações e saia do editor.
[Snapshots] enabled = ENABLED timeout_in_seconds = TIMEOUT_SECONDS
Substitua o seguinte:
ENABLED
: definido comotrue
para ativar a funcionalidade de instantâneo consistente da aplicação. O valor predefinido éfalse
.TIMEOUT_SECONDS
: o número de segundos que o script de pré-instantâneo ou pós-instantâneo pode demorar a terminar a execução antes de atingir o limite de tempo. O valor inteiro tem de estar entre 0 e 300. O valor predefinido é60
.
Reinicie o agente convidado para usar as novas definições de configuração.
$ sudo systemctl restart google-guest-agent.service
Crie um instantâneo com a opção
guest-flush
ativadaUse a Trusted Cloud consola, a Google Cloud CLI ou o REST para criar uma cópia instantânea com a opção
guest-flush
ativada. Isto inicia a execução dos scripts de pré e pós-resumo antes e depois da captura do resumo.Consola
Aceda à página Criar uma captura instantânea na Trusted Cloud consola.
Aceda à página Crie um instantâneo- Introduza um Nome para o instantâneo.
-
Selecione um Tipo de instantâneo. A predefinição é uma cópia instantânea
STANDARD
, que é a melhor opção para cópias de segurança a longo prazo e recuperação de desastres.Escolha Arquivo de instantâneo para uma retenção de dados mais rentável.
- Opcional: introduza uma descrição do instantâneo.
- Em Disco de origem, selecione o disco existente do qual quer criar uma captura instantânea.
Na secção Localização, escolha a localização de armazenamento das suas fotos instantâneas.
A localização predefinida ou personalizada definida nas definições de instantâneo é selecionada automaticamente. Opcionalmente, pode substituir as definições de instantâneo e armazenar os instantâneos numa localização de armazenamento personalizada da seguinte forma:
Escolha o tipo de localização de armazenamento que quer para a sua captura instantânea.
- Escolha Multirregional para uma maior disponibilidade a um custo mais elevado.
- Escolha Capturas instantâneas regionais para ter mais controlo sobre a localização física dos seus dados a um custo mais baixo.
- No campo Selecionar localização, selecione a região específica ou multirregião que quer usar. Para usar a região ou a multirregião mais próxima do disco de origem, selecione Com base na localização do disco.
- Selecione a opção Ativar instantâneo consistente da aplicação.
- Clique em Criar para criar a captura de ecrã.
gcloud
Pode criar o instantâneo na política de localização de armazenamento definida pelas suas definições de instantâneo ou usando uma localização de armazenamento alternativa à sua escolha. Para mais informações, consulte o artigo Escolha a localização de armazenamento das capturas de ecrã.
Para criar uma captura de ecrã na localização predefinida ou personalizada configurada nas definições de captura de ecrã, use o comando
gcloud compute snapshots create
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --guest-flush
-
Em alternativa, para substituir as definições de imagens instantâneas e criar uma imagem instantânea numa localização de armazenamento personalizada, inclua a flag
--storage-location
para indicar onde armazenar a imagem instantânea.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION \ --guest-flush
-
(Pré-visualização) Para criar um instantâneo com âmbito regional numa região permitida, inclua a flag
--region
para indicar onde criar o instantâneo.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
Substitua o seguinte:
- SNAPSHOT_NAME: um nome para o resumo.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do volume do disco a partir do qual quer criar uma captura instantânea.
- SNAPSHOT_TYPE: o tipo de instantâneo, STANDARD ou ARCHIVE.
Se não for especificado um tipo de instantâneo, é criado um instantâneo
STANDARD
. -
STORAGE_LOCATION: Opcional: para instantâneos com âmbito global, a multirregião do Cloud Storage ou a região do Cloud Storage onde quer armazenar o instantâneo. Só pode especificar uma localização de armazenamento.
Use o parâmetro
--storage-location
apenas quando quiser substituir a localização de armazenamento predefinida ou personalizada configurada nas definições de instantâneo. -
SNAPSHOT_SCOPE_REGION: opcional: para resumos com âmbito regional, a região à qual o resumo se destina. Se incluir este parâmetro, não pode usar o parâmetro
--storage-location
. O STORAGE_LOCATION é automaticamente definido como SNAPSHOT_SCOPE_REGION.
REST
Pode criar o instantâneo na política de localização de armazenamento definida pelas suas definições de instantâneo ou usando uma localização de armazenamento alternativa à sua escolha. Para mais informações, consulte o artigo Escolha a localização de armazenamento das capturas de ecrã.
-
Para criar um instantâneo na localização predefinida ou personalizada configurada nas definições de instantâneos, faça um pedido
POST
ao métodosnapshots.insert
:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "guestFlush": true, }
-
Em alternativa, para substituir as definições de instantâneo e criar um instantâneo numa localização de armazenamento personalizada, faça um pedido ao método
POST
e inclua a propriedadesnapshots.insert
no seu pedido:storageLocations
POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], "guestFlush": true, }
-
(Pré-visualização) Para criar uma imagem instantânea com âmbito regional numa região permitida, faça um pedido
POST
ao métodosnapshots.insert
e defina a região de criação:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
Substitua o seguinte:
- DESTINATION_PROJECT_ID: o ID do projeto no qual quer criar a captura de ecrã.
- SNAPSHOT_NAME: um nome para o resumo.
- SOURCE_PROJECT_ID: o ID do projeto do disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco a partir do qual quer criar uma captura instantânea.
- SNAPSHOT_TYPE: o tipo de instantâneo, STANDARD ou ARCHIVE.
Se não for especificado um tipo de instantâneo, é criado um instantâneo
STANDARD
. -
STORAGE_LOCATION: Opcional: para instantâneos com âmbito global, a multirregião do Cloud Storage ou a região do Cloud Storage onde quer armazenar o instantâneo. Só pode especificar uma localização de armazenamento.
Use o parâmetro
storageLocations
apenas quando quiser substituir a localização de armazenamento predefinida ou personalizada configurada nas definições de instantâneo. SNAPSHOT_SCOPE_REGION: Opcional: para resumos com âmbito regional, a região à qual o resumo se destina. Se incluir este parâmetro, não pode usar o parâmetro
storageLocations
. O STORAGE_LOCATION é automaticamente definido como SNAPSHOT_SCOPE_REGION.
Crie um agendamento de instantâneos com a opção
guest-flush
ativadaUse instantâneos agendados para fazer regularmente e de forma automática uma cópia de segurança do seu disco persistente zonal e regional e do Google Cloud Hyperdisk. Se quiser programar instantâneos consistentes com a aplicação para a sua cópia de segurança, use a opção
--guest-flush
quando criar a programação de instantâneos para que os scripts pré e pós-instantâneo sejam executados antes e depois de cada instantâneo programado.Por exemplo, depois de configurar o ficheiro de configuração do ambiente de convidado e criar scripts personalizados, o seguinte comando cria instantâneos consistentes da aplicação de hora a hora:
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "MY HOURLY SNAPSHOT SCHEDULE" \ --start-time 22:00 \ --hourly-schedule 4 \ --guest-flush \ --max-retention-days SNAPSHOT_RETENTION_AGE
Para saber mais, consulte o artigo Acerca das programações de instantâneos para discos.
Resolução de problemas
Resolva problemas com o horário e o processo de criação de instantâneos revendo os registos e verificando as configurações.
Reveja os registos
Aceda à página Explorador de registos na Trusted Cloud consola:
Cole a seguinte consulta no painel de consulta do registo:
resource.type="gce_disk" jsonPayload.event_subtype="compute.disks.createSnapshot" OR protoPayload.methodName="ScheduledSnapshots"
Execute a consulta e investigue os registos:
Verifique as configurações
Se não forem encontrados scripts pré ou pós-captura instantânea na instância para congelar a atividade/IOPS no sistema de ficheiros, não é criada nenhuma captura instantânea. Certifique-se de que seguiu os passos no artigo Crie scripts de pré e pós-instantâneo.
Se ocorrer um erro de script ou um limite de tempo, não é criado nenhum instantâneo. Reveja o artigo Preparar-se para capturas de ecrã consistentes. Tenha em atenção que o período de limite de tempo máximo que pode configurar nas suas definições é de 300 segundos. Experimente repetir todo o processo com os scripts de exemplo.
Tem de anexar um disco a uma VM para capturar um instantâneo do disco com o
guest-flush
ativado. Para saber como criar uma VM do Linux e anexar um disco, consulte o artigo Criar uma VM.
O que se segue?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-29 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-29 UTC."],[],[],null,[]] -