keepalived双机热备

  keepalived的做用是检测后端TCP服务的状态,若是有一台提供TCP服务的后端节点死机,或者工做出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复而且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工做都是keepalived自动完成,不须要人工干涉,须要人工作的只是修复发生故障的服务器,如下经过示例来演示。html

  前提:为了测试能顺利进行,需先关闭selinux和firewalld。linux

  测试环境以下:web

1
2
3
4
5
keepalived主机: 10.0.0.20
keepalived备机: 10.0.0.21
http服务器1:   10.0.0.22
http服务器2:   10.0.0.23
VIP :       10.0.0.100

 

1、两台http服务器的安装算法

  一、  两台机均安装httpdvim

1
$ sudo yum install -y httpd

 

  二、  添加首页后端

1
2
3
4
5
6
7
$ sudo -i
 
#http服务器1设置
# echo “10.0.0.22” >/var/www/html/index.html
 
#http服务器2设置
# echo “10.0.0.23” >/var/www/html/index.html

 

  三、  启动并设置开机启动httpd服务器

1
2
$ sudo systemctl start httpd
$ sudo systemctl enable httpd

 

2、两台keepalived主机的设置网络

  一、  两台机均安装keepalivedoop

1
2
3
#安装依赖文件与keepalive
 
$ sudo yum install -y openssl openssl-devel keepalived

 

  二、  keepalived主机配置测试

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
$ sudo vim /etc/keepalived/keepalived.conf
 
   vrrp_instance VI_1 {
     #指定该节点为主节点,备用节点设置为BACKUP
     state MASTER
 
     #绑定虚拟IP的网络接口
     interface  eno16777736
 
     #VRRP组名,两个节点设置同样,以指明各个节点同属一VRRP组
     virtual_router_id 51
 
     #主节点的优先级,数值在1~254,注意从节点必须比主节点的优先级别低
     priority 50
 
     ##组播信息发送间隔,两个节点需一致
     advert_int 1
 
     #设置验证信息,两个节点需一致
     authentication{
       auth_type PASS
       auth_pass 1111
     }
 
     #指定虚拟IP,两个节点需设置同样
     virtual_ipaddress{
       10.0.0.100
     }
  }
#虚拟IP服务
virtual_server 10.0.0.100 80 {
     #设定检查间隔
     delay_loop 6
 
    #指定LVS算法
     lb_algo rr
 
    #指定LVS模式
     lb_kind NAT
     nat_mask 255.255.255.0
 
    #持久链接设置,会话保持时间
    persistence_timeout 50
 
    #转发协议为TCP
    protocol TCP
 
   #后端实际TCP服务配置
   real_server 10.0.0.22 80 {
      weight 1
   }
 
   real_server 10.0.0.23 80 {
      weight 1
   }
}

 

  三、   keepalived备机的keepalived.conf的配置,不一样之处以下:

1
2
3
4
state BACKUP
priority 30
 
#其它配置跟keepalived主机相同

 

  /etc/keepalived/keepalived.conf为keepalived的主配置文件。以上配置state表示主节点为10.0.0.20,副节点为10.0.0.21。虚拟为IP10.0.0.100。后端的真实服务器为10.0.0.22和10.0.0.23,当经过10.0.0.100访问web服务器时,自动转到后端真实服务器,后端节点的权重相同,相似轮询的模式。

 

3、keepalived的启动与测试

  一、  启动keepalived

1
2
$ sudo systemctl start keepalived
$ sudo systemctl enable keepalived

 

  二、  查看keepalived主机的IP

1
$ ip addr show

 

 

4、测试结果

  一、  测试前查看keepalived主机和备机的IP,结果如图:

 

 

  二、  重启keepalived主机后,查看keepalived备机的IP显示

 

 

   以上测试结果说明,当keepalived备机在keepalived主机宕机的状况会自动接管了资源。但待keepalived主机恢复正常的时候,主机会从新接管资源。

相关文章
相关标签/搜索