AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 217644
Accepted
Pixelated
Pixelated
Asked: 2018-09-15 08:21:21 +0800 CST2018-09-15 08:21:21 +0800 CST 2018-09-15 08:21:21 +0800 CST

Failover e quórum do Grupo AG

  • 772

Temos um AG de 4 nós configurado em dois data centers usando 4 réplicas com uma testemunha de compartilhamento de arquivos. Os nós 1 e 2 estão no datacenter 1 e os nós 3 e 4 no datacenter 2. O nó 1 é primário e está configurado para confirmação síncrona com failover automático para o nó 2 no mesmo datacenter. O nó 1 é configurado para confirmação assíncrona para os nós 3 e 4 no datacenter 2. A ponderação do nó é configurada para um para os nós 1 e 3 (nó principal em cada datacenter) e zero para os nós 2 e 4.

Por favor, alguém pode me dizer qual seria o comportamento se tivéssemos um SQL Server inesperado desligado no nó 1?

O AG tentaria fazer failover para o nó 3 no data center 2 devido à ponderação do nó, falharia e não tentaria fazer failover para outras réplicas. Ou o grupo AG ignoraria o nó 3 por ser assíncrono e tentaria fazer failover para a primeira réplica síncrona com failover automático com base na lista do proprietário preferencial?

availability-groups sql-server-2016
  • 2 2 respostas
  • 340 Views

2 respostas

  • Voted
  1. Alex S
    2018-09-20T04:51:33+08:002018-09-20T04:51:33+08:00

    A configuração descrita no tópico original é um pouco estranha. Existem dois grupos de recursos SYSTEM (CNO, CNO_VIP1, CNO_VIP2, FSW ) e AG (LISTENER, LISTENER_VIP1, LISTENER_VIP2, AG).

    Esses dois grupos de recursos podem pertencer a diferentes nós WSFC. Por exemplo , SYSTEM é de propriedade do nó do DC 2 e AG é de propriedade do nó do DC 1 . Neste caso, se o link entre DC1 e DC2 estiver quebrado:

    • Então DC1 terá apenas 1 voto (NODE1)
    • Então DC2 terá apenas 2 votos (NODE3 + FSW)

    De acordo com a configuração de quórum, a parte DC 2 ficará viva (devido à maioria dos votos) e a DC 1 morrerá (devido à minoria de votos). Mas assim que a sincronização entre DC1 e DC2 for assíncrona, não haverá failover automático para DC2.

    Assim, você terminará com a situação quando o DC2 estiver ativo, mas não puder lidar com a carga de trabalho do banco de dados, porque o AG aguardará a intervenção manual (allow_data_loss).

    Para evitar tal situação, você precisa atribuir votos assim

    DC1:

    • NÓ1: 1

    • NÓ2: 1

    SINCRONIZAÇÃO ASYNC

    DC2

    • NÓ3: 0

    • NÓ4: 0

    Nessa configuração, o AG fará failover para o NODE2 (DC1).

    É melhor você explicar o propósito do DC2. É o DC de recuperação de desastres ou você precisa dele para escala de leitura ou ambos?

    • 2
  2. Best Answer
    Shanky
    2018-09-15T10:34:49+08:002018-09-15T10:34:49+08:00

    Por favor, alguém pode me dizer qual seria o comportamento se tivéssemos um SQL Server inesperado desligado no nó 1?

    O failover aconteceria e o failover estaria de acordo com a ordem em que os nós foram adicionados aos grupos de disponibilidade e configurados para failover automático. Como abaixo (Todas as imagens retiradas deste blog do MSDN

    insira a descrição da imagem aqui

    Este é o SQL Server 2016, onde você tem a opção de definir 3 réplicas com failover automático. Agora, o usuário adicionou réplicas de modo que o Nó 2 e o Nó 3 foram adicionados um após o outro. Agora, neste caso, se o Node1 ficar inativo, ele fará o failover para o Node 2. A sequência exata de failover pode ser vista na GUI do WSFC. Para este AG seria como abaixo

    insira a descrição da imagem aqui

    Isso informa a sequência de failover automático. se o nó 1 ficar inativo, ele fará failover automaticamente para o nó 2 e, se o nó 2 ficar inativo, fará failover automaticamente para o nó 3, assumindo que o WSFC estava ativo e fez o failover corretamente.

    O AG tentaria fazer failover para o nó 3 no data center dois devido à ponderação do nó, falharia e não tentaria fazer failover para outras réplicas. Ou o grupo AG ignoraria o nó 3 por ser assíncrono e tentaria fazer failover para a primeira réplica síncrona com failover automático com base na lista do proprietário preferencial?

    O peso do nó não entraria em cena aqui. Eu não tenho ideia de como você configurou o AG, então vá em frente, olhe para a GUI do cluster e você pode ver a ordem em que ele faria o failover.

    Como falamos sobre o peso do nó, sugiro que você mantenha o peso do nó para réplicas de DR como 0, isso fará com que o número de votos no cluster seja ODD. 2 nós em DC e 1 testemunha FS. Você não gostaria que DR participasse da votação que está em algum lugar longe e dificilmente tem ideia

    • 1

relate perguntas

  • AlwaysOn AG, DTC com failover

  • Bancos de dados fora do grupo de disponibilidade AlwaysOn travados no status RESTORING [fechado]

  • Os bloqueios em bancos de dados secundários somente leitura se propagam para o banco de dados de leitura/gravação

  • Nó preferencial para leitura no Grupo de Disponibilidade em uma configuração multisite

  • Como determinar se a configuração de alta disponibilidade está funcionando corretamente

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve