Excluir ou remover arquivos de um armazenamento de dados VMFS libera espaço no sistema de arquivos. Esse espaço livre é mapeado para um dispositivo de armazenamento até que o sistema de arquivos o libere ou cancele o mapeamento. ESXi oferece suporte à recuperação de espaço livre, que também é chamada de operação de remoção de mapeamento.

A operação ajuda a matriz de armazenamento a recuperar o espaço livre não utilizado. O espaço não mapeado pode ser usado para outras solicitações e necessidades de alocação de armazenamento.

Recuperação automática de espaço livre no VMFS6 Datastore

Em VMFS6 datastores, o ESXi oferece suporte à recuperação assíncrona automática de espaço livre. O VMFS6 pode executar o comando unmap para liberar espaço de armazenamento livre em segundo plano em storage arrays com provisionamento dinâmico que oferecem suporte a operações de unmap.

O processamento automático de unmap tem várias vantagens:
  • As solicitações de desmapeamento são enviadas a uma taxa constante, o que ajuda a evitar qualquer carga instantânea na matriz de suporte.
  • As regiões liberadas são agrupadas em lotes e não mapeadas.
  • O desempenho de E/S de outras cargas de trabalho não é afetado pelo comando unmap.

Para VMFS6 repositórios de dados, você pode configurar os seguintes parâmetros de recuperação de espaço.

Granularidade de recuperação de espaço
A granularidade define o tamanho mínimo de um setor de espaço liberado que o armazenamento subjacente pode recuperar. O armazenamento não pode recuperar os setores que são menores em tamanho do que a granularidade especificada.
Para o VMFS6, a granularidade da recuperação é igual ao tamanho do bloco. Quando você especifica o tamanho do bloco como 1 MB, a granularidade também é de 1 MB. Os setores de armazenamento com tamanho menor que 1 MB não são recuperados.
Observação: Determinadas matrizes de armazenamento recomendam uma granularidade de não mapeamento ideal. ESXi é compatível com o processamento automático de remoção de mapeamento em matrizes com a granularidade de remoção de mapeamento recomendada de 1 MB ou mais, por exemplo, 16 MB. Nas matrizes com a granularidade ideal de 1 MB ou menos, a operação de remoção de mapeamento será compatível se a granularidade for um fator de 1 MB. Por exemplo, 1 MB é divisível por 512 bytes, 4 KB, 64 KB e assim por diante.
Método de recuperação de espaço
O método pode ser prioritário ou fixo. Quando o método usado é prioridade, você configura a taxa de prioridade. Para o método fixo, você deve indicar a taxa de recuperação em MB por segundo.
Você pode usar o vSphere Client para definir o método de prioridade ao criar o armazenamento de dados VMFS6. Para habilitar o método fixo, você pode modificar posteriormente as configurações de recuperação de espaço para o armazenamento de dados existente.
Como alternativa, você pode usar o comando esxcli storage vmfs reclaim config set para definir os parâmetros de recuperação de espaço.
Taxa de prioridade de recuperação de espaço
Esse parâmetro define a taxa na qual a operação de recuperação de espaço é executada quando você usa o método de recuperação de prioridade. Normalmente, o VMFS6 pode enviar os comandos unmap em rajadas ou esporadicamente, dependendo da carga de trabalho e da configuração. Para VMFS6, você pode especificar uma das seguintes opções.
Prioridade de recuperação de espaço Descrição Configuração
Nenhum Desativa as operações de unmap para o armazenamento de dados. vSphere Client

Comando esxcli

Baixo (padrão) Envia o comando unmap a uma taxa menos frequente, 25–50 MB por segundo. vSphere Client

Comando esxcli

Médio Envia o comando a uma taxa duas vezes mais rápida que a taxa baixa, 50–100 MB por segundo. Comando esxcli
Alto Envia o comando a uma taxa três vezes mais rápida que a taxa baixa, acima de 100 MB por segundo. Comando esxcli

Depois que você ativar a recuperação de espaço, o datastore VMFS6 poderá começar a liberar os blocos de espaço não utilizado somente quando tiver pelo menos um arquivo aberto. Essa condição pode ser atendida quando, por exemplo, você liga uma das VMs no armazenamento de dados.

Configurar a recuperação de prioridade ao criar um VMFS6 Datastore

As configurações de recuperação de espaço controlam como os blocos excluídos ou não mapeados são recuperados nos dispositivos que suportam o armazenamento de dados. Quando você cria um datastore VMFS6 no vSphere Client, o único método de recuperação de espaço que pode ser especificado é o método de prioridade. Você também pode desativar a recuperação de espaço ao criar o armazenamento de dados.

Procedimento

  1. No navegador de objetos vSphere Client, navegue até um host, um cluster ou um centro de dados.
  2. No menu do botão direito do mouse, selecione Armazenamento (Storage) > Novo armazenamento de dados (New Datastore).
  3. Siga as etapas necessárias para criar um armazenamento de dados VMFS6.
  4. Na página Configuração da partição, especifique os parâmetros de recuperação de espaço.
    Os parâmetros definem a granularidade e a taxa de prioridade na qual as operações de recuperação de espaço são executadas. Você também pode usar essa página para desativar a recuperação de espaço para o armazenamento de dados.
    Opção Descrição
    Tamanho do bloco O tamanho do bloco em um datastore VMFS define o tamanho máximo do arquivo e a quantidade de espaço que o arquivo ocupa. VMFS6 é compatível com o tamanho de bloco de 1 MB.
    Granularidade de recuperação de espaço Especifique a granularidade para a operação de remoção de mapeamento. A granularidade de não mapeamento é igual ao tamanho do bloco, que é de 1 MB.

    Os setores de armazenamento com tamanho menor que 1 MB não são recuperados.

    Prioridade de recuperação de espaço Selecione uma das seguintes opções.
    • Baixo (padrão). Use o método de prioridade para recuperação de espaço. A operação de remoção de mapeamento é executada com uma taxa de prioridade baixa.
    • Nenhum. Selecione essa opção se não quiser usar as operações de recuperação de espaço para o armazenamento de dados.
    Observação: No vSphere Client, as únicas configurações disponíveis para a prioridade de recuperação de espaço são Baixa e Nenhuma. Para alterar as configurações para Médio ou Alto, use o comando esxcli.
  5. Conclua o processo de criação do armazenamento de dados.

Resultados

Depois que você ativar a recuperação de espaço, o datastore VMFS6 poderá começar a liberar os blocos de espaço não utilizado somente quando tiver pelo menos um arquivo aberto. Essa condição pode ser atendida quando, por exemplo, você liga uma das VMs no armazenamento de dados.

Configurar a recuperação fixa para o armazenamento de dados VMFS6 existente

Para ativar o método de recuperação fixa, modifique as configurações de recuperação de espaço para o armazenamento de dados.

Procedimento

  1. No vSphere Client, navegue até o armazenamento de dados.
  2. Selecione Editar recuperação de espaço (Edit Space Reclamation) no menu do botão direito do mouse.
  3. Especifique a configuração de recuperação de espaço.
    Opção Descrição
    Ativar a recuperação automática de espaço a uma taxa fixa Use o método fixo para recuperação de espaço. Especifique a taxa de recuperação em MB por segundo. O valor mínimo disponível é de 10 MB por segundo.
    Desativar a recuperação automática de espaço Blocos excluídos ou não mapeados não são reivindicados.

    Selecione essa opção se quiser desativar as operações de recuperação de espaço para o armazenamento de dados.

  4. Clique em OK para salvar as novas configurações.
  5. Desmonte e remonte o armazenamento de dados para que as alterações ocorram.
    1. Desmontar repositórios de dados.
    2. Montar repositórios de dados.
  6. Repita esse procedimento para todos os hosts ESXi que acessam o armazenamento de dados.

Resultados

O valor modificado para a prioridade de recuperação de espaço aparece na página Geral do armazenamento de dados.

Use o comando ESXCLI para alterar a recuperação de espaço em VMFS6

Você pode alterar a prioridade de recuperação de espaço padrão, a granularidade e outros parâmetros.

Procedimento

  1. No host ESXi, use o seguinte comando para definir os parâmetros de recuperação de espaço.
    esxcli storage vmfs reclaim config set

    O comando usa estas opções:

    Opção Descrição
    -b|--reclaim-bandwidth Largura de banda fixa de recuperação de espaço em MB por segundo.
    -g|--reclaim-granularity Granularidade mínima da recuperação automática de espaço em bytes.
    -m|--reclaim-method Método de recuperação automática de espaço. Opções compatíveis:
    • prioridade
    • fixo
    -p|--reclaim-priority Prioridade de recuperação automática de espaço. Opções compatíveis:
    • nenhum
    • baixo
    • médio
    • alto
    -l|--volume-label O rótulo do volume de destino VMFS.
    -u|--volume-uuid O uuid do volume VMFS de destino.
    Você pode usar os exemplos a seguir.
    • Defina o método de recuperação como fixo e a taxa como 100 MB por segundo.
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-method fixed -b 100
    • Desative a recuperação automática de espaço VMFS.
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-priority none
  2. Desmonte o armazenamento de dados VMFS6 de todos os outros hosts ESXi em que o armazenamento de dados está montado e remonte-o novamente.
    1. Desmontar repositórios de dados.
    2. Montar repositórios de dados.
    Essa etapa garante que todos os hosts ESXi em que o armazenamento de dados VMFS6 foi montado atualizem as configurações de recuperação para o armazenamento de dados.

Verificar configurações para recuperação automática de espaço em VMFS6

Depois de configurar ou editar os parâmetros de recuperação de espaço para um armazenamento de dados do VMFS6, você poderá revisar suas configurações.

Procedimento

  1. No vSphere Client, navegue até o armazenamento de dados.
  2. Clique na guia Configurar (Configure).
  3. Clique em Geral (General).
  4. Em Recuperação de espaço (Space Reclamation), revise a configuração da prioridade de recuperação de espaço.
    Se você tiver configurado algum valor por meio do comando esxcli, por exemplo, Médio ou Alto para a prioridade de recuperação de espaço, esses valores também aparecerão no arquivo vSphere Client.

Resultados

A captura de tela mostra as configurações de recuperação de espaço.

Exemplo: Como obter parâmetros para VMFS6 recuperação de espaço

Você também pode usar o comando esxcli storage vmfs reclaim config get -l=VMFS_label|-u=VMFS_uuid para obter informações para o configuração de recuperação de espaço.
# esxcli storage vmfs reclaim config get -l my_datastore 
Reclaim Granularity: 1048576 Bytes 
Reclaim Priority: low

Recuperar manualmente o espaço de armazenamento acumulado em VMFS5

Em repositórios de dados VMFS que não oferecem suporte à recuperação automática de espaço, como VMFS5, você pode usar o comando esxcli para recuperar manualmente o espaço de armazenamento não utilizado.

Ao usar o comando, esteja ciente de que ele pode enviar muitas solicitações de desmapeamento de uma só vez. Essa ação pode bloquear alguns dos recursos durante a operação. Ao usar o comando, esteja ciente de que ele pode enviar muitas solicitações de desmapeamento de uma só vez. Essa ação pode bloquear alguns dos recursos durante a operação.

Pré-requisitos

Instale o ESXCLI. Consulte Introdução ao ESXCLI. Para solucionar problemas, execute comandos esxcli no ESXi Shell.

Procedimento

  1. Para recuperar blocos de armazenamento não utilizados no dispositivo de provisionamento dinâmico, execute o seguinte comando:
    desmapeamento de vmfs de armazenamento esxcli

    O comando usa estas opções:

    Opção Descrição
    -l|--volume-label=volume_label O rótulo do volume VMFS a ser removido do mapeamento. Um argumento obrigatório. Se você especificar esse argumento, não use -u|--volume-uuid=volume_uuid.
    -u|--volume-uuid=volume_uuid O UUID do volume VMFS a ser removido do mapeamento. Um argumento obrigatório. Se você especificar esse argumento, não use -l|--volume-label=volume_label.
    -n|--reclaim-unit=number Número de blocos VMFS para cancelar o mapeamento por iteração. Um argumento opcional. Se não for especificado, o comando usará o valor padrão de 200.
  2. Para verificar se o processo de desmapeamento foi concluído, procure por unmap no arquivo vmkernel.log.