Esta página explica como evitar potenciais falhas de restauro ou perda de dados quando trabalha com discos restaurados a partir de cópias de segurança de discos anexados a máquinas virtuais (VMs).
A restauração de um disco individual que estava associado a uma VM pode deixar etiquetas específicas no recurso de disco restaurado e no respetivo recurso PersistentVolumeClaim
(PVC) subjacente. A não remoção das etiquetas conforme descrito pode resultar no seguinte:
- Falhas durante operações de restauro completo de VMs subsequentes.
- Modificação ou substituição não intencional do PVC subjacente do disco restaurado durante um restauro completo da VM subsequente, o que pode levar à perda de dados no disco restaurado.
Antes de começar
Para limpar as etiquetas após restaurar um disco associado a uma VM, tem de ter o seguinte:
- A função de identidade e acesso necessária. Peça ao administrador de IAM da organização para lhe conceder a função de depurador de DBS (
dbs-debugger
). - Acesso aos ficheiros kubeconfig adequados para os clusters que gerem estes recursos.
- A ferramenta de linhas de comando kubectl instalada e configurada.
Limpe etiquetas
Tem de fazer a limpeza do recurso VirtualMachineDisk
e do recurso PersistentVolumeClaim
(PVC) subjacente.
Limpe as etiquetas de discos de VMs
Para limpar as etiquetas de um disco de VM restaurado, siga estes passos:
Obtenha o ficheiro kubeconfig para o servidor da API de gestão e defina a variável de ambiente
KUBECONFIG
:export KUBECONFIG=PATH_TO_MANAGEMENT_API_KUBECONFIG
Substitua
PATH_TO_MANAGEMENT_API_KUBECONFIG
pelo caminho para o ficheiro kubeconfig. Para mais informações, consulte os recursos do servidor da API de gestão zonal.Verifique se o recurso
VirtualMachineDisk
restaurado existe no espaço de nomes especificado:kubectl get virtualmachinedisks.virtualmachine.gdc.goog \ -n NAMESPACE RESTORED_VM_DISK_NAME
Substitua o seguinte:
NAMESPACE
: o espaço de nomes do projeto.RESTORED_VM_DISK_NAME
: o nome completo do disco restaurado com os valores recolhidos nos pré-requisitos. O valor desta variável pode ser derivado deRESTORED_PREFIX
-VM_DISK_NAME
.
Remova a etiqueta de âmbito da cópia de segurança do recurso
VirtualMachineDisk
. O hífen final após a chave da etiqueta significa remoção:kubectl label virtualmachinedisks.virtualmachine.gdc.goog -n NAMESPACE \ RESTORED_VM_DISK_NAME bpvms/VM_NAME-
Substitua
VM_NAME
pelo nome da VM restaurada.Opcional: para verificar se a etiqueta
bpvms/VM_NAME
já não está presente, pode executar novamente o comandokubectl get
correspondente, ajustando-o ao tipo de recurso e cluster específicos:kubectl get virtualmachinedisks.virtualmachine.gdc.goog \ -n NAMESPACE VM_NAME
Limpe as etiquetas de PVC
Para limpar as etiquetas do PVC subjacente, siga estes passos:
Obtenha o ficheiro kubeconfig para o cluster de infraestrutura da organização e defina a variável de ambiente
KUBECONFIG
:export KUBECONFIG=PATH_TO_ORG_INFRA_KUBECONFIG
Substitua
PATH_TO_ORG_INFRA_KUBECONFIG
pelo caminho para o ficheiro kubeconfig.Verifique se o PVC subjacente do disco restaurado existe no espaço de nomes especificado:
kubectl get pvc -n NAMESPACE \ RESTORED_VM_DISK_NAME
Substitua o seguinte:
NAMESPACE
: o espaço de nomes do projeto.RESTORED_VM_DISK_NAME
: o nome do disco da VM restaurado.
Remova a etiqueta de âmbito da cópia de segurança do PVC. O hífen final após a chave da etiqueta significa remoção:
kubectl label pvc -n NAMESPACE RESTORED_VM_DISK_NAME bpvms/VM_NAME-
Substitua
VM_NAME
pelo nome da VM restaurada.Opcional: para verificar se a etiqueta
bpvms/VM_NAME
já não está presente, pode executar novamente o comandokubectl get
correspondente, ajustando-o ao tipo de recurso e cluster específicos:kubectl get pvc -n NAMESPACE \ VM_NAME