Compartilhar via


Gerenciar a capacidade de armazenamento do Azure Stack Hub

Este artigo descreve como um operador de nuvem do Azure Stack Hub pode monitorar e gerenciar a capacidade de armazenamento de uma implantação do Azure Stack Hub. Você pode usar as diretrizes para entender a memória disponível para as VMs do usuário. A infraestrutura de armazenamento do Azure Stack Hub aloca um subconjunto da capacidade total de armazenamento da implantação do Azure Stack Hub como serviços de armazenamento. Os serviços de armazenamento guardam os dados do locatário em compartilhamentos em volumes que correspondem aos nós da implantação.

Como operador de nuvem, você tem uma quantidade limitada de armazenamento para trabalhar. A quantidade de armazenamento é definida pela solução que você implementa. A solução é fornecida pelo fornecedor do OEM quando você usa uma solução de vários nós ou é fornecida pelo hardware no qual você instala o ASDK (Azure Stack Development Kit).

O Azure Stack Hub só dá suporte à expansão da capacidade de armazenamento adicionando nós de unidade de escala extra. Para obter mais informações, consulte adicionar nós de unidade de escala no Azure Stack Hub. Adicionar discos físicos aos nós não expandirá a capacidade de armazenamento.

É importante monitorar o armazenamento disponível para garantir seja mantida a eficiência das operações. Quando a capacidade livre restante de um volume se torna limitada, comece a gerenciar o espaço disponível para impedir que os compartilhamentos fiquem sem capacidade.

Suas opções para gerenciar a capacidade incluem:

  • Recuperar a capacidade.
  • Migrando objetos de armazenamento.

Quando um volume de armazenamento de objetos é 100% utilizado, o serviço de armazenamento não funciona mais nesse volume. Para obter assistência na restauração das operações do volume, entre em contato com o suporte da Microsoft.

Entender discos, contêineres e volumes

O usuário locatário cria discos, blobs, tabelas e filas nos serviços de armazenamento do Azure Stack Hub. Esses dados de locatário são colocados em volumes no armazenamento disponível.

Discos

As VMs armazenam e manipulam dados em discos virtuais. Cada VM começa com um disco do sistema operacional, criado a partir de uma imagem do marketplace ou imagem privada. A VM pode anexar zero ou mais discos de dados. Há dois tipos de discos oferecidos no Azure Stack:

Os discos gerenciados simplificam a administração de disco das VMs IaaS do Azure gerenciando as contas de armazenamento associadas aos discos da VM. Você só precisa especificar o tamanho do disco necessário e o Azure Stack Hub cria e gerencia o disco para você. Para obter mais informações, confira Visão geral do Managed Disks.

Discos não gerenciados são arquivos VHD armazenados como blocos de página em contêineres de contas de armazenamento do Azure Stack. Os blobs de página criados por locatários são conhecidos como discos de VM e são armazenados em contêineres nas contas de armazenamento. Recomendamos que você use discos não gerenciados apenas para VMs que precisam ser compatíveis com ferramentas de terceiros, que só dão suporte a discos não gerenciados do Azure.

A orientação para locatários é colocar cada disco em um contêiner separado para melhorar o desempenho da VM.

  • Cada contêiner que contém um disco, ou blob de página, de uma VM é considerado um contêiner anexado à VM que possui o disco.
  • Um contêiner que não contém discos de uma VM é considerado um contêiner gratuito.

As opções para liberar espaço em um contêiner anexado são limitadas. Para obter mais informações, consulte Distribuir discos não gerenciados.

Importante

Recomendamos que você use apenas discos gerenciados em VMs para facilitar o gerenciamento. Você não precisa preparar contas de armazenamento e contêineres antes de usar discos gerenciados. Os discos gerenciados fornecem funcionalidade e desempenho equivalentes ou melhores em comparação com discos não gerenciados. Não há vantagens de usar discos não gerenciados e eles são fornecidos apenas para compatibilidade com versões anteriores.

Os discos gerenciados são otimizados para melhor posicionamento na infraestrutura de armazenamento e reduzem significativamente a sobrecarga de gerenciamento. No entanto, como os discos gerenciados são provisionados de forma fina e o uso final é imprevisível durante a criação, o posicionamento desequilibrado dos discos pode fazer com que o volume seja excessivamente utilizado. Os operadores são responsáveis por monitorar o uso da capacidade de armazenamento e evitar esses problemas.

Para usuários que usam modelos do ARM para provisionar novas máquinas virtuais, consulte Usar modelos de discos gerenciados de VM para entender como modificar seus modelos para usar discos gerenciados.

Os discos de VM são armazenados como arquivos esparsos na infraestrutura de armazenamento. Os discos têm um tamanho provisionado que o usuário solicita no momento em que o disco é criado. No entanto, somente as páginas não zero gravadas no disco ocupam espaço na infraestrutura de armazenamento subjacente.

exemplo: disco esparso no volume de armazenamento.

Os discos costumam ser criados copiando-se de imagens de plataforma, imagens gerenciadas, instantâneos ou outros discos, e os instantâneos são derivados dos discos. Para aumentar o uso da capacidade de armazenamento e reduzir o tempo de operação de cópia, o sistema usa a clonagem de blob no ReFS. A clonagem de blobs é uma operação de metadados de baixo custo em vez de uma cópia completa byte por byte entre arquivos. O arquivo de origem e o arquivo de destino podem compartilhar as mesmas extensões. Dados idênticos não são armazenados fisicamente várias vezes, melhorando a capacidade de armazenamento.

Exemplo: Compartilhar extensão no volume de armazenamento.

O uso da capacidade só aumenta quando os discos são gravados e os dados idênticos são reduzidos. Quando uma imagem ou um disco é excluído, o espaço pode não ser liberado imediatamente, pois pode haver discos ou instantâneos criados a partir dele que ainda mantêm os dados idênticos e ocupam espaço. Se todas as entidades relacionadas forem removidas, o espaço ficará disponível.

exemplo: Extensão após a exclusão do disco.

Blobs e contêineres

Os usuários clientes armazenam grandes quantidades de dados não estruturados no Azure Blob. O Azure Stack Hub dá suporte a três tipos de blobs: blobs de blocos, blobs de acréscimo e blobs de página. Para obter mais informações sobre os diferentes tipos de blobs, confira Compreendendo os Blobs de Blocos, Blobs de Acréscimo e Blobs de Página.

Os usuários do locatário criam contêineres que são usados para armazenar dados de blob. Embora os usuários decidam em qual contêiner colocar blobs, o serviço de armazenamento usa um algoritmo para determinar em qual volume colocar o contêiner. O algoritmo normalmente escolhe o volume com o espaço mais disponível.

Depois que um blob é colocado em um contêiner, o blob pode crescer para usar mais espaço. À medida que você adiciona novos blobs e os blobs existentes crescem, o espaço disponível diminui no volume que mantém o contêiner.

Os contêineres não estão limitados a um único volume. Quando os dados de blob combinados em um contêiner crescem para usar 80% ou mais do espaço disponível, o contêiner entra no modo de estouro. No modo de overflow, todos os novos blobs criados nesse contêiner são alocados em um volume diferente que tenha espaço suficiente. Com o tempo, um contêiner em modo overflow pode ter blobs distribuídos em vários volumes.

Quando 90% (e, em seguida, 95%) do espaço disponível em um volume é usado, o sistema gera alertas no portal de administrador do Azure Stack Hub. Os operadores de nuvem devem examinar a capacidade de armazenamento disponível e planejar o reequilíbrio do conteúdo. O serviço de armazenamento para de funcionar quando um disco estiver 100% usado e não é gerado nenhum alerta adicional.

Volumes

O serviço de armazenamento particiona o armazenamento disponível em volumes separados que são alocados para armazenar dados do sistema e do locatário. Os volumes combinam as unidades no pool de armazenamento para apresentar a tolerância, escalabilidade e benefícios de desempenho de Espaços de Armazenamento Diretos. Para obter mais informações sobre volumes no Azure Stack Hub, consulte Gerenciar a infraestrutura de armazenamento do Azure Stack Hub.

Os volumes do repositório de objetos contêm dados do locatário. Os dados do locatário incluem blobs de páginas, blobs de blocos, blobs de acréscimo, tabelas, filas, bancos de dados e repositórios de metadados relacionados. O número de volumes do repositório de objetos é igual ao número de nós na implantação do Azure Stack Hub:

  • Em uma implantação de quatro nós, há quatro volumes de armazenamento de objetos. Em uma implantação de vários nós, o número de volumes não será reduzido se um nó for removido ou apresentar mau funcionamento.
  • Se você usar o ASDK, haverá um único volume com um único compartilhamento.

Os volumes do repositório de objetos são para o uso exclusivo dos serviços de armazenamento. Você não deve modificar, adicionar ou remover arquivos diretamente nos volumes. Somente os serviços de armazenamento devem funcionar nos arquivos armazenados nesses volumes.

Como os objetos de armazenamento (blobs e assim por diante) estão contidos individualmente em um único volume, o tamanho máximo de cada objeto não pode exceder o tamanho de um volume. O tamanho máximo de novos objetos depende da capacidade que permanece em um volume como espaço não utilizado quando esse novo objeto é criado.

Quando um volume de repositório de objetos está com pouco espaço livre e as ações para recuperar espaço não são bem-sucedidas ou não estão disponíveis, os operadores de nuvem do Azure Stack Hub podem migrar os objetos de armazenamento de um volume para outro.

Para obter informações sobre como os usuários locatários interagem com o armazenamento de blobs no Azure Stack Hub, consulte serviços de armazenamento do Azure Stack Hub.

Monitorar o armazenamento

Use o Azure PowerShell ou o portal do administrador para monitorar compartilhamentos para que você possa entender quando o espaço livre é limitado. Ao usar o portal, você recebe alertas sobre compartilhamentos com pouco espaço.

Usar o PowerShell

Como operador de nuvem, você pode monitorar a capacidade de armazenamento de um compartilhamento usando o cmdlet Get-AzsStorageShare do PowerShell. O cmdlet retorna o espaço total, alocado e livre, em bytes, em cada um dos compartilhamentos.

Exemplo: retornar espaço livre para compartilhamentos.

  • Capacidade total: o espaço total, em bytes, disponível no compartilhamento. Esse espaço é usado para dados e metadados mantidos pelos serviços de armazenamento.
  • Capacidade usada: a quantidade de dados, em bytes, usada por todas as extensões dos arquivos que armazenam os dados do locatário e os metadados associados.

Usar o portal do administrador

Como operador de nuvem, você pode usar o portal do administrador para exibir a capacidade de armazenamento de todos os compartilhamentos.

  1. Acesse o portal do administrador no https://adminportal.local.azurestack.external.

  2. Selecione Todos os serviços>Armazenamento>Compartilhamentos de arquivos para abrir a lista de compartilhamento de arquivos, em que você pode exibir as informações de uso.

    exemplo: captura de tela dos compartilhamentos de arquivos de armazenamento no portal de administrador do Azure Stack Hub.

    • Total: o espaço total, em bytes, que está disponível no compartilhamento. Esse espaço é usado para dados e metadados mantidos pelos serviços de armazenamento.
    • Usado: a quantidade de dados, em bytes, usada por todas as extensões dos arquivos que armazenam os dados do locatário e os metadados associados.

Use o Azure PowerShell ou o portal do administrador para monitorar a capacidade provisionada e usada e planejar a migração para garantir a operação normal contínua do sistema.

Há três ferramentas para monitorar a capacidade do volume:

  • Portal e PowerShell para a capacidade de volume atual.
  • Alertas de espaço de armazenamento.
  • Métricas de capacidade de volume.

Esta seção descreve como usar essas ferramentas para monitorar a capacidade do sistema.

Usar o PowerShell

Como operador de nuvem, você pode monitorar a capacidade de armazenamento de um volume usando o cmdlet Get-AzsVolume do PowerShell. O cmdlet retorna o espaço total e livre em gigabytes (GB) em cada um dos volumes.

Exemplo: retornar espaço livre para volumes.

  • Capacidade total: o espaço total disponível no compartilhamento em GB. Esse espaço é usado para dados e metadados mantidos pelos serviços de armazenamento.
  • Capacidade Restante: A quantidade de espaço livre em GB para armazenar os dados do inquilino e os metadados associados.

Usar o portal do administrador

Como operador de nuvem, você pode usar o portal do administrador para exibir a capacidade de armazenamento de todos os volumes.

  1. Entre no portal de administrador do Azure Stack Hub em (https://adminportal.local.azurestack.external).

  2. Selecione Todos os serviços>Armazenamento>Volumes para abrir a lista de volumes em que você pode exibir as informações de uso.

    exemplo: captura de tela dos volumes de armazenamento no portal de administrador do Azure Stack Hub.

    • Total: o espaço total disponível no volume. Esse espaço é usado para dados e metadados mantidos pelos serviços de armazenamento.
    • Usado: a quantidade de dados usada por todas as extensões dos arquivos que armazenam os dados do locatário e os metadados associados.

Alertas de espaço de armazenamento

Ao usar o portal do administrador, você recebe alertas sobre volumes com pouco espaço.

Importante

Como operador de nuvem, você deve impedir que os compartilhamentos atinjam o uso total. Quando um compartilhamento é 100% usado, o serviço de armazenamento não funciona mais para esse compartilhamento. Para recuperar espaço livre e restaurar as operações em um compartilhamento que está 100% utilizado, entre em contato com o suporte da Microsoft.

  • Aviso: quando um compartilhamento de arquivos tiver mais de 90% usado, você receberá um alerta de aviso no portal do administrador:

    exemplo: captura de tela do alerta de aviso no portal de administrador do Azure Stack Hub

  • Crítico: quando um compartilhamento de arquivos tiver mais de 95% usado, você receberá um alerta crítico no portal do administrador:

    exemplo: captura de tela do alerta crítico no portal de administrador do Azure Stack Hub

  • Exibir detalhes: no portal do administrador, você pode abrir os detalhes de um alerta para exibir suas opções de mitigação:

    exemplo: captura de tela da exibição dos detalhes do alerta no portal de administrador do Azure Stack Hub

Métricas de capacidade de volume

As métricas de capacidade de volume fornecem informações mais detalhadas sobre capacidade provisionada e capacidade de uso para diferentes tipos de objetos. Os dados de métricas são preservados por 30 dias. Um serviço de monitoramento em segundo plano atualiza os dados de métricas de capacidade de volume por hora.

É necessário entender o uso de recursos de um volume verificando proativamente o relatório de métrica de capacidade. Para decidir a ação correspondente para liberar espaço, o operador de nuvem pode analisar a distribuição do tipo de recurso quando um volume está próximo de estar cheio. O operador também pode impedir que o volume seja sobreutilizado quando o tamanho provisionado do disco indica que o volume foi excessivamente provisionado.

O Azure Monitor fornece as seguintes métricas para mostrar o uso da capacidade do volume:

  • Capacidade Total do Volume indica a capacidade total de armazenamento do volume.
  • Capacidade Restante do Volume mostra a capacidade de armazenamento restante do volume.
  • Capacidade usada do disco da VM de volume mostra o total de espaços ocupados por objetos relacionados ao disco da VM (incluindo blobs de página, discos gerenciados/snapshot, imagens gerenciadas e imagens de plataforma). O arquivo VHD subjacente para discos de VM pode compartilhar a mesma extensão (consulte Disks) com imagens, instantâneos ou outros discos. Esse número pode ser menor que a soma da capacidade usada de todos os objetos individuais relacionados ao disco de VM.
  • Outra Capacidade de Volume Usada é o tamanho total usado de objetos que não sejam discos, incluindo blobs de blocos, blobs de acréscimo, tabelas, filas e metadados de blob.
  • Capacidade Provisionada de Disco de VM de Volume é o tamanho total provisionado de blobs de página e discos gerenciados/snapshots. Esse tamanho é a capacidade total máxima do disco que todos os discos gerenciados e blobs de página no volume específico podem atingir.

Exemplo: Métricas de capacidade de volume.

Para exibir métricas de capacidade de volume no Azure Monitor:

  1. Confirme se você tem o Azure PowerShell instalado e configurado. Para obter instruções sobre como configurar o ambiente do PowerShell, consulte Instalar o PowerShell para o Azure Stack Hub. Para entrar no Azure Stack Hub, consulte Configurar o ambiente do operador e entrar no Azure Stack Hub.

  2. Baixe as ferramentas do Azure Stack Hub do repositório GitHub. Para obter etapas detalhadas, consulte Baixar as ferramentas do Azure Stack Hub do GitHub.

  3. Gere o arquivo JSON do Painel de Capacidade executando o seguinte comando em CapacityManagement:

    .\CapacityManagement\DashboardGenerator\Create-AzSStorageDashboard.ps1 -capacityOnly $true -volumeType object
    

    Esse comando cria um arquivo json que começa com DashboardVolumeObjStore na pasta DashboardGenerator.

  4. Entre no portal de administrador do Azure Stack Hub em (https://adminportal.local.azurestack.external).

  5. No painel, selecione Carregare, em seguida, selecione o arquivo JSON gerado na etapa 3:

    Exemplo: Carregar arquivo JSON do painel.

  6. Depois que o JSON é carregado, você é direcionado para o novo painel de capacidade. Cada volume tem um gráfico correspondente no painel. O número de gráficos é igual à quantidade de volumes.

    Exemplo: painel de capacidade de volume.

  7. Ao clicar em um dos volumes, você pode verificar cinco métricas de capacidade do volume específico no gráfico detalhado:

    exemplo: Métricas de capacidade detalhadas.

Padrões de uso de volume

Ao verificar as métricas de capacidade de volume, o operador de nuvem entende quanto da capacidade de um volume é usada e qual tipo de recurso ocupa a maior parte do espaço. O padrão de uso de espaço é agrupado aos seguintes tipos e o operador pode executar ações diferentes para cada tipo:

Exemplo: padrão de uso de volume.

capacidade de reposição subprovisionada: há capacidade disponível suficiente no volume e a capacidade total provisionada de todos os discos localizados nesse volume é menor do que a capacidade total disponível. O volume está disponível para mais objetos de armazenamento, incluindo discos e outros objetos (blobs de bloco/acréscimo, tabelas e filas). Você não precisa executar nenhuma ação para operar o volume.

Capacidade sobreprovisionada e extra: a capacidade restante do volume é alta, mas a capacidade provisionada do disco da VM já está acima da capacidade total do volume. Esse volume ainda tem espaço para mais objetos de armazenamento agora. No entanto, ele tem potencial para ser preenchido com os dados nos discos de VM localizados nesse volume. Você deve monitorar de perto a tendência de uso desse volume. Se ele mudar para o padrão superprovisionado de baixa capacidade, talvez seja necessário tomar medidas para liberar o espaço.

Superprovisionado, de baixa capacidade: a capacidade restante do volume é baixa, e tanto as capacidades provisionadas quanto as usadas do disco de VM são altas.

A baixa capacidade restante indica que o volume está atingindo o uso total. Os operadores devem tomar medidas imediatas para liberar espaço e evitar que o volume seja totalmente utilizado, o que bloqueia o serviço de armazenamento. A alta capacidade de uso dos discos de VM mostra que a maior parte do volume utilizado é composta por discos de VM. Consulte Migrar um disco para mover discos do volume completo para outros volumes disponíveis para espaço livre.

Blobs de blocos subprovisionados, de baixa capacidade e de alta capacidade: a capacidade restante do volume é baixa, e tanto as capacidades provisionadas quanto as utilizadas do disco de VM são baixas, mas a outra capacidade utilizada é alta.

Como o volume corre o risco de ser totalmente usado, o operador deve tomar medidas imediatas para liberar espaço. A alta capacidade usada por outros indica que a maior parte da capacidade de volume é ocupada por blobs de bloco/acréscimo ou tabelas/filas. Quando a capacidade disponível do volume for menor que 20%, o estouro do contêiner será habilitado e um novo objeto blob não será colocado neste volume quase cheio. No entanto, os blobs existentes ainda podem crescer. Para impedir que os blobs em crescimento contínuo usem a capacidade em excesso, entre em contato com o Suporte da Microsoft para consultar os contêineres que ocupam espaço no volume específico e decidir se a limpeza desses contêineres precisa ser feita pelos locatários para liberar espaço.

Blobs de blocos superprovisionados, de baixa capacidade e alta quantidade de blocos: a capacidade restante do volume é baixa, e tanto a capacidade usada/provisionada do disco quanto outras capacidades usadas são altas. Esse volume tem alto uso de espaço por discos e outros objetos de armazenamento. Para evitar que o volume fique totalmente cheio, você deve liberar espaço. É recomendável que você siga primeiro as instruções em Migrar disco para mover discos do volume completo para outros volumes disponíveis. Você também pode entrar em contato com o Suporte da Microsoft para consultar os contêineres que ocupam espaço no volume específico e decidir se a limpeza desses contêineres precisa ser feita pelos locatários para liberar espaço.

Gerenciar espaço disponível

Quando for necessário liberar espaço em um volume, primeiro use os métodos menos invasivos. Por exemplo, tente recuperar espaço antes de optar por migrar um disco gerenciado.

Recuperar capacidade

Você pode recuperar a capacidade usada por contas de locatário que foram excluídas. Essa capacidade é recuperada automaticamente quando o período de retenção de dados é atingido ou você pode recuperá-la imediatamente.

Para obter mais informações, consulte a seção "Recuperar capacidade" no Gerenciar contas de armazenamento do Azure Stack Hub.

Migrar um contêiner entre volumes

Devido aos padrões de uso do locatário, alguns compartilhamentos de locatário usam mais espaço do que outros. Isso pode resultar em alguns compartilhamentos com pouco espaço antes de outros compartilhamentos que são relativamente não utilizados.

Você pode liberar espaço em um compartilhamento superutilizado migrando manualmente alguns contêineres de blob para um compartilhamento diferente. Você pode migrar vários contêineres menores para um único compartilhamento que tenha capacidade para mantê-los todos. Use a migração para mover contêineres livres. Contêineres gratuitos são contêineres que não contêm um disco para uma VM.

A migração consolida todos os blobs de um contêiner no novo compartilhamento.

  • Se um contêiner entrar no modo de estouro e colocar blobs em outros volumes, o novo compartilhamento deverá ter capacidade suficiente para armazenar todos os blobs pertencentes ao contêiner que você está migrando, incluindo os blobs que estão estourados.
  • O cmdlet do PowerShell Get-AzsStorageContainer identifica apenas o espaço em uso no volume inicial de um contêiner. O cmdlet não identifica o espaço usado por blobs que são transbordados para volumes adicionais. Portanto, o tamanho total de um contêiner pode não ser evidente. É possível que a consolidação de um contêiner em um novo compartilhamento possa levar esse novo compartilhamento a uma situação de estouro, fazendo com que dados sejam colocados em compartilhamentos adicionais. Como resultado, talvez seja necessário reequilibrar as ações.
  • Se você não tiver permissões para determinados grupos de recursos e não puder usar o PowerShell para consultar os volumes adicionais de dados em excesso, colabore com o proprietário desses grupos de recursos e contêineres para compreender a quantidade total de dados a serem migrados antes de realizar a migração.

Importante

A migração de blobs para um contêiner é uma operação offline que requer o uso do PowerShell. Até que a migração seja concluída, todos os blobs para o contêiner que você está migrando permanecerão offline e não poderão ser usados. Você também deve evitar a atualização do Azure Stack Hub até que toda a migração em andamento seja concluída.

Migrar contêineres usando o PowerShell

  1. Confirme se você tem o Azure PowerShell instalado e configurado. Para obter mais informações, consulte Gerenciar recursos do Azure usando o Azure PowerShell.

  2. Examine o contêiner para entender quais dados estão no compartilhamento que você planeja migrar. Para identificar os melhores contêineres candidatos à migração em um volume, use o cmdlet Get-AzsStorageContainer:

    $farm_name = (Get-AzsStorageFarm)[0].name
    $shares = Get-AzsStorageShare -FarmName $farm_name
    $containers = Get-AzsStorageContainer -ShareName $shares[0].ShareName -FarmName $farm_name
    

    Em seguida, examine $containers:

    $containers
    

    Exemplo: $containers

  3. Identifique os melhores compartilhamentos de destino para manter o contêiner que você está migrando:

    $destinationshare = ($shares | Sort-Object FreeCapacity -Descending)[0]
    

    Em seguida, examine $destinationshares:

    $destinationshares
    

    Exemplo: Exemplo: compartilhamentos de $destination

  4. Inicie a migração para um contêiner. A migração é assíncrona. Se você iniciar a migração de outro contêiner antes da conclusão da primeira migração, use a ID do trabalho para acompanhar o status de cada um:

    $jobId = Start-AzsStorageContainerMigration -StorageAccountName $containers[0].Accountname -ContainerName $containers[0].Containername -ShareName $containers[0].Sharename -DestinationShareUncPath $destinationshares[0].UncPath -FarmName $farm_name
    

    Em seguida, examine $jobId. No exemplo a seguir, substitua <job_id> pela ID do trabalho que você deseja examinar:

    $jobId <job_id>
    
  5. Use a ID do trabalho para verificar o status do trabalho de migração. Quando a migração de contêiner for concluída, MigrationStatus será definido como Concluído:

    Get-AzsStorageContainerMigrationStatus -JobId $jobId -FarmName $farm_name
    

    captura de tela que mostra o status da migração.

  6. Você pode cancelar um trabalho de migração em andamento. Os trabalhos de migração cancelados são processados de forma assíncrona. Você pode acompanhar cancelamentos usando $jobid:

    Stop-AzsStorageContainerMigration -JobId $jobId -FarmName $farm_name
    

    Exemplo: status de reversão

  7. Você pode executar o comando da etapa 6 novamente até que o status da migração seja Cancelado:

    Captura de tela que mostra um exemplo de um status de migração cancelado.

Mover discos de VM

O método mais extremo para gerenciar o espaço envolve a movimentação de discos de VM. Como mover um contêiner anexado (um que contém um disco de VM) é complexo, entre em contato com o Suporte da Microsoft para realizar essa ação.

Migrar um disco gerenciado entre volumes

Devido aos padrões de uso dos inquilinos, alguns volumes de inquilinos usam mais espaço do que outros. O resultado pode ser um volume que fica com pouco espaço antes de outros volumes que são relativamente pouco utilizados.

Você pode liberar espaço em um volume superutilizado migrando manualmente alguns discos gerenciados para um volume diferente. Você pode migrar vários discos gerenciados para um único volume que tenha capacidade para mantê-los todos. Use a migração para mover discos gerenciados offline. Os discos gerenciados offline são discos que não estão anexados a uma VM.

Importante

A migração de discos gerenciados é uma operação offline que requer o uso do PowerShell. Você deve desalocar as VMs proprietárias do disco candidato ou desanexar os discos candidatos para migração de sua VM proprietária antes de iniciar o trabalho de migração (depois que o trabalho de migração for concluído, você poderá realocar as VMs ou reanexar os discos). Até que a migração seja concluída, todos os discos gerenciados que você está migrando deverão permanecer reservados ou offline e não poderão ser usados, caso contrário, o trabalho de migração anulará e todos os discos não migrados ainda estarão em seus volumes originais. Você também deve evitar a atualização do Azure Stack Hub até que toda a migração em andamento seja concluída.

Para migrar discos gerenciados usando o PowerShell

  1. Confirme se você tem o Azure PowerShell instalado e configurado. Para obter instruções sobre como configurar o ambiente do PowerShell, consulte Instalar o PowerShell para o Azure Stack Hub. Para entrar no Azure Stack Hub, consulte Configurar o ambiente do operador e entrar no Azure Stack Hub.

  2. Examine os discos gerenciados para entender quais discos estão no volume que você planeja migrar. Para identificar os melhores discos candidatos para migração em um volume, use o cmdlet Get-AzsDisk:

    $ScaleUnit = (Get-AzsScaleUnit)[0]
    $StorageSubSystem = (Get-AzsStorageSubSystem -ScaleUnit $ScaleUnit.Name)[0]
    $Volumes = (Get-AzsVolume -ScaleUnit $ScaleUnit.Name -StorageSubSystem $StorageSubSystem.Name | Where-Object {$_.VolumeLabel -Like "ObjStore_*"})
    $SourceVolume  = ($Volumes | Sort-Object RemainingCapacityGB)[0]
    $VolumeName = $SourceVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationSource = "\\SU1FileServer."+$VolumeName+"\SU1_"+$SourceVolume.VolumeLabel
    $Disks = Get-AzsDisk -Status OfflineMigration -SharePath $MigrationSource | Select-Object -First 10
    

    Em seguida, examine $Disks:

    $Disks
    

    Exemplo: $Disks

  3. Identifique o melhor volume de destino para armazenar os discos migrados:

    $DestinationVolume  = ($Volumes | Sort-Object RemainingCapacityGB -Descending)[0]
    $VolumeName = $DestinationVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationTarget = "\\SU1FileServer."+$VolumeName+"\SU1_"+$DestinationVolume.VolumeLabel
    
  4. Inicie a migração para discos gerenciados. A migração é assíncrona. Se você iniciar a migração de outros discos antes da conclusão da primeira migração, use o nome do trabalho para acompanhar o status de cada um:

    $jobName = "MigratingDisk"
    Start-AzsDiskMigrationJob -Disks $Disks -TargetShare $MigrationTarget -Name $jobName
    
  5. Use o nome do trabalho para verificar o status do trabalho de migração. Quando a migração de disco for concluída, MigrationStatus será definido como Concluído:

    $job = Get-AzsDiskMigrationJob -Name $jobName
    

    Exemplo: status da migração de status de migração

    Se você migrar vários discos gerenciados em um único trabalho de migração, poderá também verificar as subtarefas do trabalho:

    $job.Subtask
    

    exemplo: status da subtarefa de migração

  6. Você pode cancelar um trabalho de migração em andamento. Os trabalhos de migração cancelados são processados de forma assíncrona. Você pode acompanhar o cancelamento usando o nome do trabalho até que o status confirme que o trabalho de migração está Cancelado:

    Stop-AzsDiskMigrationJob -Name $jobName
    

    Exemplo: status cancelado

Distribuir discos não gerenciados

O método mais extremo para gerenciar o espaço envolve a movimentação de discos não gerenciados. Se o inquilino adicionar discos não gerenciados pelo sistema a um contêiner, a capacidade total usada do contêiner poderá crescer além da capacidade disponível do volume que o contém, antes que o contêiner entre no modo de overflow. Para evitar que um único contêiner extenue o espaço de um volume, o locatário pode distribuir os discos não gerenciados existentes de um contêiner para contêineres diferentes. Como a distribuição de um contêiner anexado (que contém um disco de VM) é complexa, entre em contato com o Suporte da Microsoft para realizar essa ação.

Memória disponível para VMs

O Azure Stack Hub é criado como um cluster hiperconvergente de computação e armazenamento. A convergência permite o compartilhamento do hardware, conhecido como uma unidade de escala. No Azure Stack Hub, uma unidade de escala fornece a disponibilidade e a escalabilidade dos recursos. Uma unidade de escala consiste em um conjunto de servidores do Azure Stack Hub, conhecidos como hosts ou nós. O software de infraestrutura é hospedado em um conjunto de VMs e compartilha os mesmos servidores físicos que as VMs de locatário. Todas as VMs do Azure Stack Hub são gerenciadas pelas tecnologias de clustering do Windows Server da unidade de escala e pelas instâncias individuais de Hyper-V. A unidade de escala simplifica a aquisição e o gerenciamento do Azure Stack Hub. A unidade de escala também permite a movimentação e a escalabilidade de todos os serviços no Azure Stack Hub, no locatário e na infraestrutura.

Você pode visualizar um gráfico de setores no portal do administrador que mostra a memória livre e usada no Azure Stack Hub; por exemplo:

memória física no Azure Stack Hub.

Os seguintes componentes consomem a memória na seção usada do gráfico de pizza:

  • Uso ou reserva do sistema operacional do host: a memória usada pelo SO (sistema operacional) no host, tabelas de páginas de memória virtual, processos em execução no SO do host e o cache de memória dos espaços diretos. Como esse valor depende da memória usada pelos diferentes processos de Hyper-V em execução no host, ele pode flutuar.
  • serviços de infraestrutura: as VMs de infraestrutura que compõem o Azure Stack Hub. Isso envolve aproximadamente 31 VMs que levam até 242 GB + (4 GB x número de nós) de memória. O uso da memória do componente de serviços de infraestrutura pode mudar à medida que trabalhamos para tornar nossos serviços de infraestrutura mais escalonáveis e resilientes.
  • Reserva de resiliência: o Azure Stack Hub reserva uma parte da memória para garantir a disponibilidade do locatário durante uma falha de host único e durante a aplicação de patches e atualizações para possibilitar a migração ao vivo bem-sucedida de VMs.
  • VMs de inquilinos: VMs criadas por usuários do Azure Stack Hub. Além de executar VMs, a memória é consumida por todas as VMs que chegam na malha. Isso significa que as VMs nos estados Criando ou Falha ou VMs desligadas de dentro do convidado ainda consomem memória. No entanto, as VMs que foram desalocadas usando a opção "parar desalocada" do portal de usuário do Azure Stack Hub, do PowerShell ou da CLI do Azure, não consomem memória do Azure Stack Hub.
  • Provedores de Recursos Adicionais: VMs implantadas para provedores de recursos adicionais, como SQL, MySQL e App Service.

Capacidade usada em uma folha em um Azure Stack Hub de quatro nós

Memória disponível para posicionamento de VM

Como operador de nuvem para o Azure Stack Hub, não há uma maneira automatizada de verificar a memória alocada para cada VM. Você pode ter acesso às VMs do usuário e calcular a memória alocada manualmente. No entanto, a memória alocada não reflete o uso real. Esse valor pode ser menor do que o valor alocado.

Para treinar a memória disponível para VMs, a seguinte fórmula é usada:

memória disponível para o posicionamento da VM = Total Host Memory--Resiliency Reserve--Memory used by running tenant VMs - Azure Stack Hub Infrastructure Overhead

reserva de resiliência = H + R * ((N-1) * H) + V * (N-2)

Onde:

H = Tamanho da memória de host único

N = Tamanho da unidade de escala (número de hosts)

R = Reserva/memória do sistema operacional usada pelo sistema operacional host, que é 0,15 nesta fórmula

V = Maior VM (em termos de memória) na unidade de escala

sobrecarga de infraestrutura do Azure Stack Hub = 242 GB + (4 GB x # de nós). Isso explica as aproximadamente 31 VMs que são usadas para hospedar a infraestrutura do Azure Stack Hub.

Memória usada pelo sistema operacional host = 15% (0,15) da memória do host. O valor de reserva do sistema operacional é uma estimativa e variará com base na capacidade de memória física do host e na sobrecarga geral do sistema operacional.

O valor V, que é a maior VM na unidade de escala, é determinado dinamicamente com base na maior VM de locatário implantada. Por exemplo, o maior valor de VM pode ser de 7 GB ou 112 GB ou qualquer outro tamanho de memória de VM com suporte na solução do Azure Stack Hub. Para ter memória suficiente reservada para que uma migração dinâmica dessa VM grande não falhe, escolhemos o tamanho da maior VM. Alterar a maior VM na malha do Azure Stack Hub resulta em um aumento na reserva de resiliência, além do aumento na memória da própria VM.

Por exemplo, com uma unidade de escala de 12 nós:

Detalhes do carimbo Valores
sts (N) 12
Memória por host (H) 384
Memória total da unidade de escala 4608
Reserva do sistema operacional (R) 15%
Maior VM (V) 112
Reserva de resiliência = H + R * ((N-1) * H) + V * (N-2)
Reserva de resiliência = 2137,6

Com essas informações, você pode calcular que um Azure Stack Hub com 12 nós de 384 GB por host (total de 4.608 GB), tem 2.137 GB reservados para resiliência se a maior VM tiver 112 GB de memória.

Quando você consulta a folha Capacidade para a memória física de acordo com a imagem a seguir, o valor Usado inclui a reserva de resiliência. Este grafo é de uma instância do Azure Stack Hub de quatro nós:

O uso da capacidade em um Azure Stack Hub de quatro nós

Tenha essas considerações em mente ao planejar a capacidade do Azure Stack Hub. Além disso, você pode usar a ferramenta Azure Stack Hub Capacity Planner.

Próximas etapas

Para saber mais sobre como oferecer VMs aos usuários, consulte Gerenciar a capacidade de armazenamento do Azure Stack Hub.