Qual é a melhor maneira de configurar o 6 disk raid para o SQL Server + OS?

6

Estou configurando um SQL Server no Win 2k8 com o seguinte hardware:

  1. 6 x WD RE3 500G SATA
  2. PERC H700

Eu li alguns sugeriram que colocando arquivo de log e OS em seu próprio RAID1 enquanto o resto dos dados está no RAID10 seria a melhor configuração para 8 discos. No entanto, estou com menos de dois discos e me perguntando qual configuração seria tão boa.

Opção 1) 2 x RAID1 para OS e Logs, 4 x RAID10 para dados

Opção 2) 6 x RAID10 para OS, Logs e Dados

P.S. O particionamento do disco no RAID10 faz alguma diferença?

    
por BlueFox 29.07.2010 / 18:42

5 respostas

5

O ponto geral aqui é que ter dois conjuntos de arquivos em diferentes discos físicos (ou volumes RAID) torna as coisas muito mais rápidas quando ambos os conjuntos são acessados ao mesmo tempo; é por isso que o O.S. geralmente obtém seu próprio volume (faz um pouco de I / O por conta própria, e você não quer que ele diminua ao fazer um enorme trabalho com dados), e também é por isso que você geralmente deseja divida seus dados com base em seus padrões de uso.

Dito isso, um ponto ainda mais importante com o SQL Server é que os logs de transações geralmente não são acessados ao mesmo tempo que os arquivos de dados, separando os dois uma boa opção, mas também você precisará de pelo menos um -los se você quer ser capaz de realmente recuperar as coisas no caso de uma falha de hardware. Se você perder os logs de transação, basta criar outro conjunto, mas os dados reais estarão seguros ... e, se perder os dados, os registros de transação permitirão a recuperação do último backup até o ponto da falha. Se você perder dados e registros ao mesmo tempo, só poderá restaurar seu último backup, nada mais.

A melhor opção em seu cenário seria criar três volumes RAID 1, um para o O.S., um para os arquivos de banco de dados e um para os logs de transação. Eu sei que isso parece um grande desperdício de espaço (o sistema operacional não usa nenhum 500 GB e, portanto, os logs de transação se você seguir um plano de backup adequado), mas ajudará muito quando chegar para desempenho e recuperação. E, se você não precisar de mais de 500 GB de dados reais, ele funcionará muito para você.

Se você não puder fazer isso, use um volume RAID 1 para o O.S. e logs e um volume RAID 10 para os dados. Isso é o melhor que você pode fazer com o hardware que você tem. Mas, faça o que fizer, você realmente não deve colocar os dados e os logs no mesmo lugar.

Sobre várias partições: isso é totalmente inútil e pode até piorar as coisas. Três partições no mesmo disco (ou RAID) executam exatamente o mesmo que uma única partição (= mal) ou, pior ainda, devido a problemas de geometria do disco; e isso não ajuda na recuperação, porque no caso de uma falha de hardware, você perderá todos eles de qualquer maneira.

Ah, e para o seu próprio bem, nem mesmo pense em usar o RAID 5, se você se importar com o desempenho de gravação.

    
por 29.07.2010 / 19:27
5

Eu usaria a Opção 1 pessoalmente se você não puder adicionar 2 discos adicionais para um disco Raid 1 Log.

O particionamento para o RAID 10 oferece o seu espelho e distribuição para velocidade e redundância.

Esta pergunta foi feita e respondida em StackOverflow também. Talvez tenha as respostas que você está procurando.

    
por 29.07.2010 / 18:57
2

Você está certo de que 8 discos seriam melhores nessa situação, mas a coisa mais importante a considerar é que você deseja os logs em um disco diferente dos dados. Se você está realmente preso com apenas 6 e você precisa do espaço de dados de 4 discos, então eu ficaria tentado a colocar os logs em uma segunda partição no par OS R1. Isso não é ideal, pois os headers terão que se movimentar muito quando o log e o sistema operacional funcionarem, mas se você tiver bastante memória, o trabalho do sistema operacional deve ser bem baixo. Se você não precisa de muito espaço em disco, então que tal uma configuração 2 + 2 + 2?

    
por 29.07.2010 / 18:55
1
Pessoalmente, sou da opinião de que você deve separar as operações do SO das operações de log das operações do banco de dados, pois cada uma tem seus próprios padrões de disco I \ O exclusivos e não complementares. Os bancos de dados e logs nunca devem ser mantidos no mesmo array, exceto em implementações muito pequenas. O RAID10 é um pouco exagerado para os bancos de dados, a menos que seus bancos de dados \ aplicativos sejam muito intensivos em discos I \ O, IMHO. Eu poderia sugerir:

RAID1 = SO RAID1 = Logs RAID1 = Bancos de dados

    
por 30.07.2010 / 01:21
0

Na maioria das minhas configurações comuns, eu costumo ter um RAID1 para o sistema operacional; um RAID0 para material temporário e não essencial; e vários RAIDs para dados.

Se o cliente quiser o máximo de espaço em disco, esse último conjunto será 1 x RAID5; se eles estiverem mais preocupados com o desempenho, o último será 1 x RAID10; e se eles estão mais preocupados com a redundância, eu iria 2 x RAID1.

Geralmente tenho um segundo controlador para o volume de dados; às vezes alterando a prioridade de leitura para gravação em ambos, dependendo do perfil de uso do banco de dados (tendemos a favorecer o SO, Temp e Logs no Controlador 1, com 25% de leitura: 75% de gravação e os dados no Controlador 2, com 75% leia: 25% de gravação - essa é a natureza dos aplicativos que vendemos)

No seu caso, supondo que o PERC possa fazê-lo (tendo tendência a favorecer os HP SmartArrays), eu provavelmente iria com o seguinte:

  1. Crie o array A com 2 discos
  2. Crie o array B com 2 discos
  3. Crie o array C com 2 discos
  4. Crie o volume A1 no array A como RAID1 com aproximadamente 20-25% do tamanho total
  5. Crie o volume A2 no array A como RAID0 com o restante
  6. Crie o volume B1 no array B como RAID1 com todo o espaço disponível
  7. Crie o volume C1 na matriz C como RAID1 com todo o espaço disponível

Isso deve te dar (aprox):

  • C: \ RAID1-OS - 90 GB (deve ser suficiente para o sistema operacional, o SQL Server e um arquivo de paginação decente)
  • D: \ RAID0-TEMP - 790 GB (ideal para armazenamento temporário de backup, exportação temporária, etc.)
  • E: \ RAID1-DATA - 480 GB (arquivos MDF)
  • F: \ RAID1-LOGS - 480 GB (arquivos LDF)

Na minha opinião, porém, suas preocupações de desempenho provavelmente serão com os discos SATA. Eu nunca consegui fazer com que eles rodassem em qualquer lugar perto o suficiente para ficar estável, então eu sempre escolho pelo menos unidades SAS de 10K. Talvez eles tenham ficado muito melhores desde a última vez que os usei, então sua milhagem pode variar ...

    
por 30.07.2010 / 06:34