Questa è una grande domanda "dipende".
Non posso rispondere a come creare la singola domanda di array RAID per te, poiché non sono un esperto di archiviazione, ma posso aiutarti con il resto.
La prima cosa che devi considerare è qual è il carico di lavoro sui vari database: OLTP (lettura / scrittura) o DSS / DW (lettura per lo più). Per i carichi di lavoro in lettura / scrittura, dovresti guardare RAID 1 o RAID 10 (RAID 1 + 0), in quanto forniscono ridondanza e ottime prestazioni di lettura / scrittura. Per i carichi di lavoro prevalentemente a lettura è possibile utilizzare RAID 5. Il motivo per cui RAID 5 non deve essere utilizzato per i carichi di lavoro in lettura / scrittura è che si paga una penalità per le prestazioni in scrittura.
I registri delle transazioni, per loro stessa natura, sono in lettura / scrittura (o in gran parte in scrittura, a seconda che si stia utilizzando il registro delle transazioni per qualsiasi cosa, ad esempio backup dei registri o replica) e quindi non devono mai essere inseriti in RAID 5.
Ciò significa che per alcuni database e carichi di lavoro, potresti avere file di dati su RAID 5 e file di log su RAID 1/10 e per altri database potresti avere tutto su RAID 1/10. Andando oltre, se si dispone di un database partizionato, potrebbe contenere alcuni dati di lettura e lettura / scrittura, eventualmente anche all'interno della stessa tabella. Questo può essere suddiviso in filegroup separati e quindi ciascun filegroup ha un livello RAID appropriato.
La separazione dei database effettivi dipende nuovamente dal carico di lavoro e dalle capacità del sottosistema IO sottostante. Ad esempio, potrebbe essere necessario un livello di separazione più elevato per l'archiviazione su singoli array RAID rispetto a una SAN.
Tempdb è un caso speciale tutto da solo, in quanto di solito è un database pesantemente caricato e deve essere archiviato separatamente dagli altri database. I database di sistema non devono essere utilizzati pesantemente e possono essere posizionati ovunque purché vi sia ridondanza.
Ecco un link a un white paper che ho aiutato a scrivere che dovrebbe aiutarti: Physical Database Storage Design . Assicurati inoltre che il tuo sottosistema IO sia in grado di gestire il carico di lavoro previsto. Consulta questo white paper: Best Practices I / O Predeployment . Infine, assicurati di utilizzare la dimensione di striping RAID corretta (in genere 64 KB o superiore su sistemi più recenti), la dimensione dell'unità di allocazione NTFS corretta (in genere 64 KB) e che su sistemi precedenti a Windows Server 2008, imposti correttamente l'offset della partizione del disco . Per informazioni su questi e suggerimenti per ulteriori informazioni su di essi e perché dovresti configurarli in questo modo, vedi questo post sul blog: Gli offset della partizione del disco, le dimensioni della striscia RAID e le unità di allocazione NTFS sono impostate correttamente? .
Linea Bototm: conoscere il carico di lavoro e le capacità del sottosistema IO e quindi implementare di conseguenza.
Spero che questo ti sia di aiuto.
PS Per quanto riguarda tempdb, è una grande quantità di worm su come configurarlo e ci sono tutti i tipi di informazioni contrastanti. Ho scritto un post completo sul blog sulla configurazione del file di dati tempdb a Misconceptions intorno a TF 1118 .