Índice
2. Introdução ao meio ambiente
1. Função
Use keepalived para resolver o ponto único de falha de lvs
Cluster de alta disponibilidade
2. Introdução ao meio ambiente
1. Prepare 6 máquinas virtuais, 2 como mestres LVS e agendadores de backup, 2 como servidores web, 1 como armazenamento e 1 como verificação de cliente
2. Mestre LVS e mestre do agendador de backup (192.168.1.106) backup (192.168.1.110)
3.web1(192.168.1.120)web2(192.168.1.128)
4. Armazenamento (192.168.1.121)
5. Cliente (192.168.1.140)
6.IP virtual (192.168.1.156)
3. Etapas de operação
Implante o servidor web
e ajuste os parâmetros ARP de web1 e web2
vim /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
sysctl -p
web1 e web2 instalam http
yum -y instalar httpd
Web1 e web2 escrevem, cada um, um index.html para teste (/var/www/html/) diretório raiz do site httpd
echo "web1" >/var/www/html/index.html
echo "web2" >/var/www/html/index.html
web1 e web2 criam ip virtual
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
DISPOSITIVO=lo:0
IPADDR=192.168.1.156
NETMASK=255.255.255.255
ONBOOT=sim
NOME=loopback:0
Reinicie a placa de rede (você pode ver que a imagem abaixo foi criada com sucesso)
systemctl reiniciar rede
ip uma visualização
Adicione rotas de loopback a web1 e web2
rota adicionar -host 192.168.1.156/32 dev lo:0
rota -n visualização
habilitar httpd
systemctl iniciar httpd
Implante agendadores mestre e de backup LVS
e ajuste os parâmetros ARP de mestre e backup (consistente)
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
Instale o keepalived ipvsadm no mestre e no backup (consistente)
yum install -y keepalived ipvsadm
Configurar mestre keepalived (mestre de fonte vermelha e backup são inconsistentes)
vim /etc/keepalived/keepalived.conf
[Depois de entrar, exclua tudo, exceto a primeira linha]
global_defs { router_id LVS_DEVEL1 }
vrrp_instance master { state MASTER interface ens33 virtual_router_id 51 prioridade 100 advert_int 1 autenticação { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.156 } }
virtual_server 192.168.1.156 80 { delay_loop 6 lb_algo rr lb_kind DR #persistence_timeout 50 protocolo TCP
real_server 192.168.1.120 80 { peso 1 HTTP_GET { url { caminho / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.1.128 { peso 1 HTTP_GET { url { caminho / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
Configurar backup mantido ativo
global_defs { router_id LVS_DEVEL2 }
backup vrrp_instance { estado BACKUP interface ens33 virtual_router_id 51 prioridade 99 advert_int 1 autenticação { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.156 } }
virtual_server 192.168.1.156 80 { delay_loop 6 lb_algo rr lb_kind DR #persistence_timeout 50 protocolo TCP
real_server 192.168.1.120 80 { peso 1 HTTP_GET { url { caminho / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.1.128 80 { peso 1 HTTP_GET { url { caminho / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
toque em /etc/sysconfig/ipvsadm
[Este comando significa criar um arquivo chamado ipvsadm no diretório /etc/sysconfig. Este arquivo é uma ferramenta para configurar IPVS (IP Virtual Server), um módulo do kernel Linux usado para obter balanceamento de carga e alta disponibilidade. Neste arquivo, você pode definir]
Inicie o keepalived e o ipvsadm do master e do backup
systemctl iniciar keepalived
systemctl iniciar ipvsadm
systemctl reiniciar keepalived
systemctl reiniciar ipvsadm
Mestre e backup carregam o módulo ip_vs
modprobe ip_vs
Verifique o status do nó lvs [ligue-o primeiro e depois reinicie-o para responder]
ipvsadm -ln
Digite curl 192.168.1.156 para testar (como você pode ver na imagem abaixo, o teste foi bem-sucedido e web1 e web2 são alternados automaticamente)
Digite o IP virtual em seu navegador local para visualizar
Desligue o servidor principal e verifique novamente [Depois de desligar o servidor principal, o servidor escravo assumirá automaticamente o trabalho do servidor principal]
Implante um servidor compartilhado NFS
para armazenar arquivos de configuração
(rw: o diretório compartilhado especificado tem permissões de leitura e gravação)
(no_all_squash: todos os usuários mantêm as permissões do usuário que opera o arquivo e não alteram a identidade do usuário)
Instalar nfs
yum -y instalar nfs-utils
vim /etc/exportações
/data/www/html/ 192.168.1.0/24(rw,no_all_squash)
mkdir -p /data/www/html
echo "web aaabbb123321" >/data/www/html/index.html
systemctl iniciar nfs
montagem de exibição -e
web1 e web2 montam armazenamento compartilhado
monte 192.168.1.121:/data/www/html /var/www/html/
Teste (como você pode ver na imagem abaixo, o conteúdo do armazenamento compartilhado pode ser acessado normalmente)
entrada do servidor nfs curl 192.168.1.156 para visualizar