Compartilhar um disco gerenciado do Azure entre VMs

Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs ✔️ Conjuntos de escala flexíveis ✔️ Conjuntos de escala uniformes

Os discos partilhados Azure são uma funcionalidade para discos geridos Azure que permite ligar um disco gerido a várias máquinas virtuais (VMs) simultaneamente. Esta funcionalidade permite-lhe implementar novas aplicações clusterizadas ou migrar para Azure sem alterar a sua arquitetura. Os discos partilhados garantem alta disponibilidade para aplicações em cluster, pois outras VMs no cluster mantêm acesso total ao disco caso uma VM falhe.

Os discos partilhados exigem um gestor de cluster, como o Cluster de Failover do Windows Server (WSFC) ou o Pacemaker, que lida com a comunicação dos nós do cluster e o bloqueio de escrita. Os discos gerenciados compartilhados não oferecem nativamente um sistema de arquivos totalmente gerenciado que possa ser acessado usando SMB/NFS.

Como funciona

As VMs no cluster podem ler ou gravar nos seus discos conectados com base na reserva escolhida pela aplicação em cluster usando Reservas Persistentes SCSI (SCSI PR). SCSI PR é um padrão do setor usado por aplicativos executados em SAN (Storage Area Network, rede de armazenamento de dados) local. Habilitar o SCSI PR em um disco gerenciado permite migrar esses aplicativos para o Azure no estado em que se encontram.

Os discos gerenciados compartilhados oferecem armazenamento em bloco compartilhado que pode ser acessado de várias VMs, que são expostas como LUNs (números de unidade lógica). Os LUNs são então apresentados a um iniciador (VM) a partir de um destino (disco). Esses LUNs se parecem com DAS (Direct Attached-Storage, armazenamento com conexão direta) ou uma unidade local para a VM.

Limitações

Limitações gerais

Os discos partilhados têm limitações gerais que se aplicam a todos os discos partilhados, independentemente do tipo de disco. Eles também têm mais limitações que se aplicam apenas a tipos específicos de discos compartilhados. A lista seguinte é a lista de limitações gerais:

  • Atualmente, apenas Ultra Disks, Premium SSD v2, Premium SSD e Standard SSDs podem ser usados como um disco compartilhado
  • Os discos compartilhados podem ser anexados a Conjuntos de Dimensionamento de Máquina Virtual individuais, mas não podem ser definidos nos modelos de Conjunto de Dimensionamento de Máquina Virtual ou implantados automaticamente
  • O acelerador de gravação não é suportado para discos compartilhados
  • O cache de host não é suportado para discos compartilhados

Cada disco gerenciado com discos compartilhados habilitados também está sujeito às seguintes limitações, organizadas por tipo de disco:

Discos Ultra

Os Ultra Discos têm a sua própria lista separada de limitações, não relacionadas com discos partilhados. Para limitações do Ultra Disk, consulte Utilização de Azure Ultra Disks.

Ao partilhar Ultra Disks, têm as seguintes limitações adicionais:

SSD Premium v2

Os discos geridos SSD Premium v2 têm a sua própria lista separada de limitações, não relacionadas com discos partilhados. Para essas limitações, consulte Limitações do SSD Premium v2.

Ao compartilhar discos SSD Premium v2, eles têm a seguinte limitação adicional:

SSD Premium

SSDs Standard

Requisitos do sistema operativo

Os discos partilhados suportam vários sistemas operativos. Para sistemas operativos suportados, consulte as secções Windows ou Linux.

Implicações de faturação

Quando partilha um disco, a faturação pode ser afetada de duas formas diferentes, dependendo do tipo de disco.

Para SSDs Premium partilhados, para além do custo da camada do disco, há um custo extra que aumenta a cada VM onde o SSD está montado. Consulte os preços dos discos gerenciados para obter detalhes.

Tanto os Ultra Disks partilhados como os discos Premium SSD v2 partilhados não têm custo extra por cada VM onde estão montados. Eles são cobrados sobre o total de IOPS e MB/s para os quais o disco está configurado. Normalmente, os Ultra Disks e o Premium SSD v2 têm duas limitações de desempenho que determinam o total de IOPS/MB/s. No entanto, quando configurado como um disco compartilhado, mais dois limitadores de desempenho são disponibilizados, totalizando quatro. Esses dois controlos de aceleração extras permitem um desempenho adicional por um custo extra e cada medidor tem um valor padrão, o que aumenta o desempenho e o custo do disco.

As quatro limitações de desempenho que um Ultra Disk partilhado e um SSD Premium partilhado v2 têm são diskIOPSReadWrite, diskMBpsReadWrite, diskIOPSReadOnly, e diskMBpsReadOnly. Cada acelerador de desempenho pode ser configurado para alterar o desempenho do disco. O desempenho dos discos Ultra Disks partilhados e dos discos Premium SSD v2 é calculado da seguinte forma: total de IOPS aprovisionado (diskIOPSReadWrite + diskIOPSReadOnly) e débito total aprovisionado em MB/s (diskMBpsReadWrite + diskMBpsReadOnly).

Depois de determinar o seu total de IOPS provisionado e a largura de banda total provisionada, pode usá-los na calculadora de preços para determinar o custo de um disco partilhado Ultra ou de um disco partilhado Premium SSD v2.

Tamanhos de disco

Por agora, apenas discos Ultra, SSD Premium v2, SSD Premium e SSDs Standard podem ativar discos partilhados. Tamanhos de disco diferentes podem ter um limite diferente maxShares , que você não pode exceder ao definir o maxShares valor.

Para cada disco, você pode definir um maxShares valor que represente o número máximo de nós que podem compartilhar simultaneamente o disco. Por exemplo, se você planeja configurar um cluster de failover de 2 nós, defina maxShares=2. O valor máximo é um limite superior. Os nós podem ingressar ou sair do cluster (montar ou desmontar o disco) desde que o número de nós seja menor do que o valor especificado maxShares .

Nota

O maxShares valor só pode ser definido ou editado quando o disco é separado de todos os nós.

Gamas SSD Premium

A tabela seguinte ilustra os valores máximos permitidos para maxShares por tamanhos de SSD Premium:

Tamanhos de disco limite maxShares
P1,P2,P3,P4,P6,P10,P15,P20 3
P30, P40, P50 5
P60, P70, P80 10

Os limites de IOPS e largura de banda de um disco não são afetados pelo maxShares valor. Por exemplo, o IOPS máximo de um disco P15 é 1100, quer seja maxShares = 1 ou maxShares > 1.

Gamas padrão de SSD

A tabela seguinte ilustra os valores máximos permitidos por maxShares tamanhos padrão de SSD:

Tamanhos de disco limite maxShares
E1,E2,E3,E4,E6,E10,E15,E20 3
E30, E40, E50 5
E60, E70, E80 10

Os limites de IOPS e largura de banda de um disco não são afetados pelo maxShares valor. Por exemplo, o IOPS máximo de um disco E15 é 500 quer maxShares = 1 ou maxShares > 1.

Gamas Ultra Disk

O valor mínimo maxShares é 1, enquanto o valor máximo maxShares é 15. Não existem restrições de tamanho para os Ultra Discos; qualquer Ultra Disco pode utilizar qualquer valor para maxShares, até inclusive o valor máximo.

Gamas Premium SSD v2

O valor mínimo maxShares é 1, enquanto o valor máximo maxShares é 15. Não existem restrições de tamanho no SSD Premium v2; qualquer tamanho do SSD Premium v2 pode utilizar qualquer valor para maxShares, até ao valor máximo, inclusive.

Exemplos de cargas de trabalho de disco partilhado do Windows

Os discos compartilhados do Azure são suportados no Windows Server 2008 e versões mais recentes. A maioria dos clusters baseados no Windows se baseia no WSFC, que lida com toda a infraestrutura principal para comunicação de nós de cluster, permitindo que seus aplicativos aproveitem os padrões de acesso paralelo. O WSFC ativa tanto Volumes Partilhados de Cluster (CSV) como opções não baseadas em CSV, dependendo da sua versão do Windows Server. Para obter mais detalhes, consulte Criar um cluster de ativação pós-falha.

Algumas aplicações populares em execução no WSFC incluem:

  • Criar uma FCI com discos compartilhados do Azure (SQL Server em VMs do Azure)
  • Servidores de ficheiros. Pode-se utilizar as funcionalidades Scale-Out File Server implementadas em um cluster de failover do Windows Server, que utiliza disco partilhado em modo ativo-ativo. Os recursos das testemunhas de cluster são armazenados em discos partilhados da Azure e todos os ficheiros partilhados estão online ao mesmo tempo em todos os nós. Para um exemplo, consulte o modelo Scale-out File Server (SoFS)
  • Os servidores de aplicações SAP utilizam discos partilhados em clusters para armazenar os Serviços Centrais SAP (ASCS para ABAP e SCS para Java) e ficheiros anfitriões globais SAP. Modelo SAP ASCS/SCS
  • Servidor de ficheiros para uso geral (carga de trabalho IW) - discos partilhados permitem alta disponibilidade para servidores de ficheiros em geral
  • Disco de Perfil do Utilizador do Servidor de Ambiente de Trabalho Remoto (RDS UPD)

Exemplos de cargas de trabalho em disco partilhado Linux

Os discos partilhados do Azure são suportados em:

Os clusters Linux podem usar gerenciadores de cluster como o Pacemaker. O Pacemaker baseia-se no Corosync, permitindo comunicações em cluster para aplicações implementadas em ambientes altamente disponíveis. Alguns sistemas de arquivos clusterizados comuns incluem ocfs2 e gfs2. Pode usar modelos de clustering baseados em SCSI Persistent Reservation (SCSI PR) e STONITH Block Device (SBD) para arbitrar o acesso ao disco. Ao usar o SCSI PR, pode manipular reservas e registos utilizando utilitários como fence_scsi e sg_persist.

Fluxo de reservas persistente

O diagrama a seguir ilustra uma aplicação de base de dados em cluster de 2 nós exemplar que usa SCSI PR para habilitar a comutação de um nó para o outro.

Diagrama de um cluster de duas VMs do Azure que partilham um disco de dados, mostrando o registo, a reserva exclusiva, a preempção e a ativação pós-falha da base de dados da VM1 para a VM2.

O fluxo é o seguinte:

  1. O aplicativo clusterizado em execução no Azure VM1 e VM2 registra sua intenção de ler ou gravar no disco.
  2. Em seguida, a instância do aplicativo no VM1 recebe reserva exclusiva para gravar no disco.
  3. Essa reserva é imposta em seu disco do Azure e o banco de dados agora pode gravar exclusivamente no disco. Qualquer gravação da instância do aplicativo na VM2 não terá êxito.
  4. Se a instância do aplicativo no VM1 ficar inativa, a instância no VM2 agora poderá iniciar um failover de banco de dados e assumir o controle do disco.
  5. Essa reserva agora é imposta no disco do Azure e o disco não aceitará mais gravações do VM1. Ele só aceitará escritas do VM2.
  6. O aplicativo clusterizado pode concluir o failover do banco de dados e atender solicitações do VM2.

O diagrama a seguir ilustra outra carga de trabalho clusterizada comum que consiste em vários nós lendo dados do disco para executar processos paralelos, como treinamento de modelos de aprendizado de máquina.

Diagrama de quatro VMs do Azure a partilhar um disco de dados, com todas as VMs a registarem-se e a lerem enquanto o VM1 reserva o acesso à escrita.

O fluxo é o seguinte:

  1. O aplicativo clusterizado em execução em todas as VMs registra a intenção de ler ou gravar no disco.
  2. A instância do aplicativo no VM1 recebe uma reserva exclusiva para gravar no disco enquanto abre leituras no disco de outras VMs.
  3. Esta reserva é aplicada no seu disco do Azure.
  4. Todos os nós no cluster agora podem ler a partir do disco. Apenas um nó grava os resultados no disco, em nome de todos os nós do cluster.

Fluxo de pedido de Disco Ultra e SSD Premium v2

Tanto os Ultra Disks como os discos geridos Premium SSD v2 oferecem dois limites de velocidade extra, dando a cada um deles um total de quatro limites de velocidade. Como resultado, o fluxo de reservas pode usar reservas persistentes SCSI para coordenar o acesso ao disco entre VMs agrupadas, conforme descrito em Fluxo persistente de reservas, ou pode usar os quatro throttles para distribuir IOPS e throughput de forma mais granular.

Tabela que mostra o acesso só de leitura e de leitura/escrita para o titular da reserva, os nós registados e os outros nós para cada tipo de reserva persistente.

Restrições de desempenho de SSD Premium

Com o SSD Premium, o IOPS do disco e o débito são fixos, por exemplo, o IOPS de um P30 é 5000. Esse valor permanece se o disco for compartilhado entre 2 VMs ou 5 VMs. Os limites de disco podem ser alcançados a partir de uma única VM ou divididos em duas ou mais VMs.

Aceleradores de desempenho Ultra Disk e SSD Premium v2

Tanto os Ultra Disks como os Premium SSD v2 managed disks têm a capacidade única de lhe permitir definir o seu desempenho, expondo atributos modificáveis e permitindo-lhe modificá-los. Por padrão, há apenas dois atributos modificáveis, mas os Ultra Disks compartilhados e os discos gerenciados Premium SSD v2 compartilhados têm mais dois atributos. Ultra Disks e Premium SSD v2 dividem esses atributos em cada VM conectada. Para obter alguns exemplos de como essa distribuição de capacidade, IOPS e taxa de transferência funciona, consulte a seção Exemplos .

Atributo Descrição
diskIOPSReadWrite (IOPS de leitura/escrita do disco) O número total de IOPS permitido em todas as VMs que montam o disco compartilhado com acesso de gravação.
diskMBpsReadWrite (Débito de leitura/escrita do disco) A taxa de transferência total (MB/s) permitida em todas as VMs que montam o disco compartilhado com acesso de gravação.
diskIOPSReadOnly* (IOPS do disco só de leitura) O número total de IOPS permitido em todas as VMs que montam o disco partilhado como ReadOnly.
diskMBpsReadOnly* (Taxa de transferência de disco só de leitura) A taxa de transferência total (MB/s) permitida em todas as VMs que montam o disco compartilhado como ReadOnly.

* Aplica-se apenas a Discos Ultra partilhados e discos geridos Premium SSD v2 partilhados

As fórmulas a seguir explicam como os atributos de desempenho podem ser definidos, já que são modificáveis pelo usuário:

  • diskIOPSReadWrite (IOPS de leitura/gravação do disco):
    • Tem uma IOPS mínima de linha de base de 100, para discos de 100 GiB e menores.
      • Para discos maiores que 100 GiB, o IOPS mínimo de linha de base que você pode definir aumenta em 1 por GiB. Portanto, o mínimo que podes definir diskIOPSReadWrite para um disco de 101 GiB é 101 IOPS.
    • O máximo que você pode definir este atributo é determinado pelo tamanho do seu disco, a fórmula é 300 * GiB, até um máximo de 400.000.
  • diskMBpsReadWrite (Taxa de transferência de leitura/escrita do disco)
    • A taxa de transferência mínima (MB/s) deste atributo é determinada pelo seu IOPS, a fórmula é de 4 KiB por segundo por IOPS. Portanto, se você tinha 101 IOPS, o mínimo de MB/s que você pode definir é 1.
    • O máximo que você pode definir esse atributo é determinado pela quantidade de IOPS que você definiu, a fórmula é de 256 KiB por segundo por IOPS, até um máximo de 10.000 MB/s.
  • diskIOPSReadOnly (IOPS do disco só de leitura)
    • O IOPS mínimo da linha de base para este atributo é 100. Para diskIOPSReadOnly, a linha de base não aumenta com o tamanho do disco.
    • O máximo que você pode definir este atributo é determinado pelo tamanho do seu disco, a fórmula é 300 * GiB, até um máximo de 400.000.
  • diskMBpsReadOnly (Taxa de transferência do disco de leitura)
    • A taxa de transferência mínima (MB/s) para este atributo é 1. Para diskMBpsReadOnly, a linha de base não aumenta com o IOPS.
    • O máximo que você pode definir esse atributo é determinado pela quantidade de IOPS que você definiu, a fórmula é de 256 KiB por segundo por IOPS, até um máximo de 10.000 MB/s.

Exemplos

Os exemplos seguintes mostram alguns cenários que mostram como o throttling pode funcionar com Ultra Disks partilhados, especificamente.

Cluster de dois nós com Cluster Shared Volumes

A seguir está um exemplo de um WSFC de 2 nós usando volumes compartilhados clusterizados. Com essa configuração, ambas as VMs têm acesso de gravação simultâneo ao disco, o que resulta na divisão do ReadWrite acelerador entre as duas VMs e no não uso do ReadOnly acelerador.

Diagrama de um cluster Windows de dois nós usando Volumes Partilhados de Cluster, com IOPS de leitura/escrita e throughput divididos igualmente entre ambas as VMs.

Cluster de dois nós sem Cluster Shared Volumes

O seguinte é um exemplo de um WSFC de 2 nós que não utiliza Volumes Partilhados de Cluster. Com essa configuração, apenas uma VM tem acesso de gravação ao disco. Isso faz com que o ReadWrite acelerador seja usado exclusivamente para a VM primária e o ReadOnly acelerador seja usado apenas pela secundária.

Diagrama de um cluster de ativação pós-falha do Windows com dois nós, sem Volumes Partilhados do Cluster, com VM1 a usar os limites de leitura/escrita e VM2 a usar os limites só de leitura.

Cluster Linux de quatro nós

A seguir está um exemplo de um cluster Linux de 4 nós com um único gravador e três leitores de expansão. Com essa configuração, apenas uma VM tem acesso de gravação ao disco. Isso faz com que o ReadWrite acelerador seja usado exclusivamente para a VM primária e o ReadOnly acelerador seja dividido pelas VMs secundárias.

Diagrama de um cluster Linux de quatro nós, com o VM1 a usar os throttles de leitura/escrita e os throttles de apenas leitura divididos entre VM2, VM3 e VM4.

Preço do Ultra Disk compartilhado e SSD Premium v2

Tanto os Ultra Disks partilhados como os discos gerenciados Premium SSD v2 partilhados são precificados com base na capacidade provisionada, IOPS total provisionado (diskIOPSReadWrite + diskIOPSReadOnly) e débito total provisionado em MB/s ().diskMBpsReadWrite + diskMBpsReadOnly Não há cobrança extra para cada montagem de VM adicional. Por exemplo, um Ultra Disk partilhado com a seguinte configuração (diskSizeGB: 1024, diskIOPSReadWrite: 10000, diskMBpsReadWrite: 600, diskIOPSReadOnly: 100, diskMBpsReadOnly: 1) é carregado com 1024 GiB, 10100 IOPS e 601 MB/s, independentemente de estar montado em duas VMs ou cinco.

Próximos passos

Se estiver interessado em ativar e utilizar discos partilhados para os seus discos geridos, avance para o nosso artigo Ativar disco partilhado

Se tiver mais perguntas, consulte a secção de discos partilhados nas FAQ.