Macchine virtuali e TRIM


18

Sebbene il supporto TRIM sia stato introdotto per far funzionare meglio SSD, dovrebbe anche aiutare le macchine virtuali a ottimizzare i dischi virtuali (ad esempio per sapere quali parti dei dischi virtuali non necessitano di archiviazione su partizioni fisiche). Qualsiasi macchina VM utilizza TRIM in questo modo?

Risposte:


10

Virtualbox supporta TRIM dalla versione 4.2

  • Archiviazione: supporto implementato per l'eliminazione di blocchi di immagini inutilizzati tramite TRIM per SATA e IDE e UNMAP per SCSI quando si utilizzano immagini VDI

Dovrai utilizzare le opzioni --nonrotational one--discard on :

  • --discard

    Abilita la funzione di eliminazione automatica per i dischi rigidi virtuali. Questo specifica che un'immagine VDI verrà ridotta in risposta al comando trim dal sistema operativo guest. Devono essere soddisfatti i seguenti requisiti:

    • Il formato del disco deve essere VDI.
    • La dimensione dell'area cancellata deve essere di almeno 1 MB.
    • Oracle VM VirtualBox taglierà solo interi blocchi da 1 MB. Gli stessi VDI sono organizzati in blocchi da 1 MB, quindi funzionerà solo se lo spazio da tagliare è almeno un blocco contiguo da 1 MB a un limite di 1 MB. Su Windows, la deframmentazione occasionale con defrag.exe /Do su Linux in esecuzione btrfs filesystem defragcome processo cron in background può essere utile.

Ulteriori informazioni sono disponibili in


Hyper-V può anche ridurre le immagini VHD e VHDX

Casi d'uso

  • ...
  • Disco rigido virtuale di consumo montato su una SAN con thin provisioning:

    Il disco rigido virtuale è inizialmente montato su una lastra minima di un ambiente con thin provisioning. Man mano che i file vengono archiviati nel disco rigido virtuale, il footprint di archiviazione del disco rigido virtuale aumenta in multipli di lastre. Quando i file vengono rimossi nel disco rigido virtuale, Hyper-V chiama File_TRIM alla SAN con thin provisioning sottostante. Se i TRIM sono più grandi della granularità SLAB, la SAN può ora rimuovere uno SLAB e quindi ridurre l'impronta del disco rigido virtuale su quella SAN.

Se il disco rigido virtuale risiede su un server basato su Windows 8, Storage Optimizer invierà anche TRIM per ridurre l'impronta della lastra del disco rigido virtuale all'interno del disco rigido virtuale montato.

La nuova API consente alle app di inviare suggerimenti "TRIM e Unmap" ai supporti di archiviazione

Guarda anche


VMware Workstation 10 afferma di supportare il passthrough SSD

  • Pass-through SSD Windows 8 è in grado di rilevare quando viene eseguito da un'unità a stato solido (SSD) e si ottimizza per questo hardware. In Workstation 10, il sistema operativo guest sarà in grado di rilevare quando il file del disco della macchina virtuale viene archiviato su un'unità SSD e il sistema operativo può effettuare le stesse ottimizzazioni quando è in esecuzione in una macchina virtuale

Note di rilascio di VMware Workstation 10.0

Questo è anche menzionato nei requisiti dell'unità disco del Centro di documentazione VMWare Workstation Pro per i sistemi host - Unità a stato solido :

Se la macchina host ha un'unità SSD (fisica a stato solido), l'host informa i sistemi operativi guest che sono in esecuzione su un SSD.

Ciò consente ai sistemi operativi guest di ottimizzare il comportamento. Il modo in cui le macchine virtuali riconoscono SSD e utilizzano queste informazioni dipende dal sistema operativo guest e dal tipo di disco del disco virtuale (SCSI, SATA o IDE).

Ma dal testo sembra che il comando TRIM sia passato solo all'SSD fisico sottostante invece di ridurre l'immagine VMDK

Anche altri prodotti VMware come vSphere ed ESXi supportano TRIM, ma non è ancora chiaro se lo utilizzino per ridurre l'immagine o meno

D. VMware supporta UNMAPs direttamente dal sistema operativo guest in vSphere 6.0.

Sì. Le UNMAP emittenti direttamente dal SO guest per recuperare spazio sono supportate in vSphere 6.0.

D. Quali sono i prerequisiti richiesti per l'esecuzione di UNMAP?

Esistono numerosi prerequisiti che devono essere soddisfatti. Questi sono:

  • VMDK deve essere thin provisioning
  • La versione dell'hardware della macchina virtuale deve essere 11 (ESXi 6.0)
  • L'impostazione avanzata EnableBlockDelete deve essere impostata su 1
  • Il sistema operativo guest deve essere in grado di identificare il disco come thin (Windows 2012 [aggiornato il 30-ott-2015] utilizza la pagina della modalità B2 per raggiungere questo obiettivo)

D. Il recupero funziona solo per UNMAP? Che dire di TRIM?

Questa è una risposta "dipende". TRIM viene utilizzato solo quando il dispositivo sottostante è un SSD - Solid State Disk. Da quello che ho capito, il TRIM viene convertito in UNMAP nello stack I / O. Tuttavia, ci sono alcuni problemi con TRIM che viene convertito in UNMAP. UNMAP funziona a determinati limiti di blocco su VMFS, mentre TRIM non ha tali restrizioni. Pertanto, alcuni TRIM convertiti in UNMAP potrebbero non riuscire a causa di problemi di allineamento.

Funzioni di archiviazione di vSphere 6.0 Parte 8: modifiche VAAI UNMAP

Guarda anche


1
Credo che VMware abbia rimosso questa affermazione di marketing dalle versioni future perché è stata paralizzata dal momento che non supportava TRIM. Vedi qui e qui
Tom Hale,

1

Il supporto TRIM richiede una conoscenza approfondita dell'hardware sottostante. Poiché le macchine virtuali ( guest VM ) per definizione vengono eseguite su hardware virtuale, non sono a conoscenza dei dettagli del disco rigido o dell'SSD su cui risiedono.

Pertanto, se il sistema operativo dell'host di macchine virtuali comprende TRIM, ciò dovrebbe essere sufficiente per tutti i guest di macchine virtuali in esecuzione su di esso.

Alcuni host di macchine virtuali possono "passare" attraverso un'unità fisica e montarla direttamente sul sistema operativo su un guest VM. A seconda dell'implementazione esatta, è teoricamente possibile che il Guest possa quindi supportare la funzione TRIM di un SSD. Come per la maggior parte delle cose, il tuo chilometraggio può variare e, se è fondamentale per il tuo ambiente, dovresti testarlo accuratamente prima di impegnarti.


1
L'unica cosa che aggiungerei è se il file del disco rigido vm è dinamico, potresti ridurlo e l'host quindi, se appropriato, direbbe all'SSD di tagliare i settori appena liberati. Questo può accelerare la scrittura di file su disco rigido VM perché quando il file cresce non modificando i settori host esistenti, i settori nuovi / ritagliati potrebbero essere utilizzati per la scrittura del guest. Normalmente correggo le dimensioni sui file del mio disco rigido VM, ma questo è per prevenire la frammentazione su HD. Con gli SSD andrei probabilmente a ridursi dinamico e periodico.
Scott McClenning,

2
-1. Manca il fatto che TRIM / unmap sia usato per ridurre il file immagine della VM di dimensioni dinamiche. Di conseguenza, il sistema operativo host può emettere TRIM / unmap sull'hardware sottostante. È una parte importante del concetto di thin provisioning.
Rustyx,

-1

TRIM è stato inventato perché le scritture su un SSD devono essere eseguite in blocchi da 512 KB e determinare la quantità di un blocco effettivamente utilizzata da un file o file è impossibile per l'unità SSD stessa e deve essere comunicata dal sistema operativo e dal file system.

Vedere

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

MODIFICARE:

Il link wiki lo dice meglio di quanto potrei:

Il comando TRIM non funziona con i dischi memorizzati nei file di immagine del disco. Ciò è causato dal fatto che i file del computer possono essere eliminati completamente o troncati alla fine. Questo problema riguarda applicazioni come servizi di disco virtuale, macchine virtuali, ecc.


6
La VM potrebbe conservare le informazioni su quali blocchi sono stati ritagliati per essere utilizzati quando l'utente richiede di reimballare e ridurre i dischi virtuali. VMWare attualmente ha un'operazione simile, ma funziona sovrascrivendo innanzitutto tutto lo spazio libero all'interno della VM.
liori,

6
La domanda non riguarda la traduzione di un'operazione TRIM sul disco virtuale in un'operazione TRIM sul disco host. Come fai notare, non funziona così direttamente. La domanda riguarda chiaramente la traduzione di una chiamata TRIM sul disco virtuale in un accorciamento del file immagine sul disco host (che, per inciso, può a sua volta innescare un'operazione TRIM sul disco host, ma la domanda riguarda il primo passo)
Pascal Cuoq,

1
Esistono file di parti di ricambio , che dovrebbero essere ideali per essere utilizzati come immagini disco ritagliabili per una VM.
non utente
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.