venerdì 26 luglio 2013

VAAI

Con l'installazione del nuovo firmware sul mio storage IBM DS3500 FC, abbiamo finalmente il supporto per le VAAI, Con l'aiuto di un pdf pubblicato nel dicembre 2012, cerchiamo di approfondire questo argomento.
Le vSphere® Storage APIs – Array Integration (VAAI), sono un insieme di primitive storage  che permettono di scaricare sullo storage alcune operazioni tradizionalmente compiute dagli hosts, delegando allo storage queste operazioni si ottengono benefici in termini di velocità con cui le operazioni vengono eseguite e si utilizzano meno risorse sugli hosts.

VAAI PER LO STORAGE A BLOCCHI:

Atomic Test & Set (ATS)

tutte le operazioni che richiedono un update dei metadati VMFS, richiedono un lock sul file system in modo che altri hosts che accedono allo stesso file system non possano richiedere un update degli stessi metadati contemporaneamente. Senza le VAAI questo meccanismo avviene con le SCSI reservation: un'intera LUN viene vista in modo esclusivo dall'host che ne sta scrivendo i metadati, gli altri host non riescono ad accedere alla LUN finché l'operazione non termina. Con le VAAI viene utilizzato il ATS, che permette di riservare solo i blocchi che devono essere scritti e non l'intero volume.

XCOPY (Extended Copy)

senza le VAAI un'operazione di clonazione o migrazione da un datastore ad un altro, viene eseguita utilizzando il VMkernel software Data Mover driver, consumando cicli di host CPU, buffer DMA e coda HBA. Con questa primitiva viene delegata allo storage l'operazione di lettura/scrittura dei dati.

Write Same (Zero) 

Quando viene creato un VMDK thick eager, viene innescato un comando SCSI per scrivere un insieme di zero nei blocchi che compongono il VMDK. Anche con questa operazione, vengono coinvolte parecchie risorse fisiche, delegando l'attività allo storage si risparmia in tempo e in risorse. La stessa primitiva viene utilizzata per l'azzeramento di nuovi blocchi in un disco thin

VAAI PER LO STORAGE NAS

Full File Clone

Questa primitiva permette alle NAS di clonare i dischi virtuali senza l'ausilio del data mover. La differenza principale rispetto alla XCOPY dello storage a blocchi è che questa primitiva non viene utilizzata per lo storage vmotion.

Fast File Clone/Native Snapshot Support

La creazione delle snapshot viene delegata alle NAS, invece di essere eseguita daglio hosts. E' molto utile quando si di essa si basano altre primitive come la VMware View Composer™ Array Integration (VCAI) che scarica sulla NAS la creazione di VM linked clones per VMware View. Un operazione molto simile 
viene fatta anche da VCloud director.

Extended Statistics

Con questa primitiva è possibile creare dei files thick sulle NAS (senza di essa sulle NAS si possono solo creare files thin).

VAII PER LO STORAGE THIN

Se viene utilizzato dello storage di tipo thin provisioned, lo storage stesso non viene informato quando si è liberato dello spazio a fronte di un cancellazione o migrazione di una VM. Per risolvere questa anomalia è stata creata la primitiva Dead Space Reclamation fa in modo che l'host informi lo storage che si è liberato dello spazio in modo di poter avere una delle info (all'interno dei vsphere clients) corrette. Questa primitiva non viene innescata automaticamente ma attraverso un processo manuale, vi rimando al documento citato in precedenza per una descrizione dettagliata dei comandi necessari.
La primitiva Thin Provisioning Stun serve a non dover sospendere tutte le VM all'interno di un datastore che ha raggiunto il 100% dello spazio occupato, utilizzando questa api, verranno sospese solo le VM che richiedono nuovi blocchi di storage.
La Thin Provisioning Space Threshold Warning serve ad emettere un warning se un datastore thin raggiunge una certa soglia di spazio occupato.

Con il comando esxcli storage core device vaai status get -d naa.xxx è possibile conoscere quali primitive sono supportate per un certo storage. Nel caso del mio DS3500 ottengo:
~ # esxcli storage core device vaai status get -d naa.60080e5000242f68000009504ea1b0fe
naa.60080e5000242f68000009504ea1b0fe
   VAAI Plugin Name:
   ATS Status: supported
   Clone Status: supported
   Zero Status: supported
   Delete Status: unsupported
~ #

Nota: Per ottenere il naa della mia SAN ho utilizzato il comando esxcli storage core device list

Un post un po' vecchio ma sempre molto interessante circa le VAAI lo trovate cliccando qui.

Nessun commento:

Posta un commento