Conexão de hardware de alta disponibilidade / failover

2

Estou aprendendo sobre técnicas de clustering e alta disponibilidade e deparei com um artigo sobre como configurar uma rede com um par de servidores, usando o DRBD para replicação e heartbeat para monitoramento e failover. O artigo afirma que eu deveria ter 2 NICs em cada servidor: ambos eth0 vão para LAN e ambos eth1 devem estar conectados uns aos outros através de um cabo cruzado, como nesta imagem:

Descriçãodaimagemnoartigo:

Toensureautomaticfailover,theheartbeatmonitorstheprimaryserverasfollows:1.Thesecondaryservercontinuouslymonitorstheconnectiontotheprimaryserveroverthecrosscableconnectingthetwoservers.Iftheprimaryisnotaccessible,thenthesecondaryassumestheprimarystatus.2.Theprimaryservercontinuouslymonitorsconnectionstoahighlyavailablenetworkdevicesuchastherouter.Ifthenetworkdeviceisnotaccessible,thenitrelinquishescontroltothesecondaryserver.Thefailoveristhusautomaticincaseofthefollowingscenarios:1.Networkfailoverfortheprimary2.Hardwarefailuresuchaspowersupply,CPU,RAMetc.

Issolevantouaseguintequestão:

Seoheartbeatnoservidorsecundário/passivoestivermonitorandooprimárioatravésdoeth1,oqueaconteceseoeth1falharemalgumdosservidores?

Parece-mequeobatimentocardíacovaipensarqueoprimárioestámortoeativaráosecundário.Issonãocriariaumacondiçãode"dividir o cérebro"? Como o servidor principal ainda está conectado à rede local por meio da eth0 e funcionando, foi apenas o link de pulsação / replicação (eth1) que foi interrompido. Então, agora teríamos dois servidores ativos ao mesmo tempo?

Eu ainda estou segurando o conceito, por favor, desculpe-me se eu estou falando bobagem.

    
por Fractalizer 03.10.2014 / 22:31

1 resposta

2

O artigo que você está lendo provavelmente está muito desatualizado. Usar o Heartbeat para gerenciamento de recursos (parar e iniciar recursos após o failover) foi preterido desde cerca de 2008. Pacemaker é a nova solução padrão para recursos do Linux-HA gestão. No entanto, o Pacemaker ainda requer algo para lidar com a comunicação do cluster. Para a camada de comunicação você ainda pode usar o Heartbeat , mas a solução mais popular atualmente é Corosync .

Quanto à sua pergunta original, a resposta curta é sim. Se você interromper a rede que está carregando as comunicações do cluster, isso pode resultar em um cérebro dividido, a menos que você utilize o STONITH, Qual você deve! . Bons artigos sobre por que você precisa do STONITH podem ser encontrados aqui e aqui .

STONITH à parte, tanto o Heartbeat quanto o Corosync têm suporte para redes / links redundantes. Isso significa que você pode utilizar várias interfaces para garantir que a falha de uma única interface não interfira nas comunicações do cluster.

Espero que isso ajude!

    
por 04.10.2014 / 00:37