none
win NLB com sql cluster ?? e possivel RRS feed

  • Pergunta

  • Pessoal, gostaria implementar uma arquitetura com:

    Windows com load balance ( 2 nós)

    SQL server 2008 R2 cluster com 2 instâncias em ativo/ativo sobre o win load balance

    a pergunta é, isso é possivel já que o serviço do SQl 2k3 R2 (pelo que li) não faz load balance.

    Mais uma pergunta que seria o sonho de consumo, o SQL 2012 esta fazendo grid , isso é verdade??

    Abraços.


    Luciano Montenegro

    quinta-feira, 19 de julho de 2012 18:50

Respostas

  • Boa Tarde,

    Infelizmente esses "boatos" sempre aparecem após o lançamento de alguma versão. Normalmente são oriundos de grandes expectativas, features muito desejadas e consultores de pré-venda desinformados.

    Embora o Windows tenha a funcionalidade de NLB, ela é destinada há alguns tipos de serviços (normalmente aqueles que não persistem dados, mas dependem apenas de processamento). Por isso é possível utilizar o IIS, Reporting Services, e outros serviços em NLB, mas o SQL Server, Exchange, File Server em modo ativo ativo para o mesmo recurso não é possível.

    Você consegue ter um cluster ativo ativo com SQL Server, mas somente uma instância em cada nó, o que significa dois nós ativos, porém em instâncias separadas. Essa confusão inclusive sugere rumores de que as próximas versões do Windows irão mudar essa nomenclatura de nó passivo, nó ativo, etc.

    SQL Server 2012 em GRID ? Bem, eu gostaria muito de ouvir que ele possui uma feature como essa, mas acredite, se fosse verdade já estaríamos escutando aos quatro cantos e não teríamos dúvida. O que há de novo em alta disponibilidade no SQL Server 2012 é o Always On que permite que o banco tenha réplicas (real time ou near real time) em read only. Isso permite escalar mais facilmente no sentido de que você pode escolher um servidor para receber as operações de escrita e optar por ler os dados em outro servidor diminuindo locks, contensão, etc. Isso permite você escalar comprando mais servidores ao invés de optar por um servidor mais parrudo.

    O recurso Always é o carro chefe da alta disponibilidade no SQL Server e uma das grandes novidades no SQL Server 2012 (uma evolução fantástica do Database Mirroring). Entretanto, ainda estamos longe de ter um GRID de fato. Isso não depende só do time de SQL Server, mas muito em conta do time de Windows, pois, o SQL Server faz uso intenso de suas funcionalidades e a mudança para um ativo ativo ou um GRID de verdade é bem mais intensa.

    Entretanto, independente disso, vale a pena conhecer as features do SQL Server 2012 no que tange a alta disponibilidade. Embora ele não tenha GRID, ele pode endereçar várias das suas necessidades. A opção de nuvem também é uma forma de garantir níveis elevados de disponibilidade abstraindo as complexidades de infraestrutura.

    Você pode obter mais informações sobre alta disponibilidade no SQL Server 2012 em:

    http://www.microsoft.com/sqlserver/en/us/solutions-technologies/mission-critical-operations/SQL-Server-2012-high-availability.aspx

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível


    quinta-feira, 19 de julho de 2012 19:43

Todas as Respostas

  • Boa Tarde,

    Infelizmente esses "boatos" sempre aparecem após o lançamento de alguma versão. Normalmente são oriundos de grandes expectativas, features muito desejadas e consultores de pré-venda desinformados.

    Embora o Windows tenha a funcionalidade de NLB, ela é destinada há alguns tipos de serviços (normalmente aqueles que não persistem dados, mas dependem apenas de processamento). Por isso é possível utilizar o IIS, Reporting Services, e outros serviços em NLB, mas o SQL Server, Exchange, File Server em modo ativo ativo para o mesmo recurso não é possível.

    Você consegue ter um cluster ativo ativo com SQL Server, mas somente uma instância em cada nó, o que significa dois nós ativos, porém em instâncias separadas. Essa confusão inclusive sugere rumores de que as próximas versões do Windows irão mudar essa nomenclatura de nó passivo, nó ativo, etc.

    SQL Server 2012 em GRID ? Bem, eu gostaria muito de ouvir que ele possui uma feature como essa, mas acredite, se fosse verdade já estaríamos escutando aos quatro cantos e não teríamos dúvida. O que há de novo em alta disponibilidade no SQL Server 2012 é o Always On que permite que o banco tenha réplicas (real time ou near real time) em read only. Isso permite escalar mais facilmente no sentido de que você pode escolher um servidor para receber as operações de escrita e optar por ler os dados em outro servidor diminuindo locks, contensão, etc. Isso permite você escalar comprando mais servidores ao invés de optar por um servidor mais parrudo.

    O recurso Always é o carro chefe da alta disponibilidade no SQL Server e uma das grandes novidades no SQL Server 2012 (uma evolução fantástica do Database Mirroring). Entretanto, ainda estamos longe de ter um GRID de fato. Isso não depende só do time de SQL Server, mas muito em conta do time de Windows, pois, o SQL Server faz uso intenso de suas funcionalidades e a mudança para um ativo ativo ou um GRID de verdade é bem mais intensa.

    Entretanto, independente disso, vale a pena conhecer as features do SQL Server 2012 no que tange a alta disponibilidade. Embora ele não tenha GRID, ele pode endereçar várias das suas necessidades. A opção de nuvem também é uma forma de garantir níveis elevados de disponibilidade abstraindo as complexidades de infraestrutura.

    Você pode obter mais informações sobre alta disponibilidade no SQL Server 2012 em:

    http://www.microsoft.com/sqlserver/en/us/solutions-technologies/mission-critical-operations/SQL-Server-2012-high-availability.aspx

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível


    quinta-feira, 19 de julho de 2012 19:43
  • Gustavo,

    Obrigado pela resposta, se não fosse muito qual sua visão quanto a latência na mudança de cluster, por exemplo, temos um cluster ativo/passivo (SQL)  , o ativo cai, o passivo assume, em uma aplicação de disponibilidade média com intensa atividade de escrita e leitura, como fica os dados nesta promoção de passivo para ativo, pq pergunto, e que o serviço no cluester deve parar para ser assumido por outro server, ou estou enganado, temos de fato uma parada no serviço momentâneamente, isso poderia derrubar as aplicações conectadas ?!

    Abraços.


    Luciano Montenegro

    quinta-feira, 26 de julho de 2012 14:50
  • Bom Dia Luciano,

    A mudança do serviço de um nó para o outro envolve uma parada para que o serviço possa subir no outro nó. Esse processo de FailOver (seja intencional ou uma reação ao incidente) irá fatalmente desconectar as aplicações, pois, o serviço foi derrubado para subir no outro nó. Aplicações serão desconectadas e terão que se reconectar novamente (por utilizar um nome virtual, não é preciso saber em qual nó o serviço está rodando).

    O tempo de mudança de um nó para outro é relativo. Em tese ele é bem rápido, mas a questão é que no momento em que o serviço é derrubado, o SQL Server precisa matar as transações em curso (mas não completadas) e efetuar o ROLLBACK para que o serviço e a base subam íntegros no outro nó. Se nesse momento vocês tiver muitas transações em aberto, as atividades de redo e undo podem provocar uma demora para que o serviço fique totalmente disponível do outro lado.

    No meu ambiente de produção atual (picos até 500 transações de negócio em um único segundo), esse tempo varia entre 30s e 3 minutos.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    sexta-feira, 27 de julho de 2012 12:05