Máquinas virtuais e TRIM

16

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

    
por liori 28.09.2010 / 15:53

3 respostas

8
  • Storage: implemented support for discarding unused image blocks through TRIM for SATA and IDE and UNMAP for SCSI when using VDI images

http://www.fb-developers.info/blog/2012/virtualbox-v4-2-is-coming/

VHDX is a new virtual hard disk format introduced in Windows Server 2012, which allows you to create resilient high-performance virtual disks up to 64 terabytes... The VHDX format also provides the following performance benefits:

  • ...
  • Efficiency in representing data, which results in smaller file size and allows the underlying physical storage device to reclaim unused space. (Trim requires pass-through or SCSI disks and trim-compatible hardware.)

https://msdn.microsoft.com/en-us/library/windows/hardware/dn567657(v=vs.85).aspx

Use cases

  • Consumer virtual hard disk (VHD) mounted on an SSD:

    The VHD is initially mounted on ‘clean’ unused media. As the VHD is used, the VHD consumes parts of the storage media for files, etc. When it deletes files in the storage media, these files are not removed from the SSD since the complete VHD is stored as one file on the SSD. The Hyper-V environment calls File TRIM for all regions that are deleted when delete-file occurs in the VHD environment. The File_TRIMs are translated to the SSD so that the SSD performance can be optimized.
  • Consumer VHD mounted on a thinly provisioned SAN:

    The VHD is initially mounted on one minimum slab of a thinly provisioned environment. As files are stored in the VHD, the storage footprint of the VHD grows in multiples of slabs. When files are removed in the VHD, the Hyper-V calls File_TRIM to the underlying thinly provisioned SAN. If the TRIMs are bigger than the SLAB granularity, the SAN can now remove a SLAB and hence reduce the footprint of the VHD on that SAN.

If the VHD is resident on a Windows 8 based server, the Storage Optimizer will also send TRIMs to reduce the slab footprint of the VHD from within the mounted VHD.

https://msdn.microsoft.com/en-us/library/hh848053(v=vs.85).aspx

Isso também é mencionado em Requisitos da Unidade de Disco do Centro de Documentação do VMWare Workstation Pro para Sistemas Host - Unidades de Estado Sólido :

If your host machine has a physical solid-state drive (SSD), the host informs guest operating systems they are running on an SSD.

This allows the guest operating systems to optimize behavior. How the virtual machines recognize SSD and use this information depends on the guest operating system and the disk type of the virtual disk (SCSI, SATA, or IDE).

  • On Windows 8, Windows 10, Ubuntu, and Red Hat Enterprise Linux virtual machines, all drive types can report their virtual disks as SSD drives.
  • On Windows 7 virtual machines, only IDE and SATA virtual disks can report their virtual disks as SSD. SCSI virtual disks only report as SSD when used as a system drive in a virtual machine, or as a mechanical drive when used as a data drive inside a virtual machine.
  • On Mac virtual machines, only SATA virtual disks are reported as SSD. IDE and SCSI virtual disks are reported as mechanical drives.

Use the virtual machine operating system to verify your virtual machine is using SSD as its virtual disk.

  • O mesmo se aplica a outros produtos da VMware, como vSphere e ESXi

Q. Does VMware support UNMAPs directly from the Guest OS in vSphere 6.0.

Yes. The issuing UNMAPs directly from the Guest OS to reclaim space is supported in vSphere 6.0.

Q. What are the prerequisites required for UNMAP to run?

There are a number of prerequisites which must be met. These are:

  • VMDK must be thin provisioned
  • Virtual Machine Hardware version must be 11 (ESXi 6.0)
  • The advanced setting EnableBlockDelete must be set to 1
  • The Guest OS must be able to identify the disk as thin (Windows 2012 [updated 30-Oct-2015] uses the B2 mode page to achieve this)

Q. Does reclaiming only work for UNMAP? What about TRIM?

This is an “it depends” answer. TRIM is only used when the underlying device is an SSD – Solid State Disk. From what I understand, the TRIM gets converted to UNMAP in the I/O stack. However, there are some issues with TRIM getting converted into UNMAP. UNMAP work at certain block boundaries on VMFS, whereas TRIM do not have such restrictions. So, certain TRIMs converted into UNMAPs may fail due to block alignment issues.

http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/

http://www.codyhosterman.com/2015/04/direct-guest-os-unmap-in-vsphere-6-0/

    
por 18.09.2013 / 09:17
1

O suporte ao TRIM requer conhecimento profundo do hardware subjacente. Como as máquinas virtuais ( VM Guests ) por definição são executadas em hardware virtual, elas não estão cientes dos detalhes do disco rígido ou do SSD em que residem.

Portanto, se o sistema operacional VM Host entender TRIM, isso deve ser suficiente para todos os convidados da VM sendo executados em cima dele.

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

    
por 28.09.2010 / 23:27
0

O TRIM foi inventado porque as gravações em um SSD devem ser feitas em blocos de 512K e a detecção de 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.

Veja

link

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.

    
por 28.09.2010 / 23:50