| Italia - Italiano |
|
|
|
![]() |
Guida all'amministrazione di sistemi HP-UX: Gestione dei volumi logici: HP-UX 11i versione 3 > Capitolo 2 Configurazione di LVMPianificazione per le prestazioni |
|
Questa sezione descrive le strategie per ottenere le migliori prestazioni possibili utilizzando LVM. Comprende i seguenti argomenti: I seguenti fattori influiscono sulle prestazioni complessive del sistema, ma non necessariamente su quelle di LVM. La quantità di memoria utilizzata da LVM è basata sui valori utilizzati al momento della creazione del gruppo di volumi e sul numero di volumi logici aperti. La parte maggiore della memoria LVM è utilizzata per la mappatura delle estensioni. La memoria utilizzata è proporzionale al numero massimo di volumi fisici moltiplicato per il numero massimo di estensioni fisiche per volume fisico di ogni gruppo di volumi. Gli altri fattori da tenere presente riguardo i parametri della memoria sono la crescita prevista del sistema ed il numero di volumi logici necessari. È possibile impostare i parametri massimi del gruppo di volumi esattamente al valore necessario oggi al sistema. Tuttavia, se si desidera estendere il gruppo di volumi ad un altro disco – oppure sostituirne uno con un disco più grande – sarà necessario utilizzare il comando vgmodify. In confronto a casi senza LVM, non è stata osservata – nel tempo di inattività – alcuna conseguenza sull'utilizzo delle CPU. Con LVM, per eseguire le operazioni della cache di coerenza della scrittura di mirroring sono necessari dei cicli aggiuntivi di CPU, che è l'unica opzione configurabile che interessa l'uso delle CPU. I fattori seguenti influiscono direttamente sulle prestazioni di I/O attraverso LVM. Il criterio di pianificazione è rilevante solamente con il mirroring. Quando è utilizzato il mirroring, il criterio di pianificazione sequenziale richiede più tempo per le operazioni di scrittura, proporzionalmente al numero di copie in mirroring. Ad esempio, un volume logico con tre copie di dati richiede il triplo del tempo necessario ad eseguire un'operazione di scrittura utilizzando il criterio di pianificazione sequenziale rispetto a quello parallelo. Le richieste di scrittura sono sempre indirizzate ad un unico dispositivo. Con il criterio di pianificazione parallela, LVM indirizza le richieste di lettura al dispositivo meno occupato. Con il criterio di pianificazione sequenziale, LVM indirizza tutte le richieste di lettura al dispositivo mostrato a sinistra nell'output di lvdisplay –v. Lo scopo della cache di coerenza della scrittura di mirroring (Mirror Write Consistency – MWC) è di fornire l'elenco delle aree in mirroring che potrebbe non essere sincronizzate. Quando è attivato un gruppo di volumi, LVM copia tutte le aree con una voce nella MWC da una copia valida in tutte le altre. Questo processo garantisce che tutte le copie in mirroring siano coerenti, ma non la qualità dei dati. Ogni richiesta di scrittura ad un volume logico in mirroring che utilizza MWC, potenzialmente LVM introduce un'operazione aggiuntiva di scrittura seriale per mantenere la MWC. Il verificarsi di questa condizione dipende dal grado di casualità degli accessi. Più gli accessi sono casuali, maggiore sarà la probabilità di non scrivere nella MWC. Ottenere una voce della MWC può significare attendere che ne sia disponibile una. Se tutte le voci di MWC sono al momento utilizzate per degli I/O in corso, una data richiesta potrebbe attendere in coda, finchè non ne sarà disponibile una. Un'altra considerazione sulle prestazioni per i volumi logici in mirroring è il metodo per eliminare le incoerenze tra le copie in mirroring dopo un blocco anomalo del sistema. Sono disponibili due metodi di sincronizzazione: Mirror Consistency Recovery (MCR) e nessuno. La scelta di usare MWC dipende da quale aspetto delle prestazioni di sistema è più importante nel proprio ambiente, il tempo di attività o quello di ripristino. Ad esempio, un cliente che utilizzi il mirroring in un sistema database potrebbe scegliere "none" per il volume logico del database, perchè il meccanismo di registrazione del database offre già il ripristino di coerenza. Il volume logico utilizzato per il registro eventi usa MWC se è importante un tempo rapido di ripristino, oppure MCR se lo sono le prestazioni durante l'operatività. Il registro eventi di un database generalmente è utilizzato da un singolo processo e l'accesso è sequenziale, il che significa che le conseguenze sulle prestazioni saranno minime utilizzando MWC, dato che nella maggior parte dei casi sarà utilizzata la cache. Per le aree di un disco che sono più intensamente utilizzate da parte di più processi, HP consiglia di suddividere lo spazio dei dati di queste aree nel maggior numero possibile di volumi fisici. Il numero di gruppi di volumi è legato direttamente ai problemi di MWC. Dato che esiste solamente un'unica MWC per gruppo di volumi, quando la si usa, lo spazio su disco che è utilizzato per molte richieste di scritture brevi e casuali deve trovarsi in gruppi di volumi separati. Questa è l'unica considerazione riguardante le prestazioni che influisce sulla scelta del numero di gruppi di volumi da configurare. È possibile utilizzare questo fattore per fare rispettare la separazione di copie in mirroring differenti tra i canali di I/O. È necessario definire i gruppi di volumi fisici. Questo fattore aumenta la disponibilità diminuendo i singoli punti di avaria ed offre una maggiore velocità di I/O a causa della minore contesa di risorse a livello hardware. Ad esempio, in un sistema con molti dischi in ogni scheda e molte schede nel bus, creare dei gruppi di volumi fisici, in modo che tutti i dischi di un bus si trovino in un gruppo ed i dischi dell'altro bus in un altro gruppo. Questa configurazione garantisce che tutte le copie in mirroring siano create con dispositivi a cui si accede attraverso percorsi di I/O differenti. Lo striping dei dischi distribuisce i blocchi di dati logicamente contigui – come le parti del medesimo file – tra più dischi, per aumentare la velocità di trasferimento dati di I/O dei file di grande dimensione, durante la loro lettura o scrittura sequenziale (ma non necessariamente quando l'accesso è casuale). Lo svantaggio dello striping dei dischi è che la perdita di un solo disco può avere come conseguenza il danneggiamento di molti file, dato che i file sono volutamente spezzettati tra due o più dischi. Prendere in considerazione lo striping dei dischi nei filesystem in cui sono archiviati file di grande dimensione, se sono letti e scritti in sequenza e sono importanti le prestazioni di I/O. Quando si usa lo striping dei dischi, si crea un volume logico che occupa più dischi, consentendo che blocchi consecutivi di dati siano assegnati ad estensioni logiche in dischi diversi. Ad esempio, i dati di un volume logico con striping a tre vie sono allocati in tre dischi, in cui ogni disco contiene un blocco di dati ogni tre. La dimensione di ognuno di questi blocchi è definita dimensione dello stripe del volume logico. La dimensione dello stripe (in KB) deve essere una potenza di due, nell'intervallo da 4 a 32768 per un gruppo di volumi versione 1.0 ed una potenza di due nell'intervallo da 4 a 262144 per uno di versione 2.0. Lo striping dei dischi può migliorare le prestazioni delle applicazioni che leggono e scrivono file di grande dimensione a cui si accede in sequenza. L’accesso ai dati avviene contemporaneamente in più dischi, con una conseguente diminuzione del tempo necessario rispetto alla stessa operazione eseguita in un singolo disco. Se tutti i dischi in striping dispongono di un proprio controller, ognuno di essi potrà elaborare i dati contemporaneamente. Per gestire i dischi in striping è possibile utilizzare i comandi standard. Ad esempio, con i volumi logici in striping i comandi lvcreate, diskinfo, newfs, fsck e mount funzioneranno tutti normalmente. Le seguenti linee guida, la maggior parte delle quali vale per l’uso del disco LVM in generale, si applicano in particolare ai volumi logici su cui si è eseguito lo striping per motivi di prestazioni:
La dimensione dello stripe del volume logico identifica quella di ciascun blocco di dati che compongono lo stripe. È possibile impostare la dimensione dello stripe ad una potenza di due, nell'intervallo da 4 a 32768 per un gruppo di volumi versione 1.0, oppure ad una potenza di due nell'intervallo da 4 a 262144 per uno di versione 2.0. Il valore predefinito è 8192.
La dimensione dello stripe da assegnare al il volume logico con striping dipende da come sarà utilizzato. Per i migliori risultati, seguire queste linee guida:
Per stabilire la dimensione ottimale dello stripe in una data situazione, potrebbe essere necessario sperimentare. Per modificare la dimensione dello stripe, sarà necesario creare nuovamente il volume logico. Il mirroring di un volume logico in striping migliora le prestazioni di I/O in lettura esattamente come per un volume logico non in striping. Le richieste di I/O in lettura simultanee indirizzate ad una singola estensione logica sono eseguite da due o tre volumi fisici, invece di uno. Un volume logico in striping ed in mirroring segue un criterio di allocazione stretta; cioè i dati in mirroring si trovano sempre in volumi fisici differenti. La separazione dei canali di I/O è un approccio alla configurazione di LVM la quale richiede che le copie in mirroring dei dati si trovino in dischi LVM a cui si accede usando adattatori bus host – HBA – e cavi separati. La separazione dei canali di I/O fornisce una migliori prestazioni e maggiore alta disponibilità riducendo il numero di potenziali singoli punti di avaria. Eseguendo il mirroring dei dati in due dischi separati, ma con una sola scheda, un guasto alla scheda riguarderà il sistema. È possibile separare i canali di I/O in un sistema con più adattatori bus host ed un singolo bus, eseguendo il mirroring con più adattatori. È possibile separare ulteriormente i canali utilizzando il criterio di allocazione GdVF-stretta, la quale richiede il mirroring delle estensioni logiche in gruppi di volumi fisici separati. I gruppi di volumi fisici sono sottogruppi di volumi fisici all'interno di un gruppo di volumi. Un file ASCII, /etc/lvmpvg, contiene tutte le informazioni di mappatura del gruppo di volumi fisici, ma la mappatura non è memorizzata nel disco. Per i gruppi di volumi fisici non esiste una convenzione fissa per i nomi; è possibile chiamarli GdVF0, GdVF1 e così via. Il file /etc/lvmpvg è creato ed aggiornato con i comandi vgcreate, vgextend e vgreduce, ma è possibile modificarlo con un editor testuale. La separazione dei canali di I/O è utile per i database, dato che migliora la disponibilità – LVM è più flessibile nella lettura di dati nelle estensioni logiche più accessibili – portando così a migliori prestazioni. Definendo i gruppi di volumi fisici con più dispositivi di I/O, si previene la perdita di dati, anche in caso di guasto ad un adattatore bus host. quando si usano i gruppi di volumi fisici, valutare l'utilizzo di un criterio di allocazione GdVF-stretta per i volumi logici. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||