Disk Alignment

L'implementazione di un database server inizia molto prima del setup ed una delle attività molto spesso sottovalutate è la creazione della partizione e la formattazione del disco su cui saranno posizionati i file di database.

Mi capita raramente, anche in ambienti di grandi dimensioni, di trovare un sistema ottimizzato anche da questo punto di vista e porre rimedio a questi errori iniziali è spesso impossibile su un sistema già in produzione.

Diverse fonti riportano benefit che arrivano facilmente a superare il 20-30% nelle attività di IO quando viene realizzato il Disk Alignment. Che cosa è il Disk Alignment è spiegato molto efficacemente in questo post.

Purtroppo a contribuire alla mancata applicazione di questa best practice è il fatto che fino a Windows Server 2003 R2 l'utilizzo del Disk Management per creare una partizione non realizza il Disk Alignment. Occorre quindi creare la partizione utilizzando DiskPart.exe come indicato in questo link che sebbene rivolto ad Exchange è in tutto e per tutto applicabile anche a SQL Server.

Come fare a sapere se è stato realizzato il Disk Alignment? In teoria ci sarebbe lo stesso Diskpart.exe ma dal momento che restituisce il risultato arrotondato al kb viene meno la precisione che invece richiediamo a questo tipo di indagine attività. Uno dei metodi sicuramente più attendibili del Diskpart.exe è utilizzare WMIC come indicato in questo articolo.

Nell'illustrazione qui sotto si vede un esempio di utilizzo

Dividendo il valore nella colonna StartingOffset per quello in BlockSize si evince che le partizioni allineate sono solo quelle relative al Disk 2, al Disk 6 e al Disk 7, ovvero quelle dove il risultato di StartigOffset / BlockSize è 64 o un multiplo di esso.

Bye

 

 

Attachment: DiskAlignment.JPG
Published giovedì 26 febbraio 2009 10.11 by lbianchi
Filed under: ,

Comments

# re: Disk Alignment

venerdì 6 marzo 2009 9.13 by david

Nel caso in cui l'istanza di SQL Server sia virtualizzata, le considerazioni fatte in questo post sono ancora valide o diventano superflue?

# re: Disk Alignment

sabato 7 marzo 2009 21.47 by lbianchi

Certo. Il disallineamento dei settori deriva da una "caratteristica" del sistema operativo e non dell'hw. Pertanto sia in un ambiente fisico che in uno virtuale (e sia con un disco logico che con un raw disk) resta consigliabile creare la partizione con DISKPART.exe

# Disk Alignment best practice

mercoledì 13 maggio 2009 9.01 by SQL Server e dintorni

Ho parlato dell'importanza del disk alignment giusto poco tempo fa in questo post . In quel post

# Disk Partition Alignment | hilpers

martedì 9 giugno 2009 18.06 by Disk Partition Alignment | hilpers

Pingback from  Disk Partition Alignment | hilpers