Qual seria a configuração ideal do disco para o SQL Server 2008 R2?

2

Temos um novo servidor Dell R710 que vem com a seguinte configuração de armazenamento:

8 x discos SAS 10k 6Gbps de 146 GB | 1 x Controlador Integrado Perc H700 (2 x 4 discos - 2 portas cada suportando 4 discos)

  1. Qual seria a configuração ideal se estivéssemos logo após o desempenho?

  2. Qual seria a configuração ideal se estivéssemos depois do desempenho, mas queríamos resiliência de dados?

  3. Como por 2 acima, mas com um disco em espera quente?

Pretendemos executar o Windows 2008 R2 e o SQL Server 2008 R2.

A maximização da capacidade de armazenamento não é uma preocupação primordial.

Tendo verificado a falha do servidor e outros recursos, meus pensamentos iniciais foram:

2 x discos no RAID 1 para o OS
4 x discos em RAID 10 para arquivos de dados
2 x discos em RAID 1 para logs de transação

Eu também pensei em colocar o tempdb nos discos de log de transações ou nos discos do SO?

    
por Kev 10.06.2010 / 14:42

3 respostas

0

Meu palpite seria:

  1. Apenas para desempenho: RAID 0 (isso seria visto como apenas 1 disco com um espaço de armazenamento total de 1168 GB;

  2. Para desempenho, mas com resiliência de dados: RAID 5 + 0 (Min. 6 discos necessários), ou você também pode optar por uma configuração RAID 1 + 0, criar 4 pares de RAID 1 e criar uma matriz de discos 4x2 no RAID 0;

                                     RAID 0
                                       ║
       ╔═════════════════╦═════════════╩═══════════╦══════════════════════╗
       ║                 ║                         ║                      ║
     RAID 1           RAID 1                    RAID 1                 RAID 1 
    (2x146GB)        (2x146GB)                 (2x146GB)              (2x146GB)
    

Para um espaço de armazenamento total de 584 GB, que será visto como um único disco por causa do recurso de decapagem do RAID 0.

Em 3, se você preferir ter um disco hot spare, o RAID 0 + 5 poderá ser útil.

EDIT # 1

Depois de ler sua sugestão para uma configuração de disco 2-4-2, acho que isso não seria necessário. Eu pessoalmente favoreceria uma configuração RAID 1 + 0 como acima ilustrado. Eu não acho que o ganho será tanto assim, já que você tem 8 discos da mesma velocidade. Isso teria sido diferente se você tivesse dois discos mais lentos que os outros 6, então eu teria considerado usar esses dois para o sistema operacional. Mas, a partir da situação atual, acho que o ganho seria negligenciável.

Além disso, é muito negociável se seus DBAs ou programadores criarem os índices corretos para os dados corretos em seu banco de dados. Tendo quatro discos que rapidamente se desfazem e garantindo a resiliência através do RAID 1, acredito que você não terá problemas dessa maneira.

Espero que isso ajude! =)

Isso ajuda?

    
por 10.06.2010 / 15:43
1

Eu tenho a mesma configuração - você pode encontrar algumas respostas aqui: 1 unidade lógica vs 2 drivers lógicos em 1 controlador RAID para separar dados de arquivos de log?

    
por 10.06.2010 / 15:12
1

Eu sei que essa é uma pergunta antiga, mas ainda é relevante.

Primeiro, algumas notas sobre desempenho. Como você mencionou, existem três "partes": arquivos de dados, arquivos de log e tempdb.

1) arquivos de dados: I / O geralmente aleatórios. Se for uma carga de trabalho de leitura pesada, o RAID 5 é uma boa escolha. Se houver gravações significativas, favor favor RAID 1 + 0

2) arquivos de log: geralmente gravações sequenciais. O RAID 1 + 0 é o ideal, mas provavelmente é um exagero, dadas as suas restrições, o que eu farei em breve. É melhor separá-los por motivos de desempenho e segurança ( link )

3) tempdb: geralmente é um gargalo significativo e requer muitas leituras / gravações aleatórias. Não precisa ser "seguro" porque o SQL o recria na inicialização.

Uma opção, como você usou, é configurar dois conjuntos de RAID 1 + 0. Arquivos de dados podem ir em um, arquivos de log e sistema operacional podem ir para o outro. Se o tempdb é melhor colocado no primeiro ou no segundo depende da sua carga de trabalho. Se a gravação for pesada, coloque-a com os dados (para que os arquivos de log não fiquem afunilados), mas se os arquivos de log não forem uma preocupação, é melhor colocá-los em tempdb.

Esta também seria uma opção segura porque muitas unidades precisam falhar para você perder dados.

Outra opção seria RAID 1 para os arquivos de log (2 discos). Então você pode usar RAID 1 + 0 / RAID 5 para os arquivos de dados (3-4 discos). Você pode dedicar os outros discos ao tempdb. Você não precisa usar o RAID 0, basta criar vários arquivos para tempdb e atribuir um a cada disco.

Se você quiser adicionar um hot standby, você está em um ponto complicado por causa do número de drives: RAID 1 + 0 requer um número par. Observe que o RAID 5 tem um pouco de risco de perda de dados durante a reconstrução porque é um processo demorado e porque é necessário calcular a paridade.

EDITAR Eu fiz mais algumas leituras, e o RAID 5 não é mais recomendado - não é tão seguro por causa da reconstrução. RAID 1 + 0 é realmente o caminho a percorrer. Veja, por exemplo: link (pp. 9-10 no PDF). Uma (de várias) fontes: link .

Notas universais

  1. evita que seus arquivos de log sejam fragmentados. Certifique-se de tamanho eles razoavelmente com um grande fator de crescimento automático. link

  2. verifique se as partições estão alinhadas corretamente.

There are two correlations which when satisfied are a fundamental precondition for optimal disk I/O performance. The results of the following calculations must result in an integer value:

Partition_Offset ÷ Stripe_Unit_Size

Stripe_Unit_Size ÷ File_Allocation_Unit_Size
http://technet.microsoft.com/en-us/library/dd758814(v=sql.100).aspx

  1. se possível, defina os tamanhos dos clusters para 64 KB
por 26.11.2013 / 16:31