Volume compartilhado para dados (múltiplos MDF) e outro volume compartilhado para logs (múltiplos LDF) em San

StackOverflow https://stackoverflow.com//questions/12649589

Pergunta

Eu tenho 3 instâncias do SQL Server 2008, cada uma em diferentes máquinas com vários bancos de dados em cada instância.Eu tenho 2 luns separados no meu SAN para arquivos MDF e LDF.Os arquivos NDX e TEMPDB são executados na unidade local em cada máquina.É o.k.Para que as 3 instâncias compartilhem um mesmo volume para os arquivos de dados e outro volume para os arquivos de log?

Eu não tenho provisionamento fino na SAN, então eu gostaria de não resolver o espaço em disco criando vários volumes porque eu era recomendado que eu deveria criar um volume (letra de unidade) para cada instância, se não para cada banco de dados.Estou ciente de que devo dividir meus logs e arquivos de dados pelo menos.Nenhuma instância compartilharia os arquivos de banco de dados reais, apenas o espaço na unidade.

Qualquer ajuda é aprovada.

Foi útil?

Solução

Claro que a resposta é: "depende". Eu posso tentar dar-lhe algumas dicas sobre o que depende, no entanto.

Uma instância do SQL Server "assume" que tem acesso exclusivo aos seus recursos. Portanto, ele preencherá toda a RAM disponível por padrão, ele usará todas as CPUs e tentará saturar os canais de E / S para obter o desempenho máximo. Essa é a razão para o conselho geral manter suas instâncias de acesso simultaneamente os mesmos discos.

Outra coisa é que o SQL Server "sabe" que o acesso de E / S sequencial oferece trhoughput mais alto do que a E / S aleatória, portanto, há muitos mecanismos no trabalho (como organização de logfile, reader, escritor preguiçoso e outros) para evitar a E / S aleatória, tanto quanto possível.

Agora, se três instâncias do SQL Server solicitarem solicitações de E / S sequenciais em um único volume ao mesmo tempo, a partir da perspectiva do volume que você está recebendo solicitações de E / S aleatórias novamente, o que prejudica seu desempenho. .

Dito isto, é apenas um problema se o subsistema de E / S é um gargalo significativo. Se o seu volume de logfile for rápido o suficiente para que a sequência misturada grava a partir das instâncias, não crie um problema, vá em frente. Se você tiver RAM suficiente nas instâncias que os dados são lidos podem ser satisfeitos do cache do buffer na maioria das vezes, você não precisa de muito desempenho em seu subsistema de E / S.

O que você deve evitar em cada caso é várias etapas de crescimento em arquivos de log ou de dados. Se vários arquivos em um sistema de arquivos estiverem crescendo, você receberá fragmentação e fragmentação poderá transformar uma solicitação de leitura ou gravação sequencial, mesmo a partir de uma única fonte para a E / S aleatória novamente.

Toda a imagem muda novamente se você usar SSDs como discos. Estes têm requisitos e comportamento totalmente diferentes, mas desde que você não disse nada sobre o SSD, vou assumir que você usa uma configuração de matriz ou RAID baseada em disco "convencional".

Resumo curto: você pode se fugir, se as circunstâncias estiverem certas, mas é difícil avaliar sem saber muito mais sobre seus sistemas, tanto na perspectiva SAN quanto do SQL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top