Máquinas virtuais e TRIM


18

Embora o suporte ao TRIM tenha sido introduzido para melhorar o SSD, ele também deve ajudar as máquinas virtuais a otimizar os discos virtuais (por exemplo, para saber quais partes dos discos virtuais não precisam de armazenamento em partições físicas). Alguma máquina VM usa TRIM dessa maneira?

Respostas:


10

Virtualbox suporta TRIM desde a versão 4.2

  • Armazenamento: suporte implementado para descartar blocos de imagens não utilizados através do TRIM para SATA e IDE e UNMAP para SCSI ao usar imagens VDI

Você precisará usar as opções --nonrotational one--discard on :

  • --discard

    Habilita o recurso de descarte automático para discos rígidos virtuais. Isso especifica que uma imagem VDI será reduzida em resposta ao comando trim do sistema operacional convidado. Os seguintes requisitos devem ser atendidos:

    • O formato do disco deve ser VDI.
    • O tamanho da área limpa deve ser de pelo menos 1 MB.
    • O Oracle VM VirtualBox cortará apenas blocos inteiros de 1 MB. Os próprios VDIs são organizados em blocos de 1 MB, portanto, isso funcionará apenas se o espaço sendo cortado for pelo menos um bloco contíguo de 1 MB em um limite de 1 MB. No Windows, desfragmentação ocasional com defrag.exe /Dou no Linux em execução btrfs filesystem defragcomo um trabalho cron em segundo plano pode ser benéfico.

Mais informações podem ser encontradas em


O Hyper-V também pode reduzir imagens VHD e VHDX

Casos de uso

  • ...
  • VHD do consumidor montado em uma SAN com provisionamento insuficiente:

    O VHD é inicialmente montado em uma laje mínima de um ambiente pouco provisionado. À medida que os arquivos são armazenados no VHD, a área de armazenamento do VHD aumenta em múltiplos de lajes. Quando os arquivos são removidos no VHD, o Hyper-V chama File_TRIM para a SAN thin provisioned subjacente. Se os TRIMs forem maiores que a granularidade do SLAB, a SAN agora poderá remover um SLAB e, portanto, reduzir a área de cobertura do VHD nessa SAN.

Se o VHD for residente em um servidor baseado no Windows 8, o Storage Optimizer também enviará TRIMs para reduzir a área de cobertura do VHD de dentro do VHD montado.

A nova API permite que os aplicativos enviem dicas "TRIM e Unmap" para a mídia de armazenamento

Veja também


O VMware Workstation 10 alega suporte à passagem de SSD

  • Passagem de SSD O Windows 8 é capaz de detectar quando está sendo executado a partir de uma unidade de estado sólido (SSD) e se otimiza para esse hardware. Na estação de trabalho 10, o sistema operacional convidado poderá detectar quando o arquivo de disco da máquina virtual está sendo armazenado em uma unidade SSD e o sistema operacional pode fazer as mesmas otimizações quando estiver sendo executado em uma máquina virtual

Notas da versão do VMware Workstation 10.0

Isso também é mencionado nos requisitos de unidade de disco do VMWare Workstation Pro Documentation Center para sistemas host - unidades de estado sólido :

Se a máquina host tiver uma unidade de estado sólido (SSD), o host informará aos sistemas operacionais convidados que eles estão executando em um SSD.

Isso permite que os sistemas operacionais convidados otimizem o comportamento. O modo como as máquinas virtuais reconhecem o SSD e usam essas informações depende do sistema operacional convidado e do tipo de disco do disco virtual (SCSI, SATA ou IDE).

Mas, a partir do texto, parece que o comando TRIM é passado apenas para o SSD físico subjacente, em vez de reduzir a imagem do VMDK

Outros produtos VMware como vSphere e ESXi também suportam TRIM, mas ainda não está claro se eles o utilizam para reduzir a imagem ou não

P. O VMware suporta UNMAPs diretamente do SO convidado no vSphere 6.0.

Sim. Os UNMAPs de emissão diretamente do SO convidado para recuperar espaço são suportados no vSphere 6.0.

P. Quais são os pré-requisitos necessários para a execução do UNMAP?

Há vários pré-requisitos que devem ser atendidos. Esses são:

  • O VMDK deve ser provisionado thin
  • A versão do hardware da máquina virtual deve ser 11 (ESXi 6.0)
  • A configuração avançada EnableBlockDelete deve ser definida como 1
  • O SO convidado deve poder identificar o disco como thin (o Windows 2012 [atualizado em 30 de outubro de 2015] usa a página do modo B2 para fazer isso)

P. a recuperação funciona apenas para o UNMAP? E o TRIM?

Esta é uma resposta "depende". O TRIM é usado apenas quando o dispositivo subjacente é um SSD - Solid State Disk. Pelo que entendi, o TRIM é convertido em UNMAP na pilha de E / S. No entanto, existem alguns problemas com o TRIM sendo convertido em UNMAP. O UNMAP funciona em determinados limites de bloco no VMFS, enquanto o TRIM não possui essas restrições. Portanto, certos TRIMs convertidos em UNMAPs podem falhar devido a problemas de alinhamento de blocos.

Recursos de armazenamento do vSphere 6.0 Parte 8: alterações do VAAI UNMAP

Veja também


1
Acredito que a VMware removeu essa reivindicação de marketing de versões futuras porque estava aleijada, pois não suportava o TRIM. Veja aqui e aqui
Tom Hale

1

O suporte ao TRIM requer conhecimento íntimo do hardware subjacente. Como as máquinas virtuais ( convidados da VM ), por definição, são executadas no hardware virtual, elas não conhecem os detalhes do disco rígido ou do SSD em que residem.

Portanto, se o sistema operacional Host VM entender TRIM, isso deverá ser suficiente para todos os VM Convidados em execução.

Alguns hosts da VM podem "passar" por uma unidade física e montá-la diretamente no sistema operacional em um convidado da VM. Dependendo da implementação exata, é teoricamente possível que o Convidado suporte o recurso TRIM de um SSD. Como na maioria das coisas, sua milhagem pode variar e, se for crítico para o seu ambiente, você deve testá-la completamente antes de se comprometer.


1
A única coisa que gostaria de acrescentar é que, se o arquivo do disco rígido da VM for dinâmico, você poderá reduzi-lo e o host, se apropriado, solicitará ao SSD que corte os setores recém-liberados. Isso pode acelerar a gravação de arquivos do disco rígido vm, porque, quando o arquivo aumenta seus setores de host existentes, os setores novos / aparados podem ser usados ​​para a gravação do convidado. Normalmente, eu reparo o tamanho dos arquivos do meu disco rígido vm, mas isso evita a fragmentação nos HDs. Com os SSDs, eu provavelmente iria encolher dinamicamente e periodicamente.
Scott McClenning

2
-1. Você está perdendo o fato de que TRIM / unmap é usado para reduzir o arquivo de imagem de VM de tamanho dinâmico. E, como resultado, o sistema operacional host pode emitir TRIM / unmap no hardware subjacente. É uma parte importante do conceito de provisionamento dinâmico.
rustyx

-1

O TRIM foi inventado porque as gravações em um SSD devem ser feitas em blocos de 512K e determinar o quanto de um bloco é realmente usado por um arquivo ou arquivos é impossível para a própria unidade SSD e deve ser comunicada pelo sistema operacional e pelo sistema de arquivos.

Vejo

http://en.wikipedia.org/wiki/TRIM

EDITAR:

O link do wiki diz que é melhor do que eu poderia:

O comando TRIM não funciona com discos armazenados em arquivos de imagem de disco. Isso é causado pelo fato de que os arquivos do computador só podem ser excluídos completamente ou truncados no final. Esse problema afeta aplicativos como serviços de disco virtual, máquinas virtuais etc.


6
A VM poderia manter informações sobre quais blocos foram aparados para serem usados ​​quando a solicitação do usuário para reembalar e reduzir os discos virtuais. Atualmente, o VMWare possui uma operação semelhante, mas funciona substituindo todo o espaço livre dentro da VM primeiro.
liori 29/09/10

6
A questão não é sobre a conversão de uma operação TRIM no disco virtual para uma operação TRIM no disco host. Como você aponta, ele não funciona tão diretamente. A questão é claramente sobre a conversão de uma chamada TRIM no disco virtual para um encurtamento do arquivo de imagem no disco host (que, aliás, por sua vez, pode acionar uma operação TRIM no disco host, mas a pergunta é sobre o primeiro passo)
Pascal Cuoq 03/02

1
Existem arquivos de reposição , que devem ser ideais para serem usados ​​como uma imagem de disco com capacidade de ajuste para uma vm.
não-a-usuário
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.