Configuração ideal do disco para o SQL Server

3

Eu tenho um total de 8 discos físicos que eu posso usar (não incluindo 2 para o SO espelhado) para um SQL Server razoavelmente alto.

Ele é usado para servir um aplicativo da Web (Win2k3, IIS6, ASP.Net), que tem um uso bastante pesado (400 mil usuários) com uma proporção razoavelmente uniforme de escrita e leitura. No entanto, o banco de dados não é muito grande (ainda) - atualmente em torno de 10G.

Meu pensamento inicial é dividir as unidades de banco de dados da seguinte maneira:

  • Hardware Raid-5 (3 discos) para dados
  • Hardware Raid-5 (3 discos) para logs
  • Disco único para tempdb
  • Disco único para backups no servidor

Essencialmente, estou procurando o melhor desempenho reduzindo a contenção de disco entre diferentes gravações (TempDB, Logs e Dados).

Eu ficaria curioso em saber se essa parece ser a melhor configuração, ou se você configurou o layout do disco de maneira diferente.

Poderíamos gastar mais £ 5k por uma configuração Raid externa para permitir que o Tempdb & backups para ser RAID'ed também, mas eu acho que é um pouco de overkill.

Alguma opinião?

    
por Dave Beer 16.09.2009 / 21:18

5 respostas

4

Você deve usar RAID 1 ou 10 se o espaço em disco não for o seu principal problema, porque eles são um lote mais rápido que o RAID 5, especialmente para gravações; Além disso, o RAID 5 é completamente inútil, com apenas 3 discos, fica cada vez mais útil quanto maior o número de matrizes.

Eu também evitaria usar um único disco não-raid para tempdb: se ele quebrar você não perderá nada, mas seu servidor ficará inativo até que você possa substituí-lo.

Eu configuraria os discos em 3 volumes RAID 1 de 2 discos cada, um para dados, um para logs de transação e um para tempdb; isso deixa um disco, que você pode usar para RAID o volume de backup ou como um hot spare global; Eu evitaria transformar o volume de dados em um RAID 5, pois isso tornaria mais lento .

Se você precisar de mais espaço para dados e puder lidar com a perda de tempdb, poderá usar 4 discos em RAID 10 para dados, 2 discos em RAID 1 para logs de transação e um único disco para tempdb.

Não é provável que você precise de mais de dois discos RAID 1 para os logs de transações: eles não devem crescer muito se você os fizer backup regularmente; e você deveria.

    
por 16.09.2009 / 21:36
2

Leia este por Kendal Van Dyke , não só tem muitos links para artigos excelentes, como também explica as possíveis configurações e implicações de desempenho.

Eu faria algo assim, mas isso dependeria dos recursos de hardware e carga do seu servidor.

  • Hardware Raid-5 para dados
  • Hardware Raid-5 para logs
  • Raid 5 (ou 1) para Tempdb
  • Raid 1 para backups no servidor
por 16.09.2009 / 23:39
1

O RAID 10 é mais rápido que o RAID 5. Fora isso, a especificação não parece tão ruim.

    
por 16.09.2009 / 21:26
0

Eu também recomendaria o RAID10. A única desvantagem é que você precisa de um mínimo de 4 discos por matriz RAID10, para que você fique preso sem uma matriz dedicada para o Tempdb e nos backups do servidor (supondo que você coloque os arquivos db e os arquivos de log em sua própria matriz). / p>

Então você terá:

RAID1 (2 drives) = binários OS e SQL; RAID10 (4 unidades) = arquivos DB; RAID10 (4 drives) = arquivos de log; Tempdb =?; No backup do servidor =?

    
por 16.09.2009 / 21:36
0

Eu ficaria tentado a fazer o seguinte:

  • Raid 10 arquivo de dados do banco de dados do usuário (4 discos)
  • Raid 1 Arquivo de log do banco de dados do usuário (2 discos)
  • Raid 1 bancos de dados TempDB e System (2 discos)

Backup na rede para outro servidor, se possível.

Vá de 64 bits com pelo menos 8 GB de RAM.

    
por 19.09.2009 / 19:25