Para virtualizar ou não virtualizar

2

Aviso: Sou um desenvolvedor e sei muito pouco sobre a configuração de servidores, mas em pequenas lojas, as responsabilidades tendem a piorar.

Acabamos de criar um novo servidor para executar o SQL Server e estamos tentando decidir como alocar melhor as responsabilidades para diferentes servidores. Também temos um monte de serviços Windows leves que atualmente são executados no mesmo servidor do SQL Server. Em comparação, o SQL Server funciona muito mais do que todos os serviços do Windows combinados, por isso estamos tentando maximizar a quantidade de recursos alocados a ele.

Estamos considerando a execução de dois ambientes virtuais no novo servidor, um para o SQL Server e outro para o Windows Services. Isso nos dá alguma vantagem sobre a execução de tudo no mesmo servidor físico sem virtualização? A ideia é que, se pudermos criar um ambiente virtual com recursos limitados para o Windows Services, a maioria dos recursos poderá ser dedicada ao ambiente do SQL Server, mesmo quando os Serviços do Windows tiverem um aumento nas necessidades de recursos.

Neste ponto, não há opção para executá-los em servidores físicos separados.

    
por Stefan Moser 28.09.2009 / 22:14

6 respostas

3

Em termos de desempenho, isso realmente aumenta a carga no seu servidor. Você ainda está executando um hipervisor de algum tipo, que ocupa CPU / RAM etc. Além disso, o Windows é perfeitamente capaz de equilibrar a carga de trabalho entre aplicativos.
No entanto, eu concordo com Jes, que fornecerá isolamento entre seu SQL ambiente e o resto dos seus serviços do Windows, mas

  • Com que frequência seus outros serviços pico?
  • Existem serviços em "desenvolvimento" que são periodicamente executados com bugs neles? ou seu SQL está fornecendo backend para um aplicativo de desenvolvimento?

Se seus serviços aumentarem com frequência ou você estiver desenvolvendo em "caixa", virtualizarei e obterá o impacto no desempenho em troca de maior estabilidade.

    
por 28.09.2009 / 22:45
3

Eu acho que, neste caso, você pode ser bem servido pela virtualização. Tenha em mente que estou familiarizado com o VMware (eu sei que existem outras opções). Usando o ESXi, você pode criar vários servidores e dividir seus aplicativos, assim você corre menos risco de que todos os aplicativos falhem se um deles travar o servidor. Além disso, você pode especificar seus limites de recursos (que é o que você quer), colocando limites na quantidade de recursos que os servidores básicos podem utilizar enquanto permite que o servidor SQL capture o máximo possível.

Jes

    
por 28.09.2009 / 22:29
2

Acho que virtualizar apenas quando você tem servidores que ficam ociosos a maior parte do tempo com um carregamento pequeno ou médio em parte do tempo. Não virtualize o sql server, a menos que seja um pequeno banco de dados com poucos usuários. Eu não virtualizaria servidores críticos se o seu produto de virtualização tivesse que rodar um sistema operacional completo. por exemplo. domínio, dns em um host completo.

Pode ser bom virtualizar quando você está executando ambientes de teste - você mencionou que é um desenvolvedor. No final, sua decisão. Acredito que os vários produtos, como vmware, permitem converter entre um sistema virtualizado e não para que você possa mudar de ideia mais tarde, se necessário. É apenas inconveniente se você já o tiver comissionado e os usuários estiverem usando-os.

    
por 28.09.2009 / 23:12
2

Executamos cerca de 65 servidores virtuais em nosso ambiente de 5 host ESX. Você estaria bem servido pela virtualização. Existem muitas ferramentas disponíveis para tentar ajudá-lo a "analisar" se os aplicativos são bons candidatos à virtualização.

Brent Ozar reuniu alguns recursos muito bons que podem ajudá-lo em sua jornada. Confira seu artigo sobre Melhores práticas de virtualização . Você verá links para os dois lados da moeda.

Você pode, é claro, sempre nos fazer mais perguntas se precisar de clareza ou ajuda.

    
por 29.09.2009 / 06:03
1

Uma coisa que você deve considerar, especialmente se estiver executando o Windows Server 2008, é instalar o Hyper-V e apenas virtualizar os serviços "extras" do Windows. Você pode instalar o SQL Server no próprio SO, obtendo desempenho total diretamente no hardware e, em seguida, executar seus serviços "leves" em VMs isoladas dentro do Hyper-V. A desvantagem aqui é que você precisará de várias licenças se estiver executando o Windows Server Standard ou precisará comprar o Windows Server Enterprise.

    
por 29.09.2009 / 01:30
0

Os recursos de hardware que você usaria apenas para executar o segundo Windows Server virtualizado provavelmente serão maiores que os recursos necessários para executar os "serviços leves" no cenário não virtualizado.

A execução de várias máquinas virtuais sempre acarretará um impacto no desempenho, já que a matemática simples indica que os recursos disponíveis são divididos entre x consumidores. Quanto maior o valor de x, menos disponível para cada consumidor.

    
por 29.09.2009 / 03:47