Máquinas virtuales y TRIM

18

Aunque se introdujo el soporte TRIM para hacer que SSD funcione mejor, también debería ayudar a las máquinas virtuales a optimizar discos virtuales (por ejemplo, para saber qué partes de los discos virtuales no necesitan almacenamiento en particiones físicas). ¿Alguna máquina VM usa TRIM de esta manera?

liori
fuente

Respuestas:

10

Virtualbox admite TRIM desde la versión 4.2

  • Almacenamiento: soporte implementado para descartar bloques de imagen no utilizados a través de TRIM para SATA e IDE y UNMAP para SCSI cuando se usan imágenes VDI

Deberá usar las opciones --nonrotational ony--discard on :

  • --discard

    Habilita la función de descarte automático para discos duros virtuales. Esto especifica que una imagen VDI se reducirá en respuesta al comando de recorte del sistema operativo invitado. Se deben cumplir los siguientes requisitos:

    • El formato del disco debe ser VDI.
    • El tamaño del área despejada debe ser de al menos 1 MB.
    • Oracle VM VirtualBox solo recortará bloques completos de 1 MB. Los VDI se organizan en bloques de 1 MB, por lo que esto solo funcionará si el espacio que se está recortando es al menos un bloque contiguo de 1 MB en un límite de 1 MB. En Windows, la desfragmentación ocasional con defrag.exe /DLinux o en ejecución btrfs filesystem defragcomo un trabajo cron en segundo plano puede ser beneficioso.

Se puede encontrar más información en


Hyper-V también puede reducir las imágenes VHD y VHDX

Casos de uso

  • ...
  • Consumer VHD montado en una SAN ligeramente aprovisionada:

    El VHD se monta inicialmente en una losa mínima de un entorno con poco aprovisionamiento. A medida que los archivos se almacenan en el VHD, la huella de almacenamiento del VHD crece en múltiplos de losas. Cuando los archivos se eliminan en el VHD, Hyper-V llama a File_TRIM a la SAN subyacente de aprovisionamiento delgado. Si las TRIM son más grandes que la granularidad SLAB, la SAN ahora puede eliminar una SLAB y, por lo tanto, reducir la huella del VHD en esa SAN.

Si el VHD reside en un servidor basado en Windows 8, Storage Optimizer también enviará TRIM para reducir la huella de la losa del VHD desde dentro del VHD montado.

La nueva API permite que las aplicaciones envíen sugerencias "TRIM y Unmap" a los medios de almacenamiento

Ver también


VMware Workstation 10 afirma ser compatible con la transferencia SSD

  • SSD Pass-through Windows 8 es capaz de detectar cuándo se ejecuta desde una unidad de estado sólido (SSD) y se optimiza para este hardware. En la estación de trabajo 10, el sistema operativo invitado podrá detectar cuándo se está almacenando el archivo de disco de la máquina virtual en una unidad SSD y el sistema operativo puede hacer las mismas optimizaciones cuando se ejecuta en una máquina virtual

Notas de la versión de VMware Workstation 10.0

Eso también se menciona en los requisitos de unidad de disco del Centro de documentación de VMWare Workstation Pro para sistemas host : unidades de estado sólido :

Si su máquina host tiene una unidad de estado sólido (SSD) física, el host informa a los sistemas operativos invitados que se están ejecutando en una SSD.

Esto permite que los sistemas operativos invitados optimicen el comportamiento. La forma en que las máquinas virtuales reconocen SSD y usan esta información depende del sistema operativo invitado y del tipo de disco del disco virtual (SCSI, SATA o IDE).

Pero del texto parece que el comando TRIM solo se pasa al SSD físico subyacente en lugar de reducir la imagen VMDK

Otros productos de VMware como vSphere y ESXi también admiten TRIM, pero aún no está claro si lo utilizan para reducir la imagen o no.

P. ¿VMware admite UNMAP directamente desde el sistema operativo invitado en vSphere 6.0?

Si. La emisión de UNMAP directamente desde el SO invitado para reclamar espacio es compatible con vSphere 6.0.

P. ¿Cuáles son los requisitos previos necesarios para que se ejecute UNMAP?

Hay una serie de requisitos previos que deben cumplirse. Estos son:

  • VMDK debe tener un aprovisionamiento ligero
  • La versión del hardware de la máquina virtual debe ser 11 (ESXi 6.0)
  • La configuración avanzada EnableBlockDelete debe establecerse en 1
  • El SO invitado debe poder identificar el disco como delgado (Windows 2012 [actualizado el 30 de octubre de 2015] usa la página de modo B2 para lograr esto)

P. ¿La recuperación solo funciona para UNMAP? ¿Qué hay de TRIM?

Esta es una respuesta "depende". TRIM solo se usa cuando el dispositivo subyacente es un SSD - Disco de estado sólido. Por lo que entiendo, el TRIM se convierte en UNMAP en la pila de E / S. Sin embargo, hay algunos problemas con TRIM que se convierte en UNMAP. UNMAP funciona en ciertos límites de bloque en VMFS, mientras que TRIM no tiene tales restricciones. Por lo tanto, ciertas TRIM convertidas en UNMAP pueden fallar debido a problemas de alineación de bloque.

Características de almacenamiento de vSphere 6.0 Parte 8: cambios de VAAI UNMAP

Ver también

phuclv
fuente
1
Creo que VMware eliminó este reclamo de marketing de futuras versiones porque estaba paralizado ya que no admitían TRIM. Ver aquí y aquí
Tom Hale
1

La compatibilidad con TRIM requiere un conocimiento profundo del hardware subyacente. Dado que las máquinas virtuales ( invitados VM ), por definición, se ejecutan en hardware virtual, no conocen los detalles del disco duro o SSD en el que residen.

Entonces, si el sistema operativo VM Host comprende TRIM, eso debería ser suficiente para todos los invitados de VM que se ejecutan sobre él.

Algunos hosts VM pueden "pasar" a través de un disco físico y montarlo directamente en el sistema operativo en un invitado VM. Dependiendo de la implementación exacta, es teóricamente posible que el Guest pueda admitir la función TRIM de un SSD. Como con la mayoría de las cosas, su kilometraje puede variar, y si es crítico para su entorno, debe probarlo a fondo antes de comprometerse.

stewartwb
fuente
1
Lo único que agregaría es que si el archivo del disco duro vm es dinámico, podría reducirlo y el host, si corresponde, le indicaría al SSD que recorte los sectores recién liberados. Esto puede acelerar la escritura de archivos de disco duro vm porque cuando el archivo crece no modifica los sectores de host existentes, los sectores nuevos / recortados podrían usarse para la escritura del invitado. Normalmente corrijo el tamaño de los archivos de mi disco duro vm, pero eso es para evitar la fragmentación en HD. Con los SSD, probablemente me reduciría de forma dinámica y periódica.
Scott McClenning el
2
-1. Te estás perdiendo el hecho de que TRIM / unmap se usa para reducir el archivo de imagen de VM de tamaño dinámico. Y como resultado, el sistema operativo host puede emitir TRIM / unmap en el hardware subyacente. Es una parte importante del concepto de aprovisionamiento delgado.
rustyx
-1

TRIM se inventó porque las escrituras en un SSD deben realizarse en bloques de 512K y determinar cuánto de un bloque es realmente utilizado por un archivo o archivos es imposible para la unidad SSD en sí y debe ser comunicado por el sistema operativo y el sistema de archivos.

Ver

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

EDITAR:

El enlace wiki lo dice mejor de lo que podría:

El comando TRIM no funciona con discos que están almacenados en archivos de imagen de disco. Esto se debe al hecho de que los archivos de la computadora solo pueden eliminarse por completo o truncarse al final. Este problema afecta a aplicaciones como servicios de disco virtual, máquinas virtuales, etc.

bot403
fuente
66
VM podría mantener información sobre qué bloques se recortaron para usarse cuando el usuario solicita reempaquetar y reducir discos virtuales. VMWare actualmente tiene una operación similar, pero funciona sobrescribiendo todo el espacio libre dentro de VM en primer lugar.
liori
66
La pregunta no se trata de traducir una operación TRIM en el disco virtual a una operación TRIM en el disco host. Como señala, no funciona tan directamente. La pregunta es claramente sobre la traducción de una llamada TRIM en el disco virtual a un acortamiento del archivo de imagen en el disco host (que, incidentalmente, puede activar una operación TRIM en el disco host, pero la pregunta es sobre el primer paso)
Pascal Cuoq
1
Hay archivos de repuesto , que deberían ser ideales para usar como imagen de disco recortable para una máquina virtual.
no es un usuario