Ho recentemente installato per la prima volta PernixData FVP presso un cliente. Il cliente possiede tre server HP Proliant DL380 G7, dotati di controller integrato Smart Array P410i. Ci sono alcune configurazioni consigliate da Pernix per sfruttare al meglio i dischi SSD, e per i clienti esiste un documento in cui sono indicate le configurazioni da impostare. E’ possibile richiedere questo documento al supporto tecnico di Pernix, ma ci sono alcuni passaggi che possono risultare utili a chiunque utilizzi dischi SSD su ESXi.
Innanzitutto, a partire dalla nuova versione 1.5, l’offline bundle di HP ha sostituito il comando HPACUCLI (che avevo documentato in un articolo più di un anno fa), col nuovo comando HPSSACLI. Molti dei comandi sono identici, ma prevede adesso molte più opzioni e supporta molti più modelli di controller.
Nel mio esempio, andrò a configurare un singolo disco SSD Intel DCS3700 per essere utilizzato con Pernix. Per altre necessità, fate riferimento al documento “HP VMware Utilities User Guide”. E’ indicato per vSphere 5.5, ma i nuovi comandi HPSSACLI sono identici anche se come me usate il tool su vSphere 5.1.
Innanzitutto, è necessario identificare il controller presente nel server.
~ # esxcli hpssacli cmd -q “controller all show”
Smart Array P410i in Slot 0 (Embedded) (sn: 5001438019071530)
In seguito, verifichiamo che il disco SSD sia stato identificato correttamente:
~ # esxcli hpssacli cmd -q “controller slot=0 physicaldrive all show”
Smart Array P410i in Slot 0 (Embedded)
array A
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SATA, 200 GB, OK)
Possiamo vedere che il disco SSD è l’unico presente (questi server utilizzano schede SD per avviare ESXi), ed è stato correttamente riconosciuto per tipologia e dimensione. Il controller HP, quando non vi sono altri volumi già configurati, inizializza automaticamente il disco, è infatti ha creato un Logical Drive. Possiamo verificare in questo modo:
~ # esxcli hpssacli cmd -q “ctrl slot=0 ld all show”
Smart Array P410i in Slot 0 (Embedded)
array A
logicaldrive 1 (186.3 GB, RAID 0, OK)
I controller Smart Array non permettono di utilizzare singoli dischi in configurazioni JBOD, quindi l’unica alternativa è configurarli in Raid 0, composti dal solo disco, senza concatenarne altri. In linea teorica quindi l’autoconfigurazione effettuata dallo Smart Array sarebbe già corretta, ma è opportuno rifare il logical drive in modo da poter impostare lo stripe size e l’uso della cache del controller come suggerito da Pernix. Per prima cosa eliminiamo il logical drive:
~ # esxcli hpssacli cmd -q “ctrl slot=0 ld 1 delete forced”
Se il server possiede altri logical drives, NON date comandi generali con l’opzione “all”, piuttosto indicate come nel mio esempio il numero del logical drive. Una volta rimosso, è ora di creare il nuovo logical drive secondo le specifiche desiderate:
~ # esxcli hpssacli cmd -q “ctrl slot=0 create type=ld drives=1I:1:1 raid=0 ss=64 size=max aa=disable”
In dettaglio, vedete come creiamo un singolo raid 0 usando solo il disco fisico identificato prima, impostiamo uno stripe size di 64k e disabilitiamo la cache del controller su questo logical drive. Come ultime due opzioni, disabilitiamo il Surface Scan, è utile sui dischi meccanici ma in presenza di SSD rischiamo solo di danneggiarli:
~ # esxcli hpssacli cmd -q “ctrl slot=0 modify surfacescanmode=disable”
E abilitiamo la SSD Write Cache:
~ # esxcli hpssacli cmd -q “ctrl slot=0 modify dwc=enable forced”
Attenzione! NON abilitate questa opzione se il controller sta gestendo altri dischi che contengono dati.
Il risultato finale è il seguente:
~ # esxcli hpssacli cmd -q “ctrl slot=0 ld 1 show”
Smart Array P410i in Slot 0 (Embedded)
array A
Logical Drive: 1
Size: 186.3 GB
Fault Tolerance: 0
Heads: 255
Sectors Per Track: 32
Cylinders: 47874
Strip Size: 64 KB
Full Stripe Size: 64 KB
Status: OK
Caching: Disabled
Unique Identifier: 600508B1001CA9133881F40F4080BC55
Disk Name: unknown
Mount Points: None
Logical Drive Label: A40F558650014380190715304C93
Drive Type: Data
LD Acceleration Method: All disabled
A questo punto, il logical drive è visibile in ESXi (si vede lo stesso Unique Identifier nelle proprietà), e potremo utilizzarlo con Pernix o per altri scopi:
Una nota finale: il logical drive tra le altre cose, maschera le proprietà SSD ad ESXi, ragion per cui questo viene identificato come “Non-SSD”. Da quello che ho appreso, è una condizione dipendente dal firmware del controller che si sta utilzzando. Pernix è in grado di usare il disco anche senza che esso sia marcato come SSD, ma se doveste o voleste marcare il disco forzatamente come SSD, seguite questo articolo della KB di VMware.