Você pode compactar e / ou desduplicar seu armazenamento inline. Existem várias maneiras de conseguir isso - algumas mais fáceis e outras mais eficazes.
Para começar, os sistemas Linux e UNIX podem usar o ZFS - um sistema de arquivos e gerenciador de volume que suporta compactação e desduplicação no nível do bloco. Qualquer sistema de armazenamento local ou compartilhado criado sobre esse recurso pode usar esses recursos, portanto, algo tão simples quanto o NFS sobre o ZFS pode fazer o que você deseja com um pool compartilhado em todas as VMs.
O Linux pode usar o btrfs, que é um sistema de arquivos com vários dispositivos que suporta desduplicação e compactação em linha. Idéias iguais às acima. O Btrfs tem menos requisitos de hardware do que o ZFS, mas a desduplicação em linha ainda é bastante intensiva (como em você seria mais bem atendido fazendo isso em um conjunto de dados compartilhado maior usando o sistema de arquivos). Algo para se lembrar sobre o btrfs é que ele é um sistema de arquivos primeiro e um segundo gerenciador de volume. Ele também não oferece abstrações baseadas em blocos, como o ZFS, portanto, é puramente um sistema baseado em arquivos.
Existem várias ofertas de NAS / SAN que incluem essa funcionalidade. O uso de um para armazenamento compartilhado usaria bem a desduplicação e a compactação, sendo um produto com suporte e enlatado. O FreeNAS é um exemplo de um desses sistemas, que pode usar o ZFS. Os dispositivos Synology NAS também podem e geralmente usam o btrfs.