Keepalived dual machine hot standby + cluster de alta disponibilidade LVS
- 1. Visão geral do Keepalived
- 2. Implantar backup ativo de sistema duplo Keepalived
- Três, cluster Keepalived + 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
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
其他一致即可
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
auxiliar:
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
2) Acesso do cliente http para verificação
Se um conteúdo diferente for exibido, significa que terá efeito para
abrir a placa de rede do agendador principal e visitar novamente:
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
}
}
}
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
5) Carregue o módulo ip_vs na inicialização
[root@master ~]# echo "modprobe ip_vs" >> /etc/rc.local
[root@master ~]# systemctl restart keepalived
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
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
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
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
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
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
ou usar a instrução for loop para testar:
[root@backup ~]# for i in $(seq 10);do curl http://192.168.1.188;done
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