Optimize disk configuration in SQL Server

Mi capita spesso di vedere unità di storage di 12 o 14 dischi configurate in un unico volume RAID5 perchè così è stato suggerito dal fornitore dell'hw (Indifferent) e capita anche spesso che nei newsgroup/forum vengano posti quesiti su come organizzare al meglio i dischi nell'implementazione di un database server.I suggerimenti, per forza di cose generici in assenza di una analisi più o meno approfondita, alla fine sono sempre gli stessi, ovvero quello di utilizzare un RAID1 se sono prevalenti le attività di scrittura ed utilizzare un RAID5 se si vogliono privilegiare le attività di lettura e posizionare su ciascun volume i file secondo la loro destinazione d'uso.

Questa mattina ho trovato questo articolo che penso possa tornare utile a molti. In particolare si legge nell'articolo che l'incremento della capacità dei dischi ha alcuni risvolti negativi sia per quanto riguarda i tempi di rebuild dell'unità RAID ma anche (soprattutto) nella distribuzione dell'IO.

Se ho bisogno di 1 TB di spazio posso decidere di acquistare 8 dischi da 150 GB ottenendo, configurandoli in RAID5, una capacità utile di (8-1) * 150 = 1050 GB; in alternativa potrei optare per acquistare 3 dischi da 500 GB ciascuno. In quest'ultimo caso, però, l'IO sarà ripartito su 3 dischi mentre con un numero di hard disk superiore, a parità di prestazioni di ciascun disco, otterrei performance decisamente migliori (e tempi di rebuild molto più bassi). Ovviamente queste considerazioni si scontrano con le necessità di memorizzare dati in quantità sempre crescenti e dal momento che l'unità fisica di storage ha un numero di slot ben delimitato non sempre è possibile utilizzare dischi di bassa capacità. Ma una scelta consapevole sulla ripartizione dei dischi che ci propone il fornitore è possibile farla... Wink

Buona giornata a tutti...

 

Published mercoledì 4 luglio 2007 8.33 by lbianchi
Filed under:

Comments

# re: Optimize disk configuration in SQL Server

giovedì 5 luglio 2007 10.56 by marco buttazzoni

Parole sante Luca!

Capita anche a me di vedere db server "generalisti" trattati alla stregua di un file server. Ed allora eccoci a predicare che i db server vanno pensati e costruiti "dal basso" ossia dallo storage e che non esiste una configurazione buona per tutte le occasioni.

Poi fai i conti di quanti array sarebbe bene avere (RAID 1 per SO e LOG, RAID 10 per i dati, RAID 5 per blob e backup,...) conti i dischi che ti servono e scopri che gli enclosure più di tanti non ne tengono...

E poi ci si mettono di mezzo SAN e LUN a complicare la faccenda, consentendoti di modificare la configurazione dinamicamente o quasi: insomma è proprio un bel mestiere.

Il guaio è che in genere uno prima si compra l'HW e poi te lo schiaffa davanti e devi arrangiarti. é raro riuscire a progettare applicazione e server assieme: ma quando ci si riesce è una gran bella soddisfazione!

Comunque sarebbe interessante parlare anche di controller e pianificazione dell'intero sistema di storage e non limitarsi solo agli HD: uno spunto per un prossimo workshop Ugiss? (visto che ieri non sono potuto venire a milano)

ciao

marco