keepalived高可用服务部署以及配置文件讲解

高可用服务介绍
解决问题:解决架构单点故障
解决方式:
负载均衡服务器解决单点故障 keepalived
数据库服务解决单点故障: MHA
存储服务解决单点故障 : 利用分布式存储(复制卷)
keepalived软件介绍:
1)解决负载均衡单点问题,可以有主服务和备份服务器,主服务器出现问题,由备份服务器进行替代
2)可以有效管理配置LVS负载均衡服务
3)可以结合LVS对后端节点进行健康检查

keepalive高可用服务工作原理
lb01 : 部署高可用服务
第一个历程: 安装keepalived软件 (优化epel base 源)

yum install -y keepalived

第二个里程: 编写配置文件信息:

vi /etc/keepalived/keepalived.conf

keepalived配置文件由三个部分组成:
1) 配置文件核心区域配置
2) 配置文件vrrp协议信息配置
3) 配置文件LVS管理信息配置 临时删除

global_defs {                  --- 实现监控报警功能  主(问题)备切换
   notification_email {        --- 监控报警邮件发送通知人信息
     [email protected]      
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]    --- 定义报警服务器信息
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id lb01              --- 表示主机身份信息 lb01   
}

vrrp_instance VI_1 {
   state MASTER                --- 定义主机身份信息(MASTER BACKUP); 描述信息
   interface eth0              --- 在接口上生成VIP(虚拟地址)地址信息  出现在外网网卡
   virtual_router_id 51        --- 标记集群编号信息
   priority 150                --- 优先级决定主或者备身份  优先级越高越有可能成为主 
   advert_int 1                --- 设置组播包发送间隔 3s
   authentication {            --- 集群成员口令验证信息, 保证集群通讯安全性
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       10.0.0.3                --- 定义虚拟IP地址信息
   }
}

lb02 : 部署高可用服务
第一个里程: 安装keepalived软件 (优化epel base 源)
yum install -y keepalived

第二个历程: 编写配置文件信息:

global_defs {                 
   notification_email {      
     acassen@firewall.loc      
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from 177780xxx@163.com 
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id lb02              --- 不一样
}

vrrp_instance VI_1 {
   state BACKUP                --- 不一样
   interface eth0              
   virtual_router_id 51        
   priority 100                --- 不一样 
   advert_int 1                 
   authentication {            
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       10.0.0.3                
   }
}

第三个历程: 启动程序服务

systemctl start keepalived

第四个历程:

[root@lb01 conf.d]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:36:6b:fb brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.31/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 10.0.0.3/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::fb9:288a:5511:3d31/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:36:6b:05 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.31/16 brd 172.16.255.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::e3f5:3ab4:9d4b:c313/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

主服务器lb01上有10.0.0.3,说明成功

补充:主服务的配置文件:

[root@lb01 conf.d]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server smtp.162.com
   smtp_connect_timeout 30
   router_id lb01
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
      10.0.0.3
    }
}

备份服务的配置文件:

[root@lb02 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server smtp.162.com
   smtp_connect_timeout 30
   router_id lb02
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
      10.0.0.3
    }
}

当主服务器down掉后,备份服务器上自动为主服务。
出现IP地址10.0.0.3
lb02

[root@lb02 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:42:4b:89 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.61/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 10.0.0.3/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::7e0e:3213:5eff:ca05/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:42:4b:93 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.61/16 brd 172.16.255.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::fe6b:e540:43ef:d1b5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:f3:bc:fe:8f brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
[root@lb02 ~]# 
发布了183 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42506599/article/details/104367539