Altere o tipo de disco


Este documento aborda a forma de realizar determinadas tarefas num disco. Para realizar qualquer uma das seguintes tarefas, tem de criar um novo disco. Não pode fazer as seguintes alterações a um disco.

  • Altere o tipo de um disco, por exemplo, altere um volume Hyperdisk Throughput para um volume Hyperdisk Balanced.
  • Alterar o tipo de encriptação do disco, por exemplo, modificar a encriptação de um disco de modo a usar chaves geradas pela Google em vez de chaves de encriptação geridas pelo cliente (CMEK).
  • Mova um disco para dentro ou para fora de um Hyperdisk Storage Pool.
  • Mover um disco para uma região ou uma zona diferente.

Siga estes passos para realizar qualquer uma das tarefas mencionadas anteriormente:

  1. Crie um instantâneo do disco existente.
  2. Crie um novo disco do tipo correto ou num conjunto de armazenamento (denominado posicionamento), usando a imagem instantânea como origem de dados para o disco.
  3. Depois de validar o novo disco, pode eliminar o disco original.

Antes de começar

Funções e autorizações necessárias

Para receber as autorizações de que precisa para alterar o tipo de disco, peça ao seu administrador que lhe conceda as seguintes funções da IAM no projeto:

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 alterar o tipo de disco. 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 alterar o tipo de disco:

  • Para criar um instantâneo do disco:
    • compute.snapshots.create no projeto
    • compute.disks.createSnapshot no disco
  • Para criar um novo disco: compute.disks.create no projeto
  • Para criar um disco num conjunto de armazenamento:
    • compute.storagePools.use no projeto
    • compute.disks.create no projeto
  • Para anexar um disco a uma VM:
    • compute.instances.attachDisk na VM
    • compute.disks.use no volume que quer anexar à VM
  • Para eliminar um disco: compute.disks.delete no projeto

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Altere o tipo, o posicionamento ou a localização de um disco

Para migrar um volume de disco persistente para um Hyperdisk, recrie um disco num pool de armazenamento ou fora dele, ou mova um disco para uma região ou uma zona diferente. Para tal, crie uma captura de ecrã do disco e, em seguida, use a captura de ecrã quando criar um novo disco.

Quando cria um novo volume do Hyperdisk, pode criá-lo como um disco autónomo ou num conjunto de armazenamento, se existir.

Consola

  1. Prepare-se para criar um instantâneo de disco:

    Importante: se pausar as suas aplicações antes de criar uma imagem instantânea, retome as cargas de trabalho apenas depois de o recurso de imagem instantânea atingir o estado UPLOADING.

    Para mais informações, consulte a tabela em Criar manualmente instantâneos consistentes de aplicações.

  2. Crie uma captura instantânea do seu disco existente.

  3. Opcional: para criar novos hiperdiscos num conjunto de armazenamento, tem de criar um conjunto de armazenamento, se não existir nenhum.
  4. Aceda à página Discos.

    Aceda a Discos
  5. Clique em + Criar disco.
  6. Em Tipo de disco, selecione Hyperdisk Extreme, Hyperdisk Throughput ou Hyperdisk Balanced.

    Opcional: para usar pools de armazenamento, selecione Hyperdisk Balanced ou Hyperdisk Throughput.

  7. Para Tipo de origem do disco, selecione Instantâneo e, de seguida, selecione o nome do instantâneo a restaurar.
  8. Especifique o tamanho do novo disco, em GiB. Este número tem de ser igual ou superior ao disco de origem original do instantâneo.
  9. Opcional: altere as predefinições se estiver a alterar o tipo de disco:

    • Hyperdisk Balanced: altere o valor de IOPS aprovisionados e o valor de débito aprovisionado.
    • Hyperdisk Extreme: altere o valor de IOPS aprovisionados.
    • Débito do Hyperdisk: altere o valor do Débito aprovisionado.
  10. Opcional: para criar o novo disco num conjunto de armazenamento:

    1. Na secção Conjunto de armazenamento, selecione Ativar conjunto de armazenamento.
    2. Escolha o nome do conjunto de armazenamento no qual quer criar o disco.

      Apenas os conjuntos de armazenamento existentes na zona selecionada são apresentados na lista.

  11. Clique em Criar para criar o novo disco.
  12. Depois de criar o disco, pode anexar o disco a qualquer instância de computação em execução ou parada.

gcloud

  1. Prepare-se para criar um instantâneo de disco:

    Importante: se pausar as suas aplicações antes de criar uma imagem instantânea, retome as cargas de trabalho apenas depois de o recurso de imagem instantânea atingir o estado UPLOADING.

    Para mais informações, consulte a tabela em Criar manualmente instantâneos consistentes de aplicações.

  2. Crie uma captura instantânea do seu disco existente.

  3. Use o comando disks create para criar um volume do Hyperdisk a partir do seu instantâneo.

    gcloud compute disks create DISK_NAME \
     --zone=ZONE \
     --storage-pool=STORAGE_POOL_NAME \
     --size=SIZE \
     --source-snapshot=SNAPSHOT_NAME \
     --type=DISK_TYPE \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT
    

    Substitua o seguinte:

    • DISK_NAME: um nome único para o disco. Pode fornecer uma lista de nomes de discos especificados por espaços para criar vários discos com os mesmos atributos.
    • ZONE: a zona onde quer criar o disco. Se quiser criar o disco num conjunto de armazenamento, tem de especificar a zona onde o conjunto de armazenamento se encontra. Especifique este valor no formato região-zona, por exemplo, us-central1-a.
    • STORAGE_POOL_NAME: Opcional: o nome do conjunto de armazenamento no qual criar o disco. Se não incluir este parâmetro, é criado um Hyperdisk autónomo.
    • SIZE: opcional: a capacidade aprovisionada do novo disco. O tamanho tem de ser igual ou superior ao tamanho do disco persistente de origem. O valor tem de ser um número inteiro seguido de uma unidade de tamanho de GB para gibibyte ou TB para tebibyte. Se não for especificado nenhum tamanho, é usado 100 GB como o valor predefinido.
    • SNAPSHOT_NAME: O nome da imagem instantânea que criou a partir do disco original.
    • DISK_TYPE: o tipo de disco a criar. Se estiver a criar um disco num conjunto de armazenamento, este valor tem de corresponder ao tipo do conjunto de armazenamento Hyperdisk, hyperdisk-balanced ou hyperdisk-throughput.
    • PROVISIONED_IOPS: opcional: os IOPS a aprovisionar para o disco. Só pode usar este parâmetro quando cria um disco Hyperdisk Balanced ou Hyperdisk Extreme.
    • PROVISIONED_THROUGHPUT: opcional: para discos Hyperdisk Balanced e Hyperdisk Throughput, o débito em megabytes (MB) por segundo a aprovisionar para o disco. O valor tem de ser um número inteiro positivo.
  4. Depois de criar o disco, pode anexá-lo a qualquer instância de computação em execução ou parada.

REST

  1. Construa um pedido POST para criar um Hyperdisk zonal usando o método disks.insert. Inclua as propriedades name, sizeGb, type e sourceSnapshot.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    {
       "name": "DISK_NAME",
       "sizeGb": "DISK_SIZE",
       "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
       "sourceSnapshot": "SNAPSHOT_NAME",
       "provisionedIops": "IOPS_LIMIT",
       "provisionedThroughput": "THROUGHPUT_LIMIT",
       "accessMode": "DISK_ACCESS_MODE"
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto
    • ZONE: a zona onde a instância de computação e o novo disco estão localizados
    • DISK_NAME: o nome do novo disco
    • DISK_SIZE: Opcional: o tamanho do novo disco. O valor tem de ser um número inteiro seguido de uma unidade de tamanho de GB para gibibytes ou TB para tebibytes.
    • DISK_TYPE: o tipo de disco. Para criar um volume do Hyperdisk, use um dos seguintes valores: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml ou hyperdisk-throughput.
    • IOPS_LIMIT: opcional: para o Hyperdisk Balanced e o Hyperdisk Extreme, este é o número de operações de E/S por segundo que o disco consegue processar.
    • THROUGHPUT_LIMIT: Opcional: para volumes Hyperdisk Balanced, Hyperdisk ML ou Hyperdisk Throughput, este é um número inteiro que representa o débito, medido em MiB por segundo, que o disco consegue processar.
    • DISK_ACCESS_MODE: como as instâncias de computação podem aceder aos dados no disco. Os valores suportados são:

      • READ_WRITE_SINGLE, para acesso de leitura/escrita a partir de uma instância. Este é o valor predefinido.
      • READ_WRITE_MANY, para acesso de leitura/escrita a partir de várias instâncias.
      • READ_ONLY_MANY, para acesso só de leitura a partir de várias instâncias.

      Pode definir o modo de acesso para os seguintes tipos de discos:

      • Hyperdisk Balanced
      • Hyperdisk ML
      • Hiperdisco equilibrado de elevada disponibilidade (pré-visualização)
  2. Opcional: use o método compute.disks.get para ver uma descrição do seu disco.

  3. Depois de criar o disco, pode anexá-lo a qualquer instância de computação em execução ou parada.

Altere um disco zonal para um disco de alta disponibilidade equilibrado Hyperdisk regional

Para alterar um disco zonal para um disco de alta disponibilidade equilibrado do Hyperdisk, crie um instantâneo do disco zonal e use o instantâneo como origem quando criar o disco regional.

Consola

  1. Prepare-se para criar um instantâneo de disco:

    Importante: se pausar as suas aplicações antes de criar uma imagem instantânea, retome as cargas de trabalho apenas depois de o recurso de imagem instantânea atingir o estado UPLOADING.

    Para mais informações, consulte a tabela em Criar manualmente instantâneos consistentes de aplicações.

  2. Crie uma captura instantânea do seu disco existente.

  3. Aceda à página Discos.

    Aceda a Discos
  4. Clique em + Criar disco.
  5. Especifique um nome para o disco.
  6. No campo Localização, escolha Regional.
  7. Especifique a zona principal do disco nos campos Região e Zona.

    O disco tem de estar na mesma região que a instância de computação à qual planeia anexá-lo.

  8. Especifique a zona secundária no campo Zona de réplica.
  9. Para Tipo de origem do disco, selecione Instantâneo e, de seguida, selecione o nome do instantâneo a restaurar.
  10. Em Tipo de disco, selecione Hiperdisco equilibrado de alta disponibilidade.

    Se não vir o tipo de disco Hyperdisk Balanced de alta disponibilidade na lista, pode ter de escolher uma região que ofereça discos Hyperdisk Balanced de alta disponibilidade.

  11. Especifique o tamanho do novo disco, em GiB. Este número tem de ser igual ou superior ao disco de origem original do instantâneo.
  12. Opcional: altere os valores predefinidos de IOPS aprovisionados e Débito aprovisionado para o novo disco:

  13. Clique em Criar para criar o novo disco.
  14. Depois de criar o disco, pode anexar o disco a qualquer instância de computação em execução ou parada.

gcloud

  1. Prepare-se para criar um instantâneo de disco:

    Importante: se pausar as suas aplicações antes de criar uma imagem instantânea, retome as cargas de trabalho apenas depois de o recurso de imagem instantânea atingir o estado UPLOADING.

    Para mais informações, consulte a tabela em Criar manualmente instantâneos consistentes de aplicações.

  2. Crie uma captura instantânea do seu disco existente.

  3. Use o comando disks create para criar um disco de alta disponibilidade equilibrado do Hyperdisk a partir do seu instantâneo.

    gcloud compute disks create DISK_NAME \
     --size=SIZE \
     --type=hyperdisk-balanced-high-availability \
     --source-snapshot=SNAPSHOT_NAME \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT \
     --region=REGION \
     --replica-zones=ZONE1,ZONE2
    

    Substitua o seguinte:

    • DISK_NAME: um nome único para o disco.
    • SIZE: opcional: a capacidade aprovisionada do novo disco. O tamanho tem de ser igual ou superior ao tamanho do disco de origem. O valor tem de ser um número inteiro seguido de uma unidade de tamanho de GB para gibibyte ou TB para tebibyte.
    • SNAPSHOT_NAME: o nome da imagem instantânea que criou a partir do disco original.
    • PROVISIONED_IOPS: Opcional: os IOPS a aprovisionar para o disco.
    • PROVISIONED_THROUGHPUT: opcional: o débito em megabytes (MB) por segundo a aprovisionar para o disco.
    • REGION: a região onde o disco regional deve residir, por exemplo: europe-west1
    • ZONE1,ZONE2: as zonas na região onde se encontram as duas réplicas de disco, por exemplo: europe-west1-b,europe-west1-c

Terraform

Para criar um volume Hyperdisk Balanced de elevada disponibilidade, pode usar o recurso google_compute_region_disk, como mostrado no exemplo seguinte, mas altere o tipo de disco de pd-ssd para hyperdisk-balanced-high-availability.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

Para criar um volume de alta disponibilidade equilibrado do Hyperdisk, crie um pedido POST para o método compute.regionDisks.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
  "name": "DISK_NAME",
  "sourceSnapshot": "SNAPSHOT_NAME",
  "region": "projects/PROJECT_ID/regions/REGION",
  "replicaZones": [
    "projects/PROJECT_ID/zones/ZONE1",
    "projects/PROJECT_ID/zones/ZONE2"
  ],
  "sizeGb": "DISK_SIZE",
  "type": "projects/PROJECT_ID/regions/REGION/diskTypes/hyperdisk-balanced-high-availability"
}

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto
  • REGION: a região onde o disco regional deve residir, por exemplo: europe-west1
  • DISK_NAME: o nome do novo disco
  • SNAPSHOT_NAME: o nome da imagem instantânea que criou a partir do disco original.
  • ZONE1,ZONE2: as zonas onde devem estar localizadas as réplicas do novo disco, por exemplo: europe-west1-b,europe-west1-c
  • DISK_SIZE: o tamanho, em GiB, do novo disco

Torne o novo disco acessível à sua instância de VM

Depois de criar o disco, tem de associar o disco ou associar o disco regional à instância de computação antes de o poder usar.

Uma vez que o novo disco que criou não é um disco em branco, depois de anexar o disco a uma instância, só tem de montar o disco para o disponibilizar ao sistema operativo.

Para obter informações sobre como montar o disco, consulte o seguinte:

Remova o disco original

Depois de validar o novo disco, pode:

O que se segue?