Cluster LVS + Keepalived ------- Configuration et installation détaillées

Sauvegarde à chaud Keepalived

  • Introduction à
    Keepalived Keepalived est un puissant outil auxiliaire conçu spécifiquement pour LVS au début. Il est principalement utilisé pour fournir des fonctions de basculement et de vérification de l'état; il peut déterminer la disponibilité du planificateur d'équilibrage de charge LVS et du serveur de nœuds dans le temps. Isolez et remplacez par un nouveau serveur, puis rejoignez le cluster lorsque l'hôte est restauré.

  • Méthode de sauvegarde à chaud Keepalived
    1. Keepalived adopte le protocole de sauvegarde à chaud VRRP (Virtual Router Redundancy Protocol, Virtual Router Redundancy Protocol) pour réaliser la fonction de sauvegarde à chaud multi-machine du serveur Linux dans le logiciel.

    2. VRRP est une solution de sauvegarde pour les routeurs - un groupe de secours automatique est formé par les routeurs opposés, qui fournissent des services à l'extérieur via une adresse IP virtuelle partagée;
    chaque groupe de secours a un seul routeur principal à la fois pour fournir des services, Les autres routeurs sont dans un état redondant. Si le routeur actuel tombe en panne, d'autres routes prendront automatiquement le relais (la priorité détermine l'ordre de succession) les adresses IP virtuelles pour continuer à fournir des services.

    3. Chaque routeur du groupe de redondance d'UC peut devenir le routeur principal. L'adresse IP (VIP) du routeur virtuel peut être transférée avant les routeurs du groupe de secours d'UC, elle est donc également appelée adresse IP de dérive. Lors de l'utilisation de keepalived, l'adresse de dérive L'implémentation n'a pas besoin d'établir manuellement la configuration de l'interface virtuelle, mais est automatiquement gérée par keepalived en fonction du fichier de configuration.

Cluster LVS + Keepalived haute disponibilité

  • L'objectif de conception de Keepalived est de créer un cluster d'équilibrage de charge LVS hautement disponible. Vous pouvez appeler l'outil ipvsadm pour créer des serveurs virtuels et gérer des pools de serveurs, pas seulement pour la redondance à chaud à double système

  • Utiliser Keepalived pour créer un cluster LVS est plus facile à utiliser

  • Principaux avantages: réalisez une commutation de secours à chaud pour le planificateur de charge LVS afin d'améliorer la disponibilité; effectuez une vérification de l'état des nœuds dans le pool de serveurs, supprimez automatiquement les nœuds défectueux et rejoignez après la récupération

  • Dans la structure de cluster LVS basée sur LVS + Keepalived, au moins deux planificateurs de charge de secours et trois serveurs de nœuds ou plus sont inclus

  • Lorsque vous utilisez Keepalived pour créer un cluster LVS, vous devez également utiliser l'outil ipvsadm, mais la plupart du travail sera effectué automatiquement par Keepalived, et vous n'avez pas besoin d'exécuter manuellement ipvsadm (sauf pour afficher et surveiller le cluster)

Créez un cluster LVS + Keepalived haute disponibilité

Cette démonstration sera basée sur le cluster LVS en mode DR, ajoutera un planificateur de charge et utilisera keepalived pour implémenter la sauvegarde à chaud des planificateurs maître et esclave, créant ainsi une plate-forme de cluster de sites Web LVS avec des capacités d'équilibrage de charge et de haute disponibilité.
Cette démonstration est basée sur ceci: LVS load balancing-DR mode

Déployer l'environnement réseau

Il n'a pas besoin de diagramme de topologie eNsp pour être réalisé, il suffit d'ajouter un planificateur de charge.

1. Un planificateur (méthode de connexion vm1)
change ip: 192.168.100.21/24 gateway: 192.168.100.1 et redémarre la carte réseau;

2.
Modifiez l'ip des deux serveurs de nœuds (mode de connexion vm1) : passerelle 192.168.100.22/24: 192.168.100.1 et redémarrez la carte réseau,
modifiez l'ip: 192.168.100.23/24 passerelle: 192.168.100.1 et redémarrez la carte réseau;

3. Un stockage partagé NFS (méthode de connexion vm1)
change ip: 192.168.100.24/24 gateway: 192.168.100.1 redémarre la carte réseau

4. Ajoutez un nouveau planificateur (mode de connexion vm1),
changez l'ip: 192.168.100.20/24 passerelle: 192.168.100.1, redémarrez la carte réseau

Désactivez le pare-feu, la protection principale et installez la source yum locale.
À l'exception des deux planificateurs qui doivent modifier la configuration, le reste n'a pas besoin d'être configuré à nouveau

Configurer le nouveau planificateur de charge (192.168.100.20)

  • Ce planificateur de charge agira en tant que planificateur maître

[1] Ajuster les paramètres de réponse / proc

[root@localhost network-scripts]# vi /etc/sysctl.conf 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

[root@localhost network-scripts]# sysctl -p     ###生效
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0 

[2] Ajuster les paramètres persistants

[root@localhost ~]# yum -y install keepalived ipvsadm
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak               ####必须要备份一下
[root@localhost keepalived]# vi keepalived.conf            ####为了防止改错,将原内容全部删除,插入添加以下内容
 
global_defs {
  router_id HA_TEST_R1
}
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.100.100
  }
}

virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP

real_server 192.168.100.22 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
}



[root@localhost keepalived]# systemctl start keepalived             ####启动keepalived
[root@localhost keepalived]# systemctl enable keepalived            ####开机启动keepalived
[root@localhost keepalived]# ip addr show dev ens33                 ####查看主控制IP地址和漂移地址

Insérez la description de l'image ici

  • ! ! ! Le contenu suivant est juste une explication du script ci-dessus, pas pour la sortie, seulement pour référence! ! !
global_defs {
   router_id HA_TEST_R1              ####本路由器(服务器)的名称 HA_TEST_R1
}
vrrp_instance VI_1 {                ####定义VRRP热备实列
   state MASTER                    ####热备状态,master表示主服务器
   interface ens33                ####表示承载VIP地址的物理接口
   virtual_router_id 1            ####虚拟路由器的ID号,每个热备组保持一致
   priority 100                  ####优先级,优先级越大优先级越高
   advert_int 1                     ####通告间隔秒数(心跳频率)
   authentication {               ####认证信息,每个热备组保持一致
   auth_type PASS              ####认证类型
   auth_pass 123456             ####认证密码
   }
virtual_ipaddress {              ####漂移地址(VIP),可以是多个
  192.168.100.100
   }
}

virtual_server 192.168.100.100 80 {        ####虚拟服务器地址(VIP)、端口
delay_loop 15                ####健康检查的时间间隔(秒)
lb_algo rr                    ####轮询调度算法
lb_kind DR                    ####直接路由(DR)群集工作模式
persistence 60               ####连接保持时间(秒),若启用请去掉!号
protocol TCP                 ####应用服务采用的是TCP协议

real_server 192.168.100.22 80 {       ####第一个WEB站点的地址,端口
    weight 1                  ####节点的权重
    TCP_CHECK {                  ####健康检查方式
    connect_port 80                  ####检查端口目标
    connect_timeout 3                ####连接超时(秒)
    nb_get_retry 3                 ####重试次数
    delay_before_retry 4               ####重试间隔(秒)
    }
}
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
}

Configurer le planificateur de charge (192.168.100.21)

  • Ce planificateur de charge agira comme un planificateur de sauvegarde de sauvegarde

[1] Stratégie de répartition de charge claire

[root@localhost /]# ipvsadm -C             ####因为 keepalived 会自动分配,不清除的可能会冲突

[2] Ajuster les paramètres persistants

[root@localhost ~]# yum -y install keepalived ipvsadm
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak
[root@localhost keepalived]# vi keepalived.conf
 
global_defs {
  router_id HA_TEST_R2
}

vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 99
advert_int 1
authentication {
  auth_type PASS
  auth_pass 123456
  }
virtual_ipaddress {
  192.168.100.100
  }
}

virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP

real_server 192.168.100.22 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
        }
 }
}


[root@localhost keepalived]# systemctl start keepalived             ####启动keepalived
[root@localhost keepalived]# systemctl enable keepalived            ####开机启动keepalived
[root@localhost keepalived]# ip addr show dev ens33                 ####查看主控制IP地址和漂移地址


À ce stade, le serveur principal est toujours en ligne, l'adresse VIP est en fait toujours contrôlée par le serveur principal et les autres serveurs sont en état de veille, donc aucune adresse VIP ne sera ajoutée à l'interface ens33 dans le serveur de secours.

  • ! ! ! Dans le planificateur de sauvegarde de sauvegarde, le script n'a besoin d'ajuster que quelques valeurs de paramètres. Les éléments suivants ne seront pas affichés, juste pour référence! ! !

    global_defs {
      router_id HA_TEST_R2                  #### 本路由器(服务器)的名称  HA_TEST_R2
    }
        .........
        ...
    vrrp_instance VI_1 {
    state BACKUP            #####热备状态,backup 表示备用服务器
    interface ens33
    virtual_router_id 1
    priority 99           #####优先级,数值应低于主服务器
    .......
    .....
    

La configuration dans la configuration de deux serveurs de nœuds et du serveur partagé NFS ne sera pas modifiée

Pour la configuration, veuillez vous référer à: LVS Load Balancing Cluster ---------- DR (Direct Route) Mode

Test de la machine réelle

  • test d'accès Web
    Insérez la description de l'image ici
    Insérez la description de l'image ici

  • Tester la connectivité. Lorsque le
    planificateur principal est activé, l'adresse MAC de la demande ARP est l'adresse du
    Insérez la description de l'image ici
    planificateur principal. Lorsque le planificateur principal est désactivé, l'adresse MAC de la demande ARP est l'adresse du planificateur de secours.
    Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/XCsuperman/article/details/108751348
conseillé
Classement