Em determinadas situações, talvez você queira mover sua carga de trabalho de uma instância de máquina virtual (VM) existente para uma VM mais recente. Os motivos para migrar para uma nova VM incluem o seguinte:
- Aproveite os novos tipos de máquinas para obter velocidades mais rápidas de armazenamento ou de rede. Por exemplo, atualizar de C2 para H3 para melhorar a largura de banda da rede.
- Aproveite o melhor desempenho de preço em relação à instância de VM de origem. Por exemplo, atualizar de N1 para N4 para obter maior valor no processador Intel Xeon de 5ª geração.
- Use recursos disponíveis apenas na nova instância de VM. Por exemplo, atualizar de N4 para C4 para aproveitar opções adicionais de desempenho e manutenção.
- Altere uma instância de máquina virtual (VM) para uma instância bare metal.
- Adicione discos SSD locais à sua instância de VM C3 ou C3D.
Ao atualizar para a série de máquinas de geração mais recente, você poderá usar o procedimento mais simples descrito em Editar o tipo de máquina de uma instância de computação se as seguintes condições forem atendidas pela VM atual (de origem):
- A versão do sistema operacional (SO) é suportada pela nova série de máquinas.
- O tipo de disco de inicialização anexado à VM de origem é compatível com a nova série de máquinas.
- A VM não usa armazenamento SSD local.
- Sua VM com GPUs anexadas usa um tipo de máquina G2. Consulte Adicionar ou remover GPUs para obter detalhes.
- A VM está usando apenas recursos compatíveis com a nova série de máquinas.
- A VM não faz parte de um grupo gerenciado de instâncias (MIG).
- A VM usa a interface de rede gVNIC.
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Administrador da instância do Compute (v1) (
roles/compute.admin.v1
) - Para alterar o tipo de rede: Administrador de rede do Compute Engine (
roles/compute.networkAdmin
) - Para alterar o tipo de máquina:
-
compute.instances.stop
no projeto -
compute.instances.create
no projeto -
compute.instances.start
no projeto -
compute.instances.setMachineType
na instância
-
- Para criar um instantâneo do disco:
-
compute.snapshots.create
no projeto -
compute.disks.createSnapshot
no disco
-
- Para criar um novo disco:
-
compute.disks.list
no projeto -
compute.disks.create
no projeto -
compute.disks.update
no projeto
-
- Para anexar um disco a uma VM:
-
compute.instances.attachDisk
na instância -
compute.disks.use
no disco
-
- Para excluir um disco:
compute.disks.delete
no projeto - Para fazer alterações no tipo de rede:
-
compute.networks.list
no projeto -
compute.networks.update
no projeto
-
- Explore a documentação de recursos da família de máquinas para identificar quais tipos de máquinas são adequados para sua carga de trabalho. Considere se seu aplicativo requer hardware específico (GPUs), alto desempenho ou custos mais baixos.
- Revise os recursos dos tipos de disco suportados pelo novo tipo de máquina. A maioria dos recursos do disco permanente, mas não todos, são suportados pelo hiperdisco. No entanto, o Hyperdisk oferece recursos adicionais que não estão disponíveis no disco permanente.
- Revise os recursos da série de máquinas em potencial. A nova série de máquinas pode não suportar os mesmos recursos que você usa com sua série de máquinas atual, como tipos de máquinas personalizados, SSD local ou VM protegida .
- Revise as regiões e zonas para garantir que a nova série de máquinas esteja disponível em todas as regiões como sua VM atual. Talvez seja necessário ajustar seus planos de implantação, alta disponibilidade e recuperação de desastres.
- Revise seu plano de migração do sistema operacional:
- Se a nova VM exigir uma versão mais recente do sistema operacional, verifique se seus aplicativos são compatíveis com a versão mais recente do sistema operacional.
- Se você estiver migrando para o Arm e uma imagem do Arm não estiver disponível para a versão atual do seu sistema operacional, escolha um novo sistema operacional ou uma versão do sistema operacional para executar seus aplicativos e verifique se eles são compatíveis com o novo sistema operacional.
- É possível migrar de uma instância de VM C3 para uma instância bare metal C3, desde que a instância de VM C3 de origem use um sistema operacional e um driver de rede compatíveis .
- Se você estiver migrando de uma série de máquinas diferente de C3 para uma instância bare metal, deverá criar uma nova instância. Talvez seja necessário executar seu próprio hipervisor; no entanto, você também pode executar qualquer sistema operacional compatível com C3 metal, desde que o driver IDPF esteja ativado. As instâncias bare metal usam a interface de rede IDPF apresentada apenas como uma função física, não como uma função virtual.
- Revise os tipos de armazenamento suportados e as interfaces de armazenamento suportadas para a nova série de máquinas.
- Por padrão, as séries de máquinas de primeira e segunda geração usam apenas o tipo de armazenamento Disco Persistente e as interfaces VirtIO-SCSI.
- As séries de máquinas de terceira geração e mais recentes (como M3, C3 e N4) suportam apenas a interface NVMe, e algumas suportam apenas os tipos de armazenamento Hyperdisk e SSD local.
- Instâncias bare metal (como C3 e X4) suportam apenas hiperdisco.
- Compatibilidade de disco:
- Se o disco de inicialização usar um tipo de disco que não seja compatível com a nova série de máquinas, por exemplo,
pd-standard
, você deverá criar um novo disco de inicialização para a nova VM. - Se você estiver atualizando o sistema operacional para uma nova versão e o sistema operacional não oferecer suporte a atualizações locais, você deverá criar um novo disco de inicialização. Todos os dados no disco de inicialização de origem serão perdidos, a menos que você os copie para um disco temporário que não seja de inicialização. Em seguida, você cria um novo disco de inicialização e copia os dados armazenados no disco temporário de não inicialização para o novo disco de inicialização.
- Se você não estiver atualizando a versão do sistema operacional, poderá tirar um instantâneo do seu disco de inicialização atual e restaurá-lo para o novo tipo de disco compatível. Ao criar uma VM, você poderá usar esse novo disco como disco de inicialização.
- Se um disco que não é de inicialização usar um tipo de disco que não seja compatível com a nova série de máquinas, você poderá usar um instantâneo para alterar o disco de origem para um novo tipo de disco, conforme descrito em Alterar o tipo de disco .
- Se o disco de inicialização usar um tipo de disco que não seja compatível com a nova série de máquinas, por exemplo,
- Os discos SSD locais não podem ser movidos para uma nova VM. Você pode anexar um disco grande o suficiente para armazenar todos os dados do SSD local em sua VM atual e, em seguida, usar um instantâneo para alterar o disco de origem para um novo tipo de disco, conforme descrito em Alterar o tipo de disco . Depois de criar uma VM com discos SSD locais anexados, você poderá copiar os dados de volta para os discos SSD locais.
- Se sua instância de VM atual usar discos em um pool de armazenamento , mas você estiver movendo sua carga de trabalho para uma VM em uma região diferente, será necessário recriar os discos e o pool de armazenamento na nova região.
- Se a nova série de máquinas usar uma interface de disco diferente (por exemplo, NVMe em vez de SCSI), os nomes dos dispositivos de disco no sistema operacional convidado serão diferentes. Certifique-se de que seus aplicativos e scripts usem nomes de dispositivos persistentes ou links simbólicos ao fazer referência aos discos anexados.
Revise as interfaces de rede suportadas para a nova VM.
- Por padrão, as séries de máquinas de primeira e segunda geração usam apenas a interface de rede VirtIO.
- A terceira geração e as séries de máquinas mais recentes (como M3, C3 e N4) suportam apenas a interface de rede gVNIC.
- As instâncias bare metal oferecem suporte apenas à interface de rede IDPF .
Certifique-se de que seu aplicativo e sistema operacional sejam compatíveis com as interfaces disponíveis para a série de máquinas.
Revise a configuração de rede da sua VM para determinar se você precisa manter os endereços IP atribuídos . Nesse caso, você deverá promover os endereços IP para endereços IP estáticos.
Se você usar o desempenho de rede por VM Tier_1 com sua VM atual, verifique se ele está disponível ou é necessário com a nova série de máquinas. Por exemplo, você pode usar a rede Tier_1 com um tipo de máquina C2, mas ela não é necessária com uma VM H3 .
- Solicite cota na região e zonas para onde você planeja movimentar seus recursos. Se você tiver uma cota existente para um tipo de máquina, poderá solicitar a movimentação dessa cota. O processo leva alguns dias para ser concluído.
- Crie uma reserva para as novas instâncias de VM para garantir que os recursos da máquina estejam disponíveis na nova região e zonas. Certifique-se de entender como os recursos reservados são consumidos e teste se você pode consumir recursos reservados .
- Amplie seus planos de alta disponibilidade e recuperação de desastres para incluir a nova região.
- Se necessário, atualize o sistema operacional na VM atual.
- Se houver suporte do fornecedor do sistema operacional, execute uma atualização local do seu sistema operacional para uma versão compatível com a nova série de máquinas e verifique se a carga de trabalho está funcionando conforme o esperado na nova versão do sistema operacional.
- Se uma atualização in-loco do sistema operacional não for suportada, então, ao criar uma nova VM, você deverá criar um novo disco de inicialização. Determine quais informações você precisa copiar do disco de inicialização atual e copie-as para um local temporário em um disco que não seja de inicialização para que possam ser transferidas para a nova VM. Se você não tiver discos que não sejam de inicialização anexados à sua VM atual:
- Para tipos de máquinas de primeira e segunda geração, consulte Adicionar armazenamento em disco permanente à sua VM .
- Para tipos de máquinas de terceira geração e posteriores, consulte Adicionar armazenamento de hiperdisco à sua VM .
- Se aplicável à sua distribuição Linux, verifique as regras do udev em
/etc/udev/rules.d/
. Este arquivo pode conter entradas relevantes à configuração de hardware da instância atual, mas não da nova instância. Por exemplo, a entrada a seguir garante queeth0
seja fornecido pelo drivervirtio-pci
(VirtIO Net), o que impede que o drivergve
(gVNIC) forneça essa interface. Isso pode levar a scripts de inicialização de rede e problemas de conectividade na nova instância: - Em sistemas Linux, teste seus aplicativos e scripts atualizados para garantir que funcionem com nomes de dispositivos persistentes ou links simbólicos em vez de nomes de dispositivos de disco.
- Se você estiver migrando de uma VM que executa o Microsoft Windows:
- Você deve atualizar o driver NVMe em VMs criadas antes de maio de 2022 . Isso se aplica ao disco de inicialização em sua VM atual e a quaisquer instantâneos ou imagens personalizadas criadas anteriormente que são usadas para criar uma VM.
- O Windows deve ser reconfigurado para começar a usar o driver Microsoft NVMe (StorNVMe). Siga as instruções para atualizar seu dispositivo de inicialização .
- Se a sua nova VM não suportar os mesmos tipos de disco que a sua VM atual, poderá ser necessário atualizar os seus scripts de implantação ou modelos de instância para suportar a nova série de máquinas.
- Se a sua VM atual usar um tipo de disco para o disco de inicialização que não é compatível com a nova série de máquinas e você estiver migrando várias VMs com a mesma configuração, crie uma imagem personalizada para usar ao criar as novas VMs:
- Crie um instantâneo do disco de inicialização padrão pd da sua VM atual.
- Crie uma imagem personalizada usando o instantâneo do disco como origem.
- Se você precisar mover informações do SSD local, crie um disco vazio grande o suficiente para fazer backup dos discos SSD locais .
- Se possível, use um tipo de disco compatível com a nova VM.
- Se não houver tipos de disco suportados pela VM atual e pela nova VM, crie um disco temporário usando um tipo de disco compatível com a VM atual.
- Anexe o novo disco à VM atual, formate e monte o disco .
- Copie os dados dos discos SSD locais anexados à VM atual para este disco temporário.
Altere o tipo de disco de quaisquer discos anexados à VM atual que usam um tipo de disco que não é compatível com a nova VM. Para mover os dados do disco para novos discos, crie instantâneos dos discos. Como alternativa, você pode transferir arquivos de uma VM para outra.
- Você pode tirar snapshots enquanto a VM está em execução, mas quaisquer dados gravados nos discos depois de tirar o snapshot não serão capturados. Como os snapshots são incrementais , você pode tirar um segundo snapshot depois de parar a VM para capturar todas as alterações mais recentes. Essa abordagem deve minimizar o tempo que a VM fica indisponível enquanto você muda para uma nova VM.
- Alternativamente, você pode tirar todos os instantâneos de disco depois de parar a VM. Recomendamos que você crie um instantâneo de todos os discos anexados à sua VM, mesmo que o tipo de disco seja compatível com a nova série de máquinas. Inclua todos os discos temporários que contenham os dados do SSD local copiados.
- O tempo necessário para criar um instantâneo de um disco depende de vários fatores, como o tamanho do disco e a quantidade de dados contidos no disco. Por exemplo, se você tirar um snapshot de um disco de 1 TiB que esteja 85% cheio, poderá levar 5 minutos para que o snapshot seja concluído. Mas, se você tirar um instantâneo de um disco de 100 TiB que esteja 85% cheio, poderá levar 11 minutos para ser concluído. Recomendamos que você execute instantâneos de teste dos seus discos antes de iniciar o processo de migração para entender quanto tempo leva o instantâneo.
Se tiver um disco que pode ser colocado offline, você poderá usar a seguinte abordagem para mover os dados para um novo disco enquanto a VM de origem ainda estiver disponível:
- Desconecte o disco da sua VM.
- Tire um instantâneo do disco .
- Use o instantâneo para criar um novo disco usando um tipo de disco compatível com a nova série de máquinas. O novo disco deve ser do mesmo tamanho ou maior que o disco de origem.
- Se sua VM atual não usar gVNIC, você deverá criar uma nova instância com uma interface de rede que use gVNIC. Revise Visão geral do uso do gVNIC com VMs do Compute Engine para entender as etapas necessárias ao criar uma nova instância.
- Se você estiver criando uma VM em uma nova região, crie uma rede VPC e sub-redes na nova região.
- Se você configurou contagens de filas NIC personalizadas, consulte Alocações de filas e alteração do tipo de máquina .
- Se você quiser manter os endereços IP usados pela VM de origem, promova os endereços IP para endereços IP estáticos .
- Cancele a atribuição do endereço IP estático antes de interromper a VM de origem.
-
compute.instances.setMachineType
na VM - Ao criar a nova VM, escolha um dos tipos de disco suportados para o disco de inicialização, por exemplo, Hyperdisk Balanced.
- Se a VM de origem usar discos que não sejam de inicialização com um tipo de disco compatível com a nova série de máquinas, desconecte os discos da VM.
- Pare sua VM de origem.
- Crie instantâneos de todos os discos que ainda estão anexados à VM de origem.
- Crie uma nova instância de VM de computação usando uma imagem pública ou uma imagem personalizada configurada para usar gVNIC . Ao criar a nova VM, escolha as seguintes opções:
- Selecione o tipo de máquina na série de máquinas que você escolheu.
- Selecione uma imagem de sistema operacional compatível ou use uma imagem personalizada criada anteriormente.
- Selecione um tipo de disco compatível para o disco de inicialização.
- Se você criou novos discos a partir de instantâneos dos discos originais, inclua esses novos discos.
- Especifique a nova rede VPC se estiver criando a instância em uma região diferente.
- Se VirtIO e gVNIC forem compatíveis com a nova instância, selecione gVNIC.
- Especifique os endereços IP estáticos, se você promoveu os endereços IP temporários da VM de origem.
- Inicie a nova VM.
- Anexe os discos que você desanexou da VM de origem à nova VM.
- Para quaisquer discos anexados à VM de origem que usam um tipo de disco não compatível com a nova VM, crie um disco a partir de um snapshot e anexe-o à nova instância . Ao criar o novo disco, selecione um tipo de disco compatível com a nova VM e especifique um tamanho que seja pelo menos tão grande quanto o disco original.
- Se a VM original usou uma política de recursos para quaisquer discos que foram recriados para a nova VM, será necessário adicionar a política de recursos aos novos discos.
- Se você criou a nova VM usando uma imagem de sistema operacional público e não uma imagem personalizada, faça o seguinte:
- Configure os usuários, drivers, pacotes e diretórios de arquivos necessários na nova instância para dar suporte à sua carga de trabalho.
- Instale seus aplicativos e programas modificados na nova VM. Recompile os programas no novo sistema operacional ou arquitetura, se necessário.
- Opcional: se você moveu o conteúdo dos discos SSD locais para um disco temporário e a nova VM tiver anexado o armazenamento SSD local, depois de formatar e montar os discos , você poderá mover os dados do disco temporário para os discos SSD locais.
- Reatribua quaisquer endereços IP estáticos associados à VM de origem à nova VM.
- Conclua todas as tarefas adicionais necessárias para tornar sua nova VM altamente disponível, como configurar balanceadores de carga e atualizar as regras de encaminhamento .
- Opcional: atualize as entradas DNS , se necessário, para a nova VM.
- Recomendado: Agende backups de disco para os novos discos.
- Recomendado: Se você alterou o sistema operacional para uma versão ou arquitetura diferente, recompile seus aplicativos.
Pare a VM usando gcloud computing instances stop :
gcloud compute instances stop VM_NAME \ --zone=ZONE
Substitua o seguinte:
-
VM_NAME
O nome da sua VMn1-standard-8
atual. -
ZONE
: A zona onde a VM está localizada.
-
Capture seus discos. Use gcloud compute snapshots create para criar um snapshot do disco de inicialização do disco permanente e do disco de dados anexado à VM.
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_DISK_ZONE
Substitua o seguinte:
-
SNAPSHOT_NAME
: o nome do instantâneo que você deseja criar. -
SOURCE_DISK_NAME
: o nome do seu disco de origem. -
SOURCE_DISK_ZONE
: a zona do seu disco de origem.
-
Crie um novo disco balanceado de hiperdisco para o disco de dados repetindo a etapa anterior e especificando as informações do disco de dados em vez do disco de inicialização. Os discos de computação gcloud criam :
gcloud compute disks create DISK_NAME \ --project=PROJECT_NAME \ --type=DISK_TYPE \ --size=DISK_SIZE \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT
Substitua o seguinte:
-
DISK_NAME
: o nome do novo disco que você está criando a partir do disco com instantâneo. -
PROJECT_NAME
: o nome do seu projeto. -
DISK_TYPE
: o novo tipo de disco – neste exemplo, é um disco balanceado de hiperdisco. -
DISK_SIZE
: O tamanho do disco (exemplo:100GB
). -
ZONE
: A zona onde o novo disco está localizado. -
SNAPSHOT_NAME
: o nome do disco de origem do instantâneo. - Opcional:
PROVISIONED_IOPS
: o desempenho de IOPS do disco (exemplo:3600
). - Opcional:
PROVISIONED_THROUGHPUT
: o desempenho de rendimento para provisionar o disco (exemplo:290
).
-
Repita a etapa anterior para cada disco com instantâneo.
Crie a VM
n4-standard-8
e anexe os discos balanceados de hiperdisco usando gcloud computing instances create :gcloud compute instances create VM_NAME \ --project=PROJECT_NAME \ --zone=ZONE \ --machine-type=NEW_MACHINE_TYPE \ --boot-disk-device-name=BOOT_DISK_NAME \ --disk=name=NON_BOOT_DISK_NAME, boot=no \ --network-interface=nic-type=GVNIC
Substitua o seguinte:
-
VM_NAME
: o nome da nova instância de VM. -
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde a nova VM está localizada. -
NEW_MACHINE_TYPE
: O tipo de máquina, neste exemplo én4-standard-8
. -
BOOT_DISK_NAME
O nome do disco de inicialização balanceado de hiperdisco que você criou a partir do instantâneo do disco de origem anexado à VMn1-standard-8
. -
NON_BOOT_DISK_NAME
O nome do disco de dados balanceados de hiperdisco que você criou a partir do disco de captura instantânea de origem anexado à VMn1-standard-8
.
-
Inicie a VM
n4-standard-8
usando gcloud computing instances start :gcloud compute instances start VM_NAME
Substitua
VM_NAME
pelo nome da nova VM.- Pare a VM .
- Desconecte os discos da VM.
- Crie um instantâneo dos discos de inicialização e de dados.
- Crie discos de dados e inicialização balanceados de hiperdisco usando um instantâneo de disco como origem de cada disco.
- Defina o tipo de máquina para uma VM N4.
- Anexe o disco de inicialização balanceado do hiperdisco e o disco de dados balanceado do hiperdisco .
- Inicie a VM N4 .
Pare a VM usando o método instances.stop :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
Substitua o seguinte:
-
PROJECT_NAME
: o ID do projeto. -
ZONE
: A zona que contém a VM. -
VM_NAME
: o nome da suan1-standard-8
atual.
-
Faça snapshots de seus discos usando o método disks.createSnapshot para criar um snapshot do disco de inicialização do disco permanente e do disco de dados anexado à instância.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
No corpo da solicitação, inclua o nome do novo disco permanente do snapshot.
Por exemplo:
{ "name": "SNAPSHOT_NAME" }
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado. -
DISK_NAME
: o disco do qual você planeja capturar instantâneo. -
SNAPSHOT_NAME
: um nome para o instantâneo, comohdb-boot-disk
ouhdb-data-disk
.
-
Crie um disco balanceado de hiperdisco usando o método disks.insert . Execute esta etapa duas vezes: uma vez para incluir o
name
do disco de inicialização balanceado do hiperdisco; e uma segunda vez para incluir oname
dos seus discos de dados. Use osourceSnapshot
para os novos discos de inicialização e dados balanceados de hiperdisco, otype
de disco, hiperdisco balanceado esizeGB
do disco no corpo da solicitação.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado.
No corpo da solicitação, inclua o seguinte:
Por exemplo:
{ "name": "my-hdb-boot-disk" or "my-hdb-data-disk", "sourceSnapshot": "projects/your-project/global/snapshots/SNAPSHOT_NAME", "type": "projects/your-project/zones/us-central1-a/diskTypes/hyperdisk-balanced", "sizeGb": "100" }'
-
Use o método instances.insert para criar a nova VM N4.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado.
No corpo da solicitação, inclua o seguinte:
{ "machineType":"projects/your-project/zones/us-central1-a/machineTypes/n4-standard-8" "name":"VM_NAME", "disks": [ { "boot": true, "deviceName": "my-hdb-boot-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "type": "PERSISTENT" }, { "boot": false, "deviceName": "my-hdb-data-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "type": "PERSISTENT" } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME", "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME", "nicType": "GVNIC" } ] }
Substitua o seguinte:
-
VM_NAME
: o nome da VM. -
NETWORK_NAME
: O nome da rede. -
REGION
: O nome da região. -
SUBNET_NAME
: o nome da sub-rede.
-
Inicie a VM usando o método instances.start :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde sua VM está localizada. -
VM_NAME
: o nome da VM.
-
Pare a VM usando o método instances.stop .
Desconecte os discos usando o método instances.detachDisk para desanexar o disco de inicialização do disco permanente original da VM N1. Você também deve desconectar todos os discos de dados da VM.
https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado. -
VM_NAME
: o nome da VM de origem com o discopd-ssd
anexado a ela. -
DISK_NAME
: o disco que você deseja desanexar.
-
Faça um instantâneo dos discos. Use o método disks.createSnapshot para criar um snapshot do disco de inicialização do disco permanente e dos discos de dados anexados à instância.
Crie uma inicialização balanceada de hiperdisco e discos de dados usando o método disks.insert, incluindo o
name
do disco balanceado de hiperdisco,sourceSnapshot
para o novo disco balanceado de hiperdisco, otype
de disco, balanceado de hiperdisco esizeGB
do disco no corpo da solicitação.Execute uma atualização de tipo de máquina local usando o método instances.setMachineType e inclua o
machineType
no corpo da solicitação:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado. -
VM_NAME
: o nome da VM a ser atualizada. -
MACHINE_TYPE
: O novo tipo de máquina.
No corpo da solicitação, inclua o seguinte:
{ "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE", }
-
Use o método instances.attachDisk para anexar o novo disco de inicialização
Hyperdisk Balanced
e os discos de dados Hyperdisk Balanced à VM N4.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado. -
VM_NAME
: o nome da instância de VM de origem com o discopd-ssd
anexado a ela. -
DISK_NAME
O disco que você deseja anexar.
No corpo da solicitação, inclua o seguinte:
{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "deviceName":"my-hdb-boot-disk","boot":true }
{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "deviceName":"my-hdb-data-disk","boot":false }
-
Inicie a VM N4 usando o método instances.start .
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
Substitua o seguinte:
-
PROJECT_NAME
: o nome do seu projeto. -
ZONE
: A zona onde seu disco está localizado. -
VM_NAME
: o nome da VM.
-
- Os instantâneos que você criou para os discos anexados à VM de origem.
- Quaisquer agendamentos de snapshots para os discos que foram anexados à VM de origem.
- O disco temporário criado para copiar os dados do SSD local para a nova VM.
- A VM de origem e todos os discos anexados.
- Leia sobre problemas conhecidos para servidores Linux e Windows.
- Leia as dicas de solução de problemas .
- Saiba mais sobre o ciclo de vida da migração .
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções obrigatórias
Para obter as permissões necessárias para editar ou alterar uma VM, peça ao administrador que conceda a você os seguintes papéis do IAM no projeto:
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Estas funções predefinidas contêm as permissões necessárias para editar ou alterar uma VM. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :
Permissões necessárias
As seguintes permissões são necessárias para editar ou alterar uma VM:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Avalie as opções de migração de VM
A migração de um tipo de máquina para outro depende de vários fatores, incluindo: disponibilidade regional do novo tipo de máquina e a compatibilidade das opções de armazenamento e interfaces de rede em relação ao sistema operacional convidado da origem e da nova série de máquinas.
Requisitos de computação
Revise os seguintes requisitos para sua instância atual e o novo tipo de máquina:
Requisitos de armazenamento
Revise os seguintes requisitos de armazenamento para sua instância atual e o novo tipo de instância:
Requisitos de rede
Revise os seguintes requisitos de rede para sua instância atual e o novo tipo de instância:
Para determinar o tipo de interface de rede da sua VM atual, use o comando
gcloud compute instances describe
para visualizar onic-type
da VM:gcloud compute instances describe VM_NAME --zone=ZONE
Se sua VM tiver um
nic-type
definido comoVIRTIO
, você não poderá alterar o tipo de interface de rede. Você deve criar uma nova VM e definir o tipo de interface de rede como gVNIC .Prepare-se para migrar suas VMs existentes
Depois de concluir a seção de avaliação , a próxima etapa é preparar-se para mover suas instâncias de VM solicitando recursos para a nova instância de VM e preparando backups da instância de VM de origem.
Preparar recursos de computação
Conclua as etapas a seguir para se preparar para mover sua instância atual para uma nova instância:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Preparar recursos de armazenamento
Conclua as etapas a seguir para se preparar para mover os dados dos discos anexados à sua instância atual para uma nova instância:
Preparar recursos de rede
Conclua as etapas a seguir para atualizar a configuração de rede usada pela sua instância atual para oferecer suporte à nova instância:
Preparar o sistema operacional SUSE Enterprise Linux Server
Para evitar dependências específicas de hardware, reconstrua o
initramfs
(sistema de arquivos RAM inicial). Isso inclui uma gama mais ampla de drivers e módulos, tornando o sistema operacional compatível com outros tipos de instância. Caso contrário, ocorrerá um problema conhecido que impede a inicialização adequada da VM.Antes de desligar o sistema, execute o seguinte comando como root para reconstruir o
initramfs
com todos os drivers:sudo dracut --force --no-hostonly
Mova sua carga de trabalho para a nova VM
Depois de preparar suas VMs para migração , a próxima etapa é mover sua carga de trabalho para a nova VM.
Se você estiver migrando suas VMs da série de máquinas de primeira geração para a de segunda geração, leia as instruções na página Editar o tipo de máquina de uma VM . Se quiser alterar o nome da sua VM existente, revise as informações em Renomear uma VM .
Permissões necessárias para esta tarefa
Para executar esta tarefa, você deve ter as seguintes permissões :
Esta seção descreve como mover sua carga de trabalho de uma VM de primeira ou segunda geração para uma VM de terceira (ou mais recente). Durante este procedimento, você cria uma nova instância de VM e depois move suas cargas de trabalho para a nova VM.
Crie a nova VM
Ao mover suas cargas de trabalho de VMs de primeira ou segunda geração (N1 ou N2, por exemplo) para terceira geração ou posterior, você deve primeiro criar uma nova VM e depois mover suas cargas de trabalho.
Depois que a instância for iniciada
Agora que a nova instância foi criada e iniciada, conclua as etapas a seguir para finalizar a configuração da nova instância e copiar todos os dados da instância de origem.
Se você encontrar problemas ao migrar sua carga de trabalho, entre em contato com seu gerente técnico de contas (TAM) ou com a organização de serviços profissionais do Google (PSO) para obter assistência.
Exemplo de migração de n1-standard-8 para n4-standard-8
O exemplo a seguir é uma migração de uma VM
n1-standard-8
para uma VMn4-standard-8
. A VMn1-standard-8
possui um disco de inicializaçãoPD-SSD
executando uma imagemUbuntu1804
e um disco de dadosPD-SSD
. Você deve usar a CLI ou a API REST para este procedimento.Há duas opções disponíveis para atualizar sua VM N1 para uma VM N4:
Opção 1: se sua VM N1 usar a interface de rede
VirtIO
, você deverá criar uma nova VM N4. N4 suporta apenas a interface de redegvnic
e discos balanceados de hiperdisco. Você cria um snapshot dos discos de inicialização e de dados do disco permanente, cria discos balanceados de hiperdisco a partir desses snapshots, anexa os discos balanceados de hiperdisco e cria a nova VM N4 com os discos balanceados de hiperdisco.Você também pode optar por criar um novo disco de inicialização balanceado de hiperdisco usando uma versão mais recente do sistema operacional Ubuntu. Nesse cenário, você pode criar um novo disco balanceado de hiperdisco a partir do instantâneo do disco de inicialização, mas anexa esse disco como um disco que não é de inicialização à VM N4. Em seguida, você pode copiar dados que não sejam do sistema do instantâneo restaurado para o novo disco de inicialização.
Opção 2: se sua VM N1 usar a interface de rede
gvnic
, o sistema operacional tiver um driver de dispositivo de armazenamento NVMe, não tiver discos SSD locais ou GPUs anexados e não fizer parte de um grupo de instâncias gerenciadas (MIG), você poderá alterar o tipo de máquina de N1 para N4, mas ainda assim deverá alterar os tipos de disco de disco permanente para discos balanceados de hiperdisco. Você deve primeiro desanexar os discos de inicialização e de dados do disco permanente, criar snapshots dos discos, criar discos balanceados de hiperdisco usando os snapshots como origem e, em seguida, anexar os novos discos balanceados de hiperdisco à sua VM N4 depois de alterar o tipo de máquina. Se sua VM tiver GPUs anexadas, você deverá desconectá-las primeiro.O tempo para capturar instantâneo de um disco depende de vários fatores, como o número total de TB em um disco. Por exemplo, se você tirar um instantâneo de um disco de 1 TB que esteja 85% cheio, poderá levar 5 minutos para que o instantâneo seja concluído. Mas, se você tirar um instantâneo de um disco de 100 TB que esteja 85% cheio, poderá levar 11 minutos para ser concluído. O Google recomenda que você execute snapshots de teste dos seus discos antes de iniciar o processo de migração para entender quanto tempo leva o snapshot.
gcloud
Opção 1: Crie uma nova VM N4 com discos de snapshot:
Opção 2: Execute uma atualização de máquina no local:
Esta opção só estará disponível se sua VM N1 usar a interface de rede
gvnic
, o sistema operacional tiver um driver de dispositivo de armazenamento NVMe, não tiver discos SSD locais ou GPUs anexados e não fizer parte de um grupo de instâncias gerenciadas (MIG). Executar este procedimento com uma VM N1 com interface de redeVirtIO
gera um erro de incompatibilidade de VM .DESCANSAR
Opção 1: Crie uma nova VM N4 com discos de snapshot:
Opção 2: Execute uma atualização de máquina no local:
Esta opção só estará disponível se sua VM N1 usar a interface de rede
gvnic
, não tiver discos SSD locais ou GPUs anexados e não fizer parte de um grupo de instâncias gerenciadas (MIG). Executar este procedimento com uma VM N1 com interface de redeVirtIO
gera um erro de incompatibilidade de VM .Limpar
Depois de verificar se você pode se conectar à nova VM e se sua carga de trabalho está funcionando conforme esperado na nova VM, você poderá remover os recursos que não são mais necessários:
O que vem a seguir
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-04-21 UTC.
-