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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| #172.16.53.100
ipvsadm -C #情况以前的配置
ifconfig eno16777736:0 172.16.53.50 netmask 255.255.255.255 broadcast 172.16.53.50 down
以前手动配置的VIP也down掉
以下配置主备两天设备基本相同
yum install keepalived -y
cd /etc/keepalived
mv keepalived.conf{,.bak} #把默认配置当成备份
vim keepalived.conf
global_defs { #全局配置
notification_email {
root@localhost #设置提示邮件的接收者,调度器状态转换时可以发送邮件提醒
}
notification_email_from keepalived@localhost #邮件发送者
smtp_server 127.0.0.1 #邮件的服务器地址
smtp_connect_timeout 30 #邮件服务连接超时时间
router_id node1 #标识一台设备
vrrp_mcast_group4 224.0.100.99 #用来通告在线的多播地址
}
vrrp_instance VI_1 { #vrrp配置
state BACKUP #这里是初始状态为从设备,104是主设备此处就为MASTER
interface eno16777736 #虚拟ip设置在哪个接口上
virtual_router_id 99 #标识一台虚拟设备,因为可以配置多个vrrp虚拟设备
priority 98 #优先级,优先级高的为主设备
advert_int 1 #vrrp通告的时间间隔;
authentication { #认证相关,所有设备必须一样
auth_type PASS
auth_pass 571f97b2 #只有前8位有效
}
virtual_ipaddress { #传说中的虚拟IP咯
172.16.53.50/16 dev eno16777736 #ip和所在的接口
}
}
virtual_server 172.16.53.50 80 { #lvs相关的配置咯~
delay_loop 3 #服务轮询的时间间隔;
lb_algo rr #定义调度方法为轮询
lb_kind DR #定义集群类型,这个要依赖不同的网络架构哟
protocol TCP #服务协议,仅支持TCP
sorry_server 127.0.0.1 80 #sorry server的地址,我们用本机
real_server 172.16.53.101 80 { #定义RS
weight 1 #权值,有的调度算法会用到
HTTP_GET { #健康检测,检测http的get
url {
path / #定义监控的url
status_code 200 #返回值为200就为健康
}
connect_timeout 1 #连接超时时长
nb_get_retry 3 #重试次数
delay_before_retry 1 #重试之前的延时时长
}
}
real_server 172.16.53.102 80 { #第二个RS
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 1
nb_get_retry 3
delay_before_retry 1
}
}
}
systemctl start keepalived #启动服务
ipvsadm -Ln #查看是否有相应的ipvs规则
yum install httpd -y #配置sorry server
vim /var/www/html/index.html
sorry,our system is being maintained
systemctl start httpd #启动sorry server
|