L'eliminazione o la rimozione di file da un datastore VMFS libera spazio all'interno del file system. Questo spazio libero viene mappato su un dispositivo di storage fino a quando il file system non lo rilascia o lo mappa. ESXi supporta il recupero di spazio libero, noto anche come operazione di rimozione della mappatura.

L'operazione consente all'array di storage di recuperare lo spazio libero inutilizzato. Lo spazio non mappato può quindi essere utilizzato per altre richieste ed esigenze di allocazione dello storage.

Recupero automatico di spazio libero nel datastore VMFS6

Nei datastore VMFS6, ESXi supporta il recupero automatico asincrono dello spazio libero. VMFS6 può eseguire il comando unmap per rilasciare spazio di storage libero in background negli array di storage con thin provisioning che supportano le operazioni di annullamento della mappatura.

L'elaborazione dell'annullamento della mappatura automatico ha diversi vantaggi:
  • Le richieste di annullamento della mappatura vengono inviate a una velocità costante, per evitare carichi istantanei nell'array di supporto.
  • Le regioni liberate vengono raggruppate in batch e mappate insieme.
  • Le prestazioni di I/O di altri carichi di lavoro non sono interessate dal comando di annullamento della mappatura.

Per i datastore VMFS6, è possibile configurare i seguenti parametri di recupero dello spazio.

Granularità del recupero dello spazio
La granularità definisce le dimensioni minime di un settore dello spazio rilasciato che lo storage sottostante può recuperare. Lo storage non può recuperare settori di dimensioni inferiori rispetto alla granularità specificata.
Per VMFS6, la granularità del recupero è uguale alle dimensioni del blocco. Quando si specificano dimensioni del blocco pari a 1 MB, anche la granularità è 1 MB. I settori di storage di dimensioni inferiori a 1 MB non vengono recuperati.
Nota: Alcuni array di storage consigliano una granularità non mappata ottimale. ESXi supporta l'elaborazione dell'annullamento della mappatura automatico negli array con granularità di annullamento della mappatura consigliata di almeno 1 MB, ad esempio 16 MB. Negli array con la granularità ottimale di 1 MB e inferiore, l'operazione di annullamento della mappatura è supportata se la granularità è un fattore di 1 MB. Ad esempio, 1 MB è divisibile per 512 byte, 4 KB, 64 KB e così via.
Metodo di recupero spazio
Il metodo può essere per priorità o fisso Quando il metodo utilizzato è per priorità, viene configurata la priorità. Per il metodo fisso, è necessario indicare la velocità di recupero in MB al secondo.
È possibile utilizzare vSphere Client per impostare il metodo di priorità quando si crea il datastore VMFS6. Per abilitare il metodo fisso, è possibile modificare in un secondo momento le impostazioni di recupero dello spazio per il datastore esistente.
In alternativa, è possibile utilizzare il comando esxcli storage vmfs reclaim config set per impostare i parametri di recupero dello spazio.
Velocità del recupero dello spazio per priorità
Questo parametro definisce la velocità con cui viene eseguita l'operazione di recupero dello spazio quando si utilizza il metodo di recupero per priorità. In genere, VMFS6 può inviare i comandi non mappati in burst o occasionalmente in base al carico di lavoro e alla configurazione. Per VMFS6, è possibile specificare una delle seguenti opzioni.
Priorità del recupero dello spazio Descrizione Configurazione
Nessuno Disattiva le operazioni di annullamento della mappatura per il datastore. vSphere Client

Comando esxcli

Bassa (predefinita) Invia il comando di annullamento della mappatura a una velocità meno frequente, 25-50 MB al secondo. vSphere Client

Comando esxcli

Media Invia il comando a una velocità due volte maggiore della velocità bassa, 50-100 MB al secondo. Comando esxcli
Alta Invia il comando a una velocità tre volte maggiore della velocità bassa, oltre 100 MB al secondo. Comando esxcli
Host per il recupero dello spazio
Questo parametro definisce il numero di host ESXi che possono generare comandi di annullamento della mappatura in un datastore VMFS6 per il recupero automatico dello spazio. Utilizzare questo parametro per limitare la quantità cumulativa di carico di recupero dello spazio generato nel datastore VMFS6 di supporto di destinazione.

Dopo aver abilitato il recupero dello spazio, il datastore VMFS6 può iniziare a rilasciare i blocchi di spazio inutilizzato solo quando include almeno un file aperto. Questa condizione può essere soddisfatta quando, ad esempio, si accende una delle macchine virtuali nel datastore.

Configurazione del recupero tramite priorità durante la creazione di un datastore VMFS6

Le impostazioni di recupero dello spazio controllano in che modo i blocchi eliminati o non mappati vengono recuperati nei dispositivi che supportano il datastore. Quando si crea un datastore VMFS6 in vSphere Client, l'unico metodo per il recupero dello spazio che è possibile specificare è il metodo di priorità. È inoltre possibile disattivare il recupero dello spazio durante la creazione del datastore.

Procedura

  1. Nel navigatore di oggetti di vSphere Client, passare a un host, un cluster o un data center.
  2. Dal menu visualizzato tramite il pulsante destro del mouse, selezionare Storage > Nuovo datastore.
  3. Eseguire i passaggi necessari per creare un datastore VMFS6.
  4. Nella pagina Configurazione partizione, specificare i parametri di recupero dello spazio.
    I parametri definiscono la granularità e la priorità in base alle quali vengono eseguite le operazioni di recupero dello spazio. È inoltre possibile utilizzare questa pagina per disattivare il recupero dello spazio per il datastore.
    Opzione Descrizione
    Dimensione blocco Le dimensioni del blocco in un datastore VMFS definiscono le dimensioni massime del file e lo spazio occupato dal file. VMFS6 supporta le dimensioni del blocco pari a 1 MB.
    Granularità del recupero dello spazio Specificare la granularità per l'operazione di annullamento della mappatura. La granularità dell'annullamento della mappatura è uguale alle dimensioni del blocco, ovvero 1 MB.

    I settori di storage di dimensioni inferiori a 1 MB non vengono recuperati.

    Priorità del recupero dello spazio Selezionare una delle opzioni seguenti.
    • Bassa (predefinita). Utilizza il metodo di priorità per il recupero dello spazio. L'operazione di annullamento della mappatura viene eseguita con una priorità bassa.
    • Nessuna. Selezionare questa opzione se non si desidera utilizzare le operazioni di recupero dello spazio per il datastore.
    Nota: In vSphere Client, le uniche impostazioni disponibili per la priorità di recupero dello spazio sono Bassa e Nessuna. Per modificare le impostazioni in Media o Alta, utilizzare il comando esxcli.
  5. Completare il processo di creazione del datastore.

risultati

Dopo avere attivato il recupero dello spazio, il datastore VMFS6 può iniziare a rilasciare i blocchi di spazio inutilizzato solo quando è presente almeno un file aperto. Questa condizione può essere soddisfatta quando, ad esempio, si accende una delle macchine virtuali nel datastore.

Configurazione del recupero fisso per il datastore VMFS6 esistente

Per attivare il metodo di recupero fisso, modificare le impostazioni di recupero dello spazio per il datastore.

Procedura

  1. In vSphere Client, andare al datastore.
  2. Selezionare Modifica recupero spazio dal menu visibile facendo clic con il pulsante destro del mouse.
  3. Specificare l'impostazione di recupero dello spazio.
    Opzione Descrizione
    Abilita il recupero automatico dello spazio a velocità fissa Utilizzare il metodo fisso per il recupero dello spazio. Specificare la velocità del recupero in MB al secondo. Il valore minimo disponibile è 10 MB al secondo.
    Disattiva recupero automatico dello spazio I blocchi eliminati o non mappati non vengono recuperati.

    Selezionare questa opzione se si desidera disattivare le operazioni di recupero dello spazio per il datastore.

  4. Fare clic su OK per salvare le nuove impostazioni.
  5. Smontare e rimontare il datastore per consentire l'applicazione delle modifiche.
    1. Smontaggio dei datastore.
    2. Montaggio dei datastore.
  6. Ripetere questa procedura per tutti gli host ESXi che accedono al datastore.

risultati

Il valore modificato per la priorità di recupero dello spazio viene visualizzato nella pagina Generale del datastore.

Utilizzo del comando ESXCLI per modificare il recupero dello spazio in VMFS6

È possibile modificare il valore predefinito della priorità del recupero dello spazio, della granularità e di altri parametri.

Procedura

  1. Nell'host ESXi utilizzare il comando seguente per impostare i parametri di recupero dello spazio.
    esxcli storage vmfs reclaim config set

    Il comando accetta le seguenti opzioni:

    Opzione Descrizione
    -b|--reclaim-bandwidth Larghezza di banda fissa per il recupero dello spazio in MB al secondo.
    -g|--reclaim-granularity Granularità minima del recupero automatico dello spazio in byte.
    -m|--reclaim-method Metodo del recupero automatico dello spazio. Opzioni supportate:
    • priority
    • fixed
    -n|--reclaim-maxhosts Numero massimo di host ESXi che possono generare comandi di annullamento della mappatura in un datastore VMFS6 per il recupero automatico dello spazio.
    -p|--reclaim-priority Priorità del recupero dello spazio automatico. Opzioni supportate:
    • none
    • low
    • medium
    • high
    -l|--volume-label Etichetta del volume VMFS di destinazione.
    -u|--volume-uuid UUID del volume VMFS di destinazione.
    È possibile utilizzare gli esempi seguenti.
    • Impostare il metodo di recupero su Fisso e la velocità su 100 MB al secondo.
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-method fixed -b 100
    • Disattivare il recupero automatico dello spazio VMFS.
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-priority none
    Nota: Se si imposta solo il parametro -n|--reclaim-maxhosts senza altri parametri, è possibile ignorare il passaggio 2. Sono necessari circa 30 minuti affinché il valore aggiornato del parametro reclaim-maxhosts venga applicato in tutti gli host ESXi in cui è montato il datastore VMFS6.
  2. Smontare il datastore VMFS6 da tutti gli altri host ESXi in cui è stato montato il datastore e quindi montarlo di nuovo.
    1. Smontaggio dei datastore.
    2. Montaggio dei datastore.
    Questo passaggio assicura che tutti gli host ESXi in cui il datastore VMFS6 è stato montato aggiornino le impostazioni di recupero per il datastore.

Verifica delle impostazioni per il recupero automatico dello spazio in VMFS6

Dopo aver configurato o modificato i parametri di recupero dello spazio per un datastore VMFS6, è possibile rivedere le impostazioni.

Procedura

  1. In vSphere Client, andare al datastore.
  2. Fare clic sulla scheda Configura.
  3. Fare clic su Generale.
  4. In Recupero spazio, rivedere l'impostazione della priorità di recupero dello spazio.
    Se sono stati configurati valori tramite il comando esxcli, ad esempio Medio o Alto per la priorità di recupero dello spazio, questi valori vengono visualizzati anche in vSphere Client.

risultati

La schermata mostra le impostazioni di recupero dello spazio.

Esempio: Recupero dei parametri per il recupero dello spazio di VMFS6

È inoltre possibile utilizzare il comando esxcli storage vmfs reclaim config get -l=etichetta_VMFS|-u=uuid_VMFS per ottenere informazioni sulla configurazione del recupero dello spazio.
# esxcli storage vmfs reclaim config get -l my_datastore 
Reclaim Granularity: 1048576 Bytes 
Reclaim Priority: low
Reclaim Method: priority
Reclaim Bandwidth: 26 MB/s
Reclaim Maximum Hosts: 128

Recupero manuale dello spazio di storage accumulato in VMFS5

Nei datastore VMFS che non supportano il recupero automatico dello spazio, ad esempio VMFS5, è possibile utilizzare il comando esxcli per recuperare manualmente lo spazio di storage inutilizzato.

Quando si utilizza il comando, tenere presente che potrebbe inviare molte richieste di annullamento della mappatura contemporaneamente. Questa azione può bloccare alcune delle risorse durante l'operazione. Quando si utilizza il comando, tenere presente che potrebbe inviare molte richieste di annullamento della mappatura contemporaneamente. Questa azione può bloccare alcune delle risorse durante l'operazione.

Prerequisiti

Installare ESXCLI. Vedere Guida introduttiva a ESXCLI. Per la risoluzione dei problemi, eseguire i comandi esxcli in ESXi Shell.

Procedura

  1. Per recuperare i blocchi di storage inutilizzati sul dispositivo con thin provisioning, eseguire il comando seguente:
    esxcli storage vmfs unmap

    Il comando accetta le seguenti opzioni:

    Opzione Descrizione
    -l|--volume-label=etichetta_volume Etichetta del volume VMFS di cui annullare la mappatura. Questo argomento è obbligatorio. Se si specifica questo argomento, non utilizzare -u|--volume-uuid=uuid_volume.
    -u|--volume-uuid=uuid_volume UUID del volume VMFS di cui annullare la mappatura. Questo argomento è obbligatorio. Se si specifica questo argomento, non utilizzare -l|--volume-label=etichetta_volume.
    -n|--reclaim-unit=numero Numero di blocchi VMFS di cui annullare la mappatura per iterazione. Questo argomento è facoltativo. Se non è specificato, il comando utilizza il valore predefinito 200.
  2. Per verificare se il processo di annullamento della mappatura è terminato, cercare unmap nel file vmkernel.log.