|
* 在centos 7上:
把做准备两台主机(直接yum 安装keepalived),先做时间同步:
```
]# ntpdate 172.18.0.1
向时间服务器同步;
```
* 创建自动计划任务,向时[size=1em]间服务器每5分钟同步一次时间
[size=1em] ```
]# crontab -e
*/5 * * * * /usr/sbin/ntpdate 172.18.0.1 &> /dev/null
指定每过5分钟向时间服务器同步[size=1em]同步一次
```
* 安装keepalived
```
]# yum -y install keepalived
]# rpm -ql keepalived
]# cd /etc/keepalived/
]# cp keepalived.conf{,.bak}
```
```
]# vim /etc/keepalived/keepalived.conf
----------------------------------------------------------------------------------------------------
:set nohlsearch【去除vim脚本中的高亮,此处不解释】
:.,$s/^/#/g 【从当前行到最后一行,查找所有的行首加上# 号】
```
* 先只配置全局段和虚拟路由实例段,其它都注释;
[size=1em]```
]# vim /etc/keepalived/keepalived.conf
----------------------------------------------------------------------------------------------------------------------------------
global_defs { 【全局配置段】
[size=1em]notification_email { 【 此处填写接收通告邮件的地址,收件人】
[size=1em]root@localhost [size=1em]【此处演示填写自己的】
[size=1em]}
[size=1em]notification_email_from kaadmin@magedu.com 【发件人】
[size=1em]smtp_server 127.0.0.1 【配置邮件服务器,要求能在互联网上正反解析;】
[size=1em]smtp_connect_timeout 30 【邮件服务器的超时时长】
[size=1em]router_id node1 【定义当前路由器设备的ID号,一般为主机名;】
[size=1em]vrrp_mcast_group4 224.0.11.18 【组播地址,默认为224.0.0.18,但是集群里的所有节点都有使用此地址;表示同一个组播域;】
}
vrrp_instance VI_1 { 虚拟路由器配置段,实例名称为VI_1,也可自定义;
[size=1em]state MASTER 【当前节点在此虚拟路由器中的初始状态;[size=1em]MASTER[size=1em]表示为主节点;】取值为:MASTER|BACKUP;
[size=1em]interface eno16777736 【表示vrrp发送通告的接口;】
[size=1em]virtual_router_id 11 【虚拟路由器ID,范围0-255;】
[size=1em]priority 100 【当前物理节点在此虚拟路由器中的优先级;】
[size=1em]advert_int 1 【表示vrrp的通告的时间间隔;为1秒;】
[size=1em]authentication { 【认证方式】
[size=1em]auth_type PASS 【使用简单密码认证】
[size=1em]auth_pass vHFHLlTA 【随机字符串,可使用openssl rand -base64 8生成,因为最多只有8位字符有效;】
[size=1em]}
[size=1em]virtual_ipaddress { 定义虚拟IP,不指明则为前面的interface指明的接口地址;
[size=1em]#定义172.18.11.66 网卡别名地址,
【[size=1em]可写为】 172.18.11.66 dev eno16777736 label eno16777736:0
[size=1em]}
}
]# scp keepalived.conf root@172.18.11.121:/etc/keepalived
[size=1em]配置文件复制到另一调度器172.18.11.121上
[size=1em]
[size=1em]在172.18.11.121编辑该配置文件:
[size=1em]]# vim /etc/keepalived/keepalived.conf
---------------------------------------------------------------------------------
[size=1em]修改:
state BACKUP 修改为备用
priority 50 修改小优先级;
[size=1em]密码、router_id、vrrp_mcast_group4要保存一致;
[size=1em]在两个调度器上开启keepalived服务:
]# systemctl start keepalived.service
]# systemctl status keepalived.service
]# systemctl -l status keepalived.service 【-l 表示显示更多的信息】
[size=1em]【分别查看两个调度器,VIP地址是否自动在主服务器的接口别名上:】
]# ip addr l
]# tail /var/log/messages
[size=1em]手动使172.18.11.111主用服务器停止keepalived服务,再查看;
]# systemctl stop keepalived.service
[size=1em]用另一终端查看日志信息不退出:
[size=1em]显示部分内容:
]# tail -f /var/log/messages
[size=1em]May 10 05:25:01 localhost systemd: Stopping LVS and VRRP High Availability Monitor...
May 10 05:25:01 localhost Keepalived_vrrp[4258]: VRRP_Instance(VI_1) sending 0 priority 发送优先级为0的报文;
May 10 05:25:01 localhost Keepalived_vrrp[4258]: VRRP_Instance(VI_1) removing protocol VIPs. 移除VIP的协议
May 10 05:25:01 localhost Keepalived_healthcheckers[4257]: Netlink reflector reports IP 172.18.11.66 removed 移除VIP
May 10 05:25:01 localhost systemd: Stopped LVS and VRRP High Availability Monitor
[size=1em]在另一调度器172.18.11.121上,查看日志:
[size=1em]显示内容:
]# tail /var/log/messages
May 9 08:09:21 localhost Keepalived_vrrp[3881]: VRRP_Instance(VI_1) Transition to MASTER STATE 称为主用服务器
May 9 08:09:22 localhost Keepalived_vrrp[3881]: VRRP_Instance(VI_1) Entering MASTER STATE 确认主用状态
May 9 08:09:22 localhost Keepalived_vrrp[3881]: VRRP_Instance(VI_1) setting protocol VIPs. 设置
May 9 08:09:22 localhost Keepalived_vrrp[3881]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eno16777736 for 172.18.11.66 发送免费ARP报文
May 9 08:09:22 localhost Keepalived_healthcheckers[3880]: Netlink reflector reports IP 172.18.11.66 added 获得VIP地址
May 9 08:09:27 localhost Keepalived_vrrp[3881]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eno16777736 for 172.18.11.66
May 9 08:10:01 localhost systemd: Started Session 58 of user root.
May 9 08:10:01 localhost systemd: Starting Session 58 of user root.
May 9 08:10:01 localhost systemd: Started Session 59 of user root.
May 9 08:10:01 localhost systemd: Starting Session 59 of user root.
[size=1em]再手动使172.18.11.111主用服务器上线:
]# systemctl start keepalived.service
[size=1em]默认工作在抢占模式;优先级高的会自动成为主用服务器;
这就是keepalived自动完成地址浮动;
[size=1em]修改两个调度器的VIP别名:
]# vim /etc/keepalived/keepalived.conf
--------------------------------------------------------------------------------
virtual_ipaddress{
[size=1em]172.18.11.66 dev eno16777736 label eno16777736:0
}
[size=1em]把两个调度器停止keepalived服务;
[size=1em]
[size=1em]先启动优先级低的服务器:172.18.11.121:
]# systemctl start keepalived.service
[size=1em]此时使用ifconfig命令,engine查看网卡别名,已经自动加上了;
]# ifconfig
[size=1em]再启动优先级高的服务器:172.18.11.111:
]# systemctl start keepalived.service
[size=1em]此时使用ifconfig命令,engine查看网卡别名,已经自动抢占上了VIP地址;
]# ifconfig
```
|
|