
criei uma VM com terraform no GCP e também um disco permanente separadamente com os recursos google_compute_disk , google_compute_resource_policy, google_compute_disk_resource_policy_attachment para também anexar uma programação de snapshot ao disco
Isso foi há dois dias e nenhum instantâneo foi criado.
Alguém teve problemas semelhantes?
A programação está definida para diariamente.
Esta é a configuração do terraform que usei
resource "google_compute_disk" "fast_storage" {
name = "${var.env}-fast-disk"
type = "pd-ssd"
size = 50 #GiB
zone = var.zone
labels = {
environment = var.env
type = "ssd"
}
physical_block_size_bytes = 4096
}
resource "google_compute_resource_policy" "backup_policy" {
name = "${var.env}-backup-policy"
region = var.region
snapshot_schedule_policy {
schedule {
daily_schedule {
days_in_cycle = 1
start_time = "04:00"
}
}
retention_policy {
max_retention_days = 5
on_source_disk_delete = "KEEP_AUTO_SNAPSHOTS"
}
snapshot_properties {
labels = {
environment = var.env
type = "ssd"
}
storage_locations = ["eu"]
guest_flush = true
}
}
}
resource "google_compute_disk_resource_policy_attachment" "backup_policy_attachment" {
name = google_compute_resource_policy.backup_policy.name
disk = google_compute_disk.fast_storage.name
zone = var.zone
}
resource "google_compute_instance" "main" {
name = "${var.env}-main-server"
machine_type = "custom-2-4096"
zone = var.zone
allow_stopping_for_update = true
desired_status = "RUNNING"
deletion_protection = true
tags = ["${var.env}-main-server"]
boot_disk {
auto_delete = false
mode = "READ_WRITE"
initialize_params {
image = "debian-cloud/debian-10"
type = "pd-ssd"
size = 20
}
}
network_interface {
network = var.network_id
subnetwork = var.subnetwork_id
network_ip = google_compute_address.main_server_internal.address
access_config {
nat_ip = google_compute_address.main_server_external.address
}
}
scheduling {
on_host_maintenance = "MIGRATE"
automatic_restart = true
}
lifecycle {
ignore_changes = [attached_disk]
}
}
resource "google_compute_attached_disk" "fast_storage" {
disk = google_compute_disk.fast_storage.id
instance = google_compute_instance.main.id
device_name = "fast"
mode = "READ_WRITE"
}
Responder1
Set guest_flush = false
(isso só funciona com o Windows e parece não ser negociável com o gcp.
Verifique os registros do Stackdriver: discos
Responder2
isso só funciona com Windows e parece inegociável com o gcp
Isso éNão é verdade. Por favor, siga o artigoCriando um instantâneo de disco persistente consistente de aplicativo Linuxonde é explicado o que é necessário, que basicamente é:
- Adicione
[Snapshots]
a seção/etc/default/instance_configs.cfg
comenabled = true
e reinicie o agente comsudo systemctl restart google-guest-agent.service
. O último comando cria/etc/google/snapshots
um diretório se ainda não existir; - Criarpréepublicarscripts de snapshot em
/etc/google/snapshots/pre.sh
e/etc/google/snapshots/post.sh
respectivamente. Certifique-se de que os scripts estejamexecutávelfazer root (isso não está explicitamente declarado na documentação, mas é fácil de descobrir); e - Crie um snapshot (ou agendamento de snapshot) com a liberação de convidados habilitada.
Acabei de verificar se está funcionando no GCP.
Se você não preparou sua(s) instância(s) de VM conforme explicado acima, você teria erros ao tentar criar snapshots consistentes de um aplicativo, como abaixo:
- Se 1. acima não for feito:
Operation type [createSnapshot] failed with message "You can only use guest-flush on disks attached to instances with supported operating systems. Make sure you have the latest image version and agent installed with required services (e.g. VSS for Windows)."
; - Se 2. acima não for feito:
Operation type [createSnapshot] failed with message "Guest Consistent Snapshot failed (Detail: pre_snapshot_script or post_snapshot_script not found). Verify you are running the latest image version and agent. For non-Windows, review settings in /etc/default/instance_configs.cfg on the instance. For more information, see the Guest Consistent Snapshot documentation."
ou o seguinte se os scripts não forem tornados executáveis:Operation type [createSnapshot] failed with message "Guest Consistent Snapshot failed (Detail: unhandled script return code -1). Verify you are running the latest image version and agent. For non-Windows, review settings in /etc/default/instance_configs.cfg on the instance. For more information, see the Guest Consistent Snapshot documentation."
.
E se você tiver programações de snapshots que não produzem snapshots, verifique se há erros como You can only use guest-flush on disks attached to instances with supported operating systems. Make sure you have the latest image version and agent installed with required services (e.g. VSS for Windows).
no Logs Explorer, que podem ser encontrados facilmente com uma consulta como
severity=ERROR`
resource.type="gce_disk"
protoPayload.methodName="ScheduledSnapshots"
Quero dizer que você não preparou suas VMs como explicado acima.