2.9.2. Provisão fina em VDO

O VDO é um alvo de armazenamento em bloco com pouca provisão. A quantidade de espaço físico que um volume VDO utiliza pode ser diferente do tamanho do volume que é apresentado aos usuários do armazenamento. Você pode fazer uso desta disparidade para economizar nos custos de armazenamento.

Condições fora do espaço

Tome cuidado para evitar que o espaço de armazenamento fique inesperadamente esgotado, se os dados escritos não atingirem a taxa de otimização esperada.

Sempre que o número de blocos lógicos (armazenamento virtual) excede o número de blocos físicos (armazenamento real), torna-se possível que os sistemas de arquivos e aplicações fiquem sem espaço inesperado. Por esse motivo, os sistemas de armazenamento que utilizam VDO devem fornecer uma forma de monitorar o tamanho do pool livre no volume do VDO.

Você pode determinar o tamanho deste pool gratuito usando o utilitário vdostats. A saída padrão deste utilitário lista informações para todos os volumes VDO em execução em um formato similar ao utilitário Linux df. Por exemplo, o utilitário VDO:

Device                1K-blocks   Used        Available   Use%
/dev/mapper/vdo-name  211812352   105906176   105906176   50%

Quando a capacidade de armazenamento físico de um volume VDO está quase cheia, a VDO relata um aviso no registro do sistema, semelhante ao seguinte:

Oct  2 17:13:39 system lvm[13863]: Monitoring VDO pool vdo-name.
Oct  2 17:27:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 80.69% full.
Oct  2 17:28:19 system lvm[13863]: WARNING: VDO pool vdo-name is now 85.25% full.
Oct  2 17:29:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 90.64% full.
Oct  2 17:30:29 system lvm[13863]: WARNING: VDO pool vdo-name is now 96.07% full.
Nota

Estas mensagens de aviso aparecem somente quando o serviço lvm2-monitor está em funcionamento. Ele é ativado por padrão.

Como evitar condições fora do espaço

Se o tamanho da piscina livre cair abaixo de um certo nível, você pode tomar providências:

  • Eliminação de dados. Isto recupera espaço sempre que os dados excluídos não forem duplicados. A eliminação de dados libera o espaço somente depois que os descartes são emitidos.
  • Acréscimo de armazenamento físico
Importante

Monitore o espaço físico em seus volumes VDO para evitar situações fora do espaço. Ficar sem blocos físicos pode resultar na perda de dados escritos recentemente, não reconhecidos, sobre o volume do VDO.

Provisão fina e os comandos TRIM e DISCARD

Para se beneficiar da economia de armazenamento do provisionamento fino, a camada de armazenamento físico precisa saber quando os dados são apagados. Sistemas de arquivos que trabalham com armazenamento thinly provisioned enviam os comandos TRIM ou DISCARD para informar o sistema de armazenamento quando um bloco lógico não for mais necessário.

Vários métodos de envio dos comandos TRIM ou DISCARD estão disponíveis:

  • Com a opção de montagem discard, os sistemas de arquivo podem enviar estes comandos sempre que um bloco for excluído.
  • Você pode enviar os comandos de forma controlada, utilizando utilitários como fstrim. Estes utilitários dizem ao sistema de arquivos para detectar quais blocos lógicos não são utilizados e enviar as informações ao sistema de armazenamento na forma de um comando TRIM ou DISCARD.

A necessidade de utilizar TRIM ou DISCARD em blocos não utilizados não é exclusiva da VDO. Qualquer sistema de armazenamento com pouca provisão tem o mesmo desafio.