Mova sua carga de trabalho para uma nova instância de computação


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

    1. 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.

    2. Set a default region and zone.
    3. 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:

  • 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

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:

  • 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.

Requisitos de armazenamento

Revise os seguintes requisitos de armazenamento para sua instância atual e o novo tipo de instância:

  • 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 .
  • 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.

Requisitos de rede

Revise os seguintes requisitos de rede para sua instância atual e o novo tipo de instância:

  • 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 .

Para determinar o tipo de interface de rede da sua VM atual, use o comando gcloud compute instances describe para visualizar o nic-type da VM:

  gcloud compute instances describe VM_NAME --zone=ZONE

Se sua VM tiver um nic-type definido como VIRTIO , 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:

  1. 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.
  2. 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 .
  3. Amplie seus planos de alta disponibilidade e recuperação de desastres para incluir a nova região.
  4. Se necessário, atualize o sistema operacional na VM atual.
    1. 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.
    2. 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:
  5. 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 que eth0 seja fornecido pelo driver virtio-pci (VirtIO Net), o que impede que o driver gve (gVNIC) forneça essa interface. Isso pode levar a scripts de inicialização de rede e problemas de conectividade na 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:

  1. 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.
  2. Se você estiver migrando de uma VM que executa o Microsoft Windows:
  3. 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.
  4. 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:
    1. Crie um instantâneo do disco de inicialização padrão pd da sua VM atual.
    2. Crie uma imagem personalizada usando o instantâneo do disco como origem.
  5. Se você precisar mover informações do SSD local, crie um disco vazio grande o suficiente para fazer backup dos discos SSD locais .
    1. Se possível, use um tipo de disco compatível com a nova VM.
    2. 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.
    3. Anexe o novo disco à VM atual, formate e monte o disco .
    4. Copie os dados dos discos SSD locais anexados à VM atual para este disco temporário.
  6. 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.

    1. 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.
    2. 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.
    3. 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.
  7. 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:

    1. Desconecte o disco da sua VM.
    2. Tire um instantâneo do disco .
    3. 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.

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:

  1. 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.
  2. Se você estiver criando uma VM em uma nova região, crie uma rede VPC e sub-redes na nova região.
  3. Se você configurou contagens de filas NIC personalizadas, consulte Alocações de filas e alteração do tipo de máquina .
  4. Se você quiser manter os endereços IP usados ​​pela VM de origem, promova os endereços IP para endereços IP estáticos .
  5. Cancele a atribuição do endereço IP estático antes de interromper a VM de origem.

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 :

  • compute.instances.setMachineType na VM

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.

  1. Ao criar a nova VM, escolha um dos tipos de disco suportados para o disco de inicialização, por exemplo, Hyperdisk Balanced.

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.

  1. 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.
  2. Pare sua VM de origem.
  3. Crie instantâneos de todos os discos que ainda estão anexados à VM de origem.
  4. 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.
  5. Inicie a nova VM.

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.

  1. Anexe os discos que você desanexou da VM de origem à nova VM.
  2. 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.
  3. 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.
  4. Se você criou a nova VM usando uma imagem de sistema operacional público e não uma imagem personalizada, faça o seguinte:
    1. Configure os usuários, drivers, pacotes e diretórios de arquivos necessários na nova instância para dar suporte à sua carga de trabalho.
    2. Instale seus aplicativos e programas modificados na nova VM. Recompile os programas no novo sistema operacional ou arquitetura, se necessário.
  5. 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.
  6. Reatribua quaisquer endereços IP estáticos associados à VM de origem à nova VM.
  7. 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 .
  8. Opcional: atualize as entradas DNS , se necessário, para a nova VM.
  9. Recomendado: Agende backups de disco para os novos discos.
  10. Recomendado: Se você alterou o sistema operacional para uma versão ou arquitetura diferente, recompile seus aplicativos.

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 VM n4-standard-8 . A VM n1-standard-8 possui um disco de inicialização PD-SSD executando uma imagem Ubuntu1804 e um disco de dados PD-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 rede gvnic 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:

  1. 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 VM n1-standard-8 atual.
    • ZONE : A zona onde a VM está localizada.
  2. 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.
  3. 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 ).
  4. Repita a etapa anterior para cada disco com instantâneo.

  5. 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 à VM n1-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 à VM n1-standard-8 .
  6. 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.

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 rede VirtIO gera um erro de incompatibilidade de VM .

  1. Pare a VM .
  2. Desconecte os discos da VM.
  3. Crie um instantâneo dos discos de inicialização e de dados.
  4. Crie discos de dados e inicialização balanceados de hiperdisco usando um instantâneo de disco como origem de cada disco.
  5. Defina o tipo de máquina para uma VM N4.
  6. Anexe o disco de inicialização balanceado do hiperdisco e o disco de dados balanceado do hiperdisco .
  7. Inicie a VM N4 .

DESCANSAR

Opção 1: Crie uma nova VM N4 com discos de snapshot:

  1. 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 sua n1-standard-8 atual.
  2. 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, como hdb-boot-disk ou hdb-data-disk .
  3. 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 o name dos seus discos de dados. Use o sourceSnapshot para os novos discos de inicialização e dados balanceados de hiperdisco, o type de disco, hiperdisco balanceado e sizeGB 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"
    }'
    
  4. 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.
  5. 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.

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 rede VirtIO gera um erro de incompatibilidade de VM .

  1. Pare a VM usando o método instances.stop .

  2. 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 disco pd-ssd anexado a ela.
    • DISK_NAME : o disco que você deseja desanexar.
  3. 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.

  4. 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, o type de disco, balanceado de hiperdisco e sizeGB do disco no corpo da solicitação.

  5. 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",
    }
    
    
  6. 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 disco pd-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
    }
    
  7. 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.

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:

  1. Os instantâneos que você criou para os discos anexados à VM de origem.
  2. Quaisquer agendamentos de snapshots para os discos que foram anexados à VM de origem.
  3. O disco temporário criado para copiar os dados do SSD local para a nova VM.
  4. A VM de origem e todos os discos anexados.

O que vem a seguir