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.
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
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 comandoTRIM
ouDISCARD
.
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.