栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

LVS负载均衡群集-Keepalived部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LVS负载均衡群集-Keepalived部署

LVS负载均衡群集-Keepalived部署
  • 一、Keeplived简介
  • 二、Keepalived工作原理
  • 三.部署LVS+Keepalived 高可用群集
    • 1、实验需求:
  • 2.配置节点服务器1
  • 节点服务器2
  • 主负载调度器
  • 负载调度器



一、Keeplived简介
专为LVS和HA设计的一款健康检查工具
支持故障自动切换(Failover)
支持节点健康状态检查(Health Checking)
二、Keepalived工作原理
  • Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题

  • 在一个LVS服务集群中通常有主服(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性

三.部署LVS+Keepalived 高可用群集 1、实验需求:
节点服务器1--------192.168.13.10
节点服务器2--------192.168.13.20
主负载调度器-------192.168.13.30
备负载调度器-------192.168.13.40

2.配置节点服务器1

(192.168.13.10)

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
     内部配置:      DEVICE=lo:0
                             IPADDR=192.168.13.100
                             NETMASK=255.255.255.255
                              ONBOOT=yes

[root@localhost network-scripts]# ifup lo:0     ##开启网卡
[root@localhost network-scripts]# route add -host 192.168.13.100 dev lo:0           ##vip地址需要通过虚网卡进入
##永久配置##
[root@localhost network-scripts]# vim /etc/rc.local
 内部配置添加:
                  route add -host 192.168.13.100 dev lo:0

[root@localhost network-scripts]# chmod +x /etc/rc.d/rc.local           ## 添加执行权限
    
   [root@localhost network-scripts]# vim /etc/sysctl.conf
 内部配置:
      net.ipv4.conf.lo.arp_ignore = 1  
      net.ipv4.conf.lo.arp_announce = 2
      net.ipv4.conf.all.arp_ignore = 1
      net.ipv4.conf.all.arp_announce = 2

[root@localhost network-scripts]# sysctl -p          ## 加载
net.ipv4.conf.lo.arp_ignore = 1                 #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2           #系统不使用IP包的源地址来设置ARP
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@localhost network-scripts]# cd /var/www/html/
[root@localhost html]#  ls
[root@localhost html]# echo 'This is the first test web!' > index.html              
[root@localhost html]# systemctl start httpd



节点服务器2
[root@localhost ~]# yum install -y httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-88.el7.centos,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-88.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成
.....
,,,,
.....
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
内部:
     DEVICE=lo:0
      IPADDR=192.168.13.100
      NETMASK=255.255.255.255
      ONBOOT=yes



[root@localhost ~]# ifup lo:0
[root@localhost ~]# route add -host 192.168.13.100 dev lo:0
[root@localhost ~]# vim /etc/rc.local
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
[root@localhost ~]# vim /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo 'This is the second test web!' > index.html
[root@localhost html]# systemctl start httpd
主负载调度器
[root@localhost ~]# cd /etc/keepalived
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak
###复制配置文件####
[root@localhost keepalived]# vim keepalived.conf
      :set nu  ##打开行号
      smtp_server 127.0.0.1   ## 第10行:邮箱地址改成本地ip
      router_id LVS_01    ### 第12行:区分路由名称  改成01
      ###### 下面4行 全部删掉  ######

      ######  vrrp 热备份实例配置#######  
interface ens33        ## 第17行:第一张网卡名称      
      priority 100 这行的上方添加:nopreempt  ### 非抢占模式
      192.168.58.100   ## 第27行:VIP地址  后面的两行多余ip删掉
       
######### 虚拟服务器 ###########
      192.168.58.100 80               ## 第31行:虚拟IP地址为VIP地址,80端口为http协议
       lb_kind DR                           ## 第34行:LVS工作模式为DR
       persistence_timeout 0        ### 第35行:长连接超时时间,单位秒
       protocol TCP                        ### 第36行:健康检查协议为tcp

       192.168.58.15 80                 #### 第38行:真实节点服务器的ip地址,80号端口
        ##### 下面为健康检查方式:########
        TCP_CHECK {                        #### 第40行 :端口检查的方式
                 connect_port 80         #### 通过tcp协议 检查80号端口
                 connect_timeout 3
                 nb_get_retry 3
                 delay_before_retry 3
                 ##########    后面的不需要一直删到第一个 "}" 为止
         :38,46 co 46                        #### 末行模式  复制另外一台节点服务器配置
                                                                记得将真实节点服务器ip地址改一下
          100 dd                           ###### 在第58行 删除后面不需要的虚拟服务器配置



[root@localhost keepalived]# systemctl start keepalived
[root@localhost keepalived]# ip addr
### 查看相关配置
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c7:ea:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.30/24 brd 192.168.13.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fec7:ea82/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0:  mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:83:ff:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic:  mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:83:ff:e2 brd ff:ff:ff:ff:ff:ff


[root@localhost keepalived]# scp keepalived.conf 192.168.13.30:`pwd`        #远程传输文件到备负载调度器
The authenticity of host '192.168.13.30 (192.168.13.30)' can't be established.
ECDSA key fingerprint is SHA256:ka7ipT8mDX2Z2IxR+3inYCB+HuVmU+rIV5UU/HErCbQ.
ECDSA key fingerprint is MD5:8d:27:22:9b:97:78:5a:0a:dd:c8:2e:66:44:9a:64:57.

Are you sure you want to continue connecting (yes/no)? YES
Warning: Permanently added '192.168.13.30' (ECDSA) to the list of known hosts.

root@192.168.13.30's password: 
keepalived.conf                          100% 1281     3.3MB/s   00:00    

[root@localhost keepalived]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost keepalived]# systemctl start ipvsadm

[root@localhost keepalived]# systemctl restart keepalived

[root@localhost keepalived]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn




负载调度器
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# vim keepalived.conf
      router_id LVS_02
      state BACKUP
      priority 90


[root@localhost keepalived]# systemctl start keepalived
[root@localhost keepalived]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost keepalived]# systemctl start ipvsadm
[root@localhost keepalived]# systemctl restart keepalived
[root@localhost keepalived]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号