Centos7 implementa sistema dual Keepalived hot standby + cluster de alta disponibilidade LVS

1. Visão geral do Keepalived

Keepalived era originalmente uma ferramenta auxiliar poderosa projetada especificamente para LVS, usada principalmente para fornecer failover (Failover) e função de verificação de integridade (Verificação de integridade) - para determinar a disponibilidade do agendador de carga LVS, servidor de nó, isolamento e substituição oportunos O novo servidor se unirá novamente ao cluster quando o host com falha se recuperar. O site oficial do Keepalived está localizado em: http://www.keepalived.org/ . Quando usado em um ambiente de cluster não LVS, o Keepalived também pode ser usado como um software de backup dinâmico.

1. Método de backup a quente Keepalived

Keepalived adota o protocolo de backup ativo VRRP (Virtual Router Redundancy Protocol, Virtual Router Redundancy Protocol) para realizar a função de backup ativo de várias máquinas do servidor Linux no software. VRRP é uma solução de backup para roteadores - vários roteadores formam um grupo hot standby, que fornece serviços externos por meio de um endereço IP virtual público; cada grupo hot standby tem apenas um roteador principal fornecendo serviços ao mesmo tempo, e outros roteadores Em um estado redundante, se o roteador online falhar, outros roteadores assumirão automaticamente o endereço IP virtual (a prioridade determina a ordem de sucessão) para continuar a fornecer serviços.

2. Implantar backup ativo de sistema duplo Keepalived

1. Preparação

Nome da CPU sistema operacional endereço de IP
Programador mestre Centos7 192.168.1.1
Agendador secundário Centos7 192.168.1.2
Computador cliente Win7 192.168.1.88

2. Configure o servidor de despacho

主调度器与辅调度器步骤一样

1) Instale o software de suporte

挂光盘,并配置yum源

[root@master ~]# yum -y install keepalived ipvsadm
[root@master ~]# systemctl enable keepalived

2) Instale o serviço httpd

[root@master ~]# yum -y install httpd
为主调度器设置网页:
[root@master ~]# echo "<h1>This is master</h1>" > /var/www/html/index.html
为辅调度器设置网页:
[root@backup ~]# echo "<h1>This is backup</h1>" > /var/www/html/index.html

3) Faça backup do arquivo de configuração principal do Keepalived

[root@master ~]# cd /etc/keepalived/
[root@master keepalived]# cp keepalived.conf keepalived.conf.bak

Insira a descrição da imagem aqui

4) Edite o arquivo de configuração principal do Keepalived

主调度器上操作:

[root@master keepalived]# vi keepalived.conf
将原有数据删除,写入以下数据:
global_defs {
    
    
   router_id 1
}
vrrp_instance VI_1 {
    
    
    state MASTER
    interface ens33
    virtual_router_id 1
    priority 100
    advert_int 1
    authentication {
    
    
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
    
    
        192.168.1.188
    }
}
辅调度器上要稍作修改:
  router_id 1  改为  router_id 2
  state MASTER  改为  state BACKUP
  priority 100  改为  priority 99
其他一致即可

Insira a descrição da imagem aqui

5) Habilitar serviço

[root@master keepalived]# systemctl start keepalived
[root@master keepalived]# systemctl start httpd

Verifique se o VIP está neste servidor

[root@master keepalived]# ip a

Agendador principal: Agendador
Insira a descrição da imagem aqui
auxiliar:
Insira a descrição da imagem aqui
Como a prioridade do agendador auxiliar é menor que a do agendador principal, o IP virtual não está no agendador auxiliar, mas quando o agendador principal falha, o IP virtual vai derivar para o agendador auxiliar para acesso externo

3. Verificação

Durante este período, desconecte e conecte repetidamente à placa de rede do servidor principal para visualizar

1) Ping do cliente deriva do ip para testar

Se houver uma breve interrupção, ele será retomado. Indica que o hot backup de sistema duplo entra em vigor
Insira a descrição da imagem aqui

2) Acesso do cliente http para verificação

Se um conteúdo diferente for exibido, significa que terá efeito para
Insira a descrição da imagem aqui
abrir a placa de rede do agendador principal e visitar novamente:
Insira a descrição da imagem aqui

Três, cluster Keepalived + LVS

Você pode usar o ambiente do primeiro experimento para fazer o ajuste fino:
加两台Centos7机器

Nome da CPU sistema operacional endereço de IP
web-1 Centos7 192.168.1.3
web-2 Centos7 192.168.1.4

1. Configure o servidor de despacho

主调度器和辅调度器一致:

1) Exclua o serviço httpd no programador

[root@master ~]# systemctl stop httpd
[root@master ~]# yum -y remove httpd

2) Modifique o arquivo de configuração principal do Keepalived

[root@master ~]# vi /etc/keepalived/keepalived.conf
在后一行添加:
virtual_server 192.168.1.188 80 {
    
    
        delay_loop 15
        lb_algo rr
        lb_kind DR
        protocol TCP
        
                real_server 192.168.1.3 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
                real_server 192.168.1.4 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
}

Insira a descrição da imagem aqui

3) Carregue o módulo de serviço do kernel do sistema

[root@master ~]# modprobe ip_vs

4) Ver o status operacional dos módulos do sistema

[root@master ~]# lsmod | grep ip_vs

Insira a descrição da imagem aqui

5) Carregue o módulo ip_vs na inicialização

[root@master ~]# echo "modprobe ip_vs" >> /etc/rc.local
[root@master ~]# systemctl restart keepalived

Insira a descrição da imagem aqui

2. Configure a estratégia de cluster LVS-DR

  • Como Keepalived também usa interfaces virtuais, a fim de evitar conflitos de endereço, nenhuma ligação é necessária

主调度器与辅调度器都要做

1) Ajuste os parâmetros do kernel / proc

[root@master ~]# cat <<END >> /etc/sysctl.conf 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
END
[root@master ~]# sysctl -p

Insira a descrição da imagem aqui

2) Configure a estratégia de cluster LVS-DR

[root@master ~]# ipvsadm -A -t 192.168.1.188:80 -s rr
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.3 -g -w 1
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.4 -g -w 1
[root@master ~]# ipvsadm-save
[root@master ~]# systemctl enable ipvsadm
[root@master ~]# ipvsadm -ln

Insira a descrição da imagem aqui

3. Configuração do pool do servidor web

挂光盘,并配置yum源

1) O servidor web1 e o servidor web2 também estão configurados

[root@web-1 ~]# cat <<END >> /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.188
NETMASK=255.255.255.255
ONBOOT=yes
END
[root@web-1 ~]# systemctl restart network
[root@web-1 ~]# ip a

Insira a descrição da imagem aqui

2) Adicionar roteamento

[root@web-1 ~]# yum -y install net-tools       			  #安装路由工具
[root@web-1 ~]# echo "route add -host 192.168.1.188 dev lo:0" >> /etc/rc.local   #添加到开机自运行
[root@web-1 ~]# route add -host 192.168.1.188 dev lo:0    #临时添加
[root@web-2 ~]# route -n

Insira a descrição da imagem aqui

3) Ajuste os parâmetros do kernel / proc e desligue a resposta ARP

[root@web-1 ~]# cat <<END >> /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
END
[root@web-1 ~]# sysctl -p

Insira a descrição da imagem aqui

4) Instale o serviço httpd

Web1,Web2操作步骤一致

[root@web-1 ~]# yum -y install httpd
Web1测试页面:
[root@web-1 ~]# echo "This is web1" > /var/www/html/index.html
Web2测试页面:
[root@web-2 ~]# echo "This is web2" > /var/www/html/index.html
[root@web-1 ~]# systemctl enable httpd
[root@web-1 ~]# systemctl start httpd
[root@web-1 ~]# netstat -anpt | grep 80

4. Teste o cluster de alta disponibilidade lvs + Keepalived

1) Verifique se o balanceamento de carga LVS está normal

Visite 192.168.1.188 no navegador do cliente para ver se você pode mudar a página da web
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
ou usar a instrução for loop para testar:

[root@backup ~]# for i in $(seq 10);do curl http://192.168.1.188;done

Insira a descrição da imagem aqui

2) Verifique se o backup ativo de sistema duplo Keepalived é normal

Feche o programador mestre LVS, se o cliente pode acessar a página da web normalmente
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_46902396/article/details/108922030
Recomendado
Clasificación