Cluster do Windows para o sql 2008 r2

1

Atualmente, tenho um servidor sql com alto uso de cpu. Existem toneladas de leituras e gravações acontecendo continuamente.

A máquina é um Dual Xeon E5645 @ 2.4GHz com 48GB de memória RAM e usando unidades SSD no RAID 5.

Eu gostaria de reforçar a potência para nossa instância do SQL. Estamos pensando em adquirir um servidor de 4 cpu com Xeons na faixa de 3GHz +.

No entanto, estamos debatendo em quem usar o clustering do Windows. Em seguida, basta configurar o cluster para ser executado na máquina 1 e adicionar mais máquinas conforme a carga de trabalho exigir.

Isso seria uma solução viável? ou seria apenas ter a única máquina suficiente? Eu não deveria me preocupar com um cluster de 2008?

Aqui estão alguns dados do servidor usando a consulta.

SELECT DB_NAME(fs.database_id) AS [Database Name], mf.physical_name, io_stall_read_ms, num_of_reads,
CAST(io_stall_read_ms/(1.0 + num_of_reads) AS NUMERIC(10,1)) AS [avg_read_stall_ms],io_stall_write_ms, 
num_of_writes,CAST(io_stall_write_ms/(1.0+num_of_writes) AS NUMERIC(10,1)) AS [avg_write_stall_ms],
io_stall_read_ms + io_stall_write_ms AS [io_stalls], num_of_reads + num_of_writes AS [total_io],
CAST((io_stall_read_ms + io_stall_write_ms)/(1.0 + num_of_reads + num_of_writes) AS NUMERIC(10,1)) 
AS [avg_io_stall_ms]
FROM sys.dm_io_virtual_file_stats(null,null) AS fs
INNER JOIN sys.master_files AS mf
ON fs.database_id = mf.database_id
AND fs.[file_id] = mf.[file_id]
ORDER BY avg_io_stall_ms DESC OPTION (RECOMPILE);
    Database Name   io_stall_read_ms    num_of_reads    avg_read_stall_ms   io_stall_write_ms   num_of_writes   avg_write_stall_ms  io_stalls   total_io    avg_io_stall_ms
    RViewWf          19751827778        232140460             85.1             7254139          1444051                 5.0         19759081917 233584511   84.6

O que todos sugerem?

    
por Prescient 12.02.2013 / 16:51

3 respostas

5

O nome completo do Windows Clustering é o Cluster de Failover do Windows. Não são instâncias de banco de dados ativas / ativas. Não parece que é o que você está procurando. O servidor MSSQL não faz sharding nem nada disso. Ele "escala" em vez de "escalar" por assim dizer.

    
por 12.02.2013 / 16:54
2

O cluster de failover do Windows oferece alta disponibilidade para recursos clusterizados (serviços, aplicativos, máquinas virtuais). Não fornece "compartilhamento" de carga de trabalho.

    
por 12.02.2013 / 17:33
0

Em vez de vincular vários discos a um RAID distribuído no próprio sistema (usando um único controlador, que é onde você obtém o seu hit perf), talvez seja melhor usar um arranjo de SAN, para que seus discos sejam executados por redundância controladores otimizados para transferência de dados. Naturalmente, as soluções de SAN podem ser caras, por isso dependeria da quantidade de dados que você está tentando gerenciar (e de quão valiosa ela é).

A maioria dos SANs pode configurar matrizes RAID de vários tipos. Dependendo de quão redundante você quer que as coisas sejam, você pode rodar com RAID 0 + 1 (duas matrizes distribuídas sem paridade, espelhadas umas às outras) para que você não obtenha o desempenho de paridade atingido se uma unidade falhar. Ou você pode configurar o RAID 5 + 1 (com ou sem um hot spare) para adicionar uma camada extra de redundância.

    
por 12.02.2013 / 17:38