É possível anexar um volume de disco permanente SSD no modo de vários gravadores com até duas instâncias
de máquina virtual (VM, na sigla em inglês) N2 simultaneamente, para que ambas as VMs possam ler e
gravar no disco. Para ativar o modo de vários gravadores em novos discos permanentes, crie
um volume de disco permanente e especifique a sinalização --multi-writer
na
CLI gcloud ou a propriedade multiWriter
na API Compute Engine.
Os volumes de discos permanentes no modo de vários gravadores fornecem um recurso de armazenamento em blocos compartilhado e apresentam uma base infraestruturada para criar sistemas de armazenamento distribuídos e serviços semelhantes altamente disponíveis. Ao usar volumes de discos permanentes no modo de vários gravadores, use um sistema de software de armazenamento de escalonamento horizontal com a capacidade de coordenar o acesso a dispositivos de disco permanente em várias VMs. Exemplos desses sistemas de armazenamento incluem Lustre e o IBM Spectrum Scale. A maioria dos sistemas de arquivos de VM única, como EXT4, XFS e NTFS, não foi projetada para ser usada com o armazenamento em blocos compartilhados. Para mais informações, consulte Práticas recomendadas neste documento. Se você precisar de um armazenamento de arquivos totalmente gerenciado, ative um compartilhamento de arquivos do Filestore nas VMs do Compute Engine.
Os volumes do Persistent Disk no modo de vários gravadores são compatíveis com um subconjunto de comandos do Persistent Reservations SCSI-3 (SCSI PR). Aplicativos de alta disponibilidade podem usar esses comandos para configurações de encapsulamento e failover de E/S.
Os seguintes comandos SCSI PR são compatíveis:
- ENTRADA {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
- SAÍDA {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RELEASE}
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Disponível apenas para volumes de Persistent Disk do tipo SSD.
- É possível criar um volume de disco permanente no modo de vários gravadores em
qualquer zona, mas só é possível anexá-lo às VMs nos seguintes locais:
australia-southeast1
europe-west1
us-central1
(somente zonasus-central1-a
eus-central1-c
)us-east1
(apenas para a zonaus-east1-d
)us-west1
(somente zonasus-west1-b
eus-west1-c
)
- As instâncias anexadas precisam ter um tipo de máquina N2.
- Tamanho mínimo: 10 GB
- Máximo de VMs anexadas: 2
- Os volumes do Persistent Disk no modo com vários gravadores não são compatíveis com as métricas do Persistent Disk.
- Não é possível mudar discos que estejam no modo de vários gravadores para o modo somente leitura.
- Não é possível usar imagens de disco ou snapshots para criar volumes do Persistent Disk no modo de vários gravadores.
- Não é possível criar snapshots ou imagens a partir de volumes do Persistent Disk no modo de vários gravadores.
- Limites menores de IOPS. Consulte o desempenho do disco para saber detalhes.
- Não é possível redimensionar um volume de disco permanente de vários gravadores.
- Ao criar uma VM usando a Google Cloud CLI, não é possível criar um
volume de disco permanente de vários gravadores com a sinalização
--create-disk
. - O encapsulamento de E/S usando os comandos de SCSI PR resulta em um estado consistente de falha dos dados do disco permanente. Alguns sistemas de arquivos não têm consistência de falhas e, portanto, poderão ficar corrompidos se você usar comandos SCSI PR.
- Muitos sistemas de arquivos, como EXT4, XFS e NTFS, não são projetados para ser usados com armazenamento em blocos compartilhado e não têm mecanismos para sincronizar ou executar operações originadas de várias instâncias de VM.
- Antes de usar os volumes do Persistent Disk no modo de vários gravadores, entenda o sistema de arquivos e como ele pode ser usado com segurança com armazenamento em blocos compartilhado e acesso simultâneo de várias VMs.
- Conecte as VMs ao Cloud Storage
- Conecte suas VMs ao Filestore
- Criar um servidor de arquivos de rede no Compute Engine
- Crie um volume do Persistent Disk com o modo de vários gravadores ativado e anexe-o a até duas VMs.
No console do Google Cloud, acesse a página Instâncias de VMs.
Na lista de VMs do projeto, clique no nome da VM em que você quer anexar o disco. A página Detalhes da instância de VM será aberta.
Na página de detalhes da instância, clique em Editar.
Na seção Discos adicionais, clique em uma das opções a seguir:
- Adicionar um disco para adicionar um disco no modo somente leitura à VM.
- Anexe o disco atual para selecionar um disco atual e anexá-lo no modo somente leitura à VM.
Especifique outras opções para seu disco.
Clique em Concluído para aplicar as alterações.
Clique em Salvar para aplicar as mudanças à VM.
Conecte a VM e ative o disco.
Repita este processo para adicionar o disco a outras VMs em modo somente leitura.
INSTANCE_NAME
: o nome da VM a que você quer anexar o volume zonal do disco permanenteDISK_NAME
: o nome do disco que você quer anexar.INSTANCE_NAME
: o nome da VM a que você quer anexar o volume zonal do disco permanentePROJECT_ID
: ID do projeto;ZONE
: a zona onde o disco está localizado.DISK_NAME
: o nome do disco que você está anexando.Use o comando
gcloud beta compute disks create
para criar um volume de disco permanente zonal. Inclua a sinalização--multi-writer
para indicar que o disco precisa ser compartilhável entre as VMs no modo de vários gravadores.gcloud beta compute disks create DISK_NAME \ --size DISK_SIZE \ --type pd-ssd \ --multi-writer
Substitua:
DISK_NAME
: o nome do novo discoDISK_SIZE
: o tamanho, em GB, do novo disco. Os tamanhos aceitáveis variam de 1 GB a 65.536 GB para volumes de disco permanente SSD ou de 200 GB a 65.536 GB para volumes de disco permanente padrão em vários gravadores mais recente.
Depois de criar o disco, anexe-o a qualquer VM em execução ou parada com um tipo de máquina N2. Use o comando
gcloud compute instances attach-disk
:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
Substitua:
INSTANCE_NAME
: o nome da VM N2 em que você está adicionando o novo volume zonal do Persistent DiskDISK_NAME
: o nome do novo disco que você está anexando à VM.
Repita o comando
gcloud compute instances attach-disk
, mas substitua INSTANCE_NAME pelo nome da segunda VM.Na API, crie uma solicitação
POST
para criar um volume de disco permanente zonal usando o métododisks.insert
. Inclua as propriedadesname
,sizeGb
etype
. Para criar esse novo disco como um disco que não será usado para inicialização e sem formatação, não especifique uma imagem ou um snapshot de origem para esse disco. Inclua a propriedademultiWriter
com um valorTrue
para indicar que o disco precisa ser compartilhável entre as VMs no modo de vários gravadores.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/pd-ssd", "multiWriter": "True" }
Substitua:
PROJECT_ID
: ID do projetoZONE
: a zona em que a VM e o novo disco estão localizados.DISK_NAME
: o nome do novo discoDISK_SIZE
: o tamanho, em GB, do novo disco. Os tamanhos aceitáveis variam de 1 GB a 65.536 GB para volumes de disco permanente SSD ou de 200 GB a 65.536 GB para volumes de disco permanente padrão em vários gravadores mais recente.
Crie uma solicitação
POST
para ocompute.instances.attachDisk
método e inclua o URL no Persistent Disk zonal que você acabou de criar.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
Substitua:
PROJECT_ID
: ID do projetoZONE
: a zona em que a VM e o novo disco estão localizados.INSTANCE_NAME
: o nome da VM em que você está adicionando o novo volume do Persistent Disk.DISK_NAME
: o nome do novo disco
Repita o comando
disks.insert
, mas especifique a segunda VM.- Saiba mais sobre como compartilhar volumes do Persistent Disk regionais entre várias instâncias de VM.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Restrições
Práticas recomendadas
Performance
Os volumes de discos permanentes criados no modo de várias gravações têm limites de capacidade e de IOPS específicos.
Modo de vários gravadores para Discos permanentes SSD zonais IOPS máximas sustentadas IOPS de leitura por GB 30 IOPS de gravação por GB 30 IOPS de leitura por instância 15.000–100.000* IOPS de gravação por instância 15.000–100.000* Capacidade sustentada máxima (MB/s) Capacidade de leitura por GB 0,48 Capacidade de gravação por GB 0,48 Capacidade de leitura por instância 240–1.200* Capacidade de gravação por instância 240–1.200* * O desempenho das IOPS e da capacidade do disco permanente depende do tamanho do disco, do número de vCPUs da instância e do tamanho do bloco de E/S, entre outros fatores.A anexação de um disco de vários gravadores a várias instâncias de máquina virtual não afeta o desempenho ou o custo agregado. Cada máquina recebe uma parcela do limite de desempenho por disco.
Para saber como compartilhar discos permanentes entre várias VMs, consulte Compartilhar discos permanentes entre VMs.Compartilhar um volume de disco permanente zonal entre instâncias de VM
Nesta seção, explicamos os diferentes métodos para compartilhar volumes de discos permanentes zonais entre várias VMs.
Compartilhar um disco no modo somente leitura entre várias instâncias
É possível anexar um volume de disco permanente que não seja de inicialização a mais de uma VM no modo somente leitura. Isso permite o compartilhamento de dados estáticos entre várias VMs. O compartilhamento de dados estáticos entre várias VMs de um volume de disco permanente é mais barato do que replicar os dados em discos exclusivos para VMs individuais.
Se for necessário compartilhar espaço de armazenamento dinâmico entre várias VMs, use uma das seguintes opções:
Console
gcloud
Na CLI gcloud, use o comando
compute instances attach-disk
e especifique a sinalização--mode
com a opçãoro
.gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME \ --mode ro
Substitua:
Depois de anexar o disco, conecte-se à VM e monte-o.
Repita este comando para cada VM onde quer adicionar esse disco no modo somente leitura.
Java
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Na API, crie uma solicitação
POST
para o métodocompute.instances.attachDisk
No corpo da solicitação, especifique o parâmetromode
comoREAD_ONLY
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "zones/ZONE/disks/DISK_NAME", "mode": "READ_ONLY" }
Substitua:
Depois de anexar o disco, conecte-se à VM e monte-o.
Repita esta solicitação para cada VM onde você quer adicionar esse disco no modo somente leitura.
Compartilhar um volume de disco permanente SSD no modo de vários gravadores entre as VMs
É possível compartilhar um volume de disco permanente SSD no modo de vários gravadores entre VMs N2 na mesma zona. Consulte Modo de vários gravadores em discos permanentes para detalhes sobre como ele funciona. Crie e anexe volumes do Persistent Disk com vários gravadores usando o seguinte processo:
gcloud
Crie e anexe um volume de disco permanente zonal usando a CLI gcloud:
Depois de criar e anexar um novo disco a uma VM, formate e monte o disco usando um sistema de arquivos de disco compartilhado. A maioria dos sistemas de arquivos não usa armazenamento compartilhado. Confirme se o sistema de arquivos é compatível com esses recursos antes de usá-los com o disco permanente de vários gravadores. Não é possível ativar o disco em várias VMs usando o mesmo processo que você normalmente usaria para ativar o disco em uma única VM.
REST
Use a API Compute Engine para criar e anexar um volume de disco permanente SSD às VMs N2 no modo de vários gravadores.
Depois de criar e anexar um novo disco a uma VM, formate e monte o disco usando um sistema de arquivos de disco compartilhado. A maioria dos sistemas de arquivos não usa armazenamento compartilhado. Confirme se o sistema de arquivos é compatível com esses recursos antes de usá-los com o Persistent Disk de vários gravadores.
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 2024-11-21 UTC.
-