Keepalived部署与基本概念
1.Keepalived高可用概念
1.什么是高可用
什么是高可用双击热备,一般指两台机器启动这相同业务系统当有一台机器down机了,另外一台服务器迅速的接管,对于访问的用户是无感知的。
2.高可用使用场景
那么高可用是用在什么场景,业务系统需要保证7x24小时不DOWN机状态,作为业务来说随时都可用,让你的业务系统更顽强。
3.高可用VRRP原理
-
将所有设备加入到一个虚拟组
-
具有相同的虚拟ip(会有对应的虚拟MAC)
-
主机会在发送数据的时候,在数据包的目标地址协商虚拟的ip及MAC
-
虚拟主机收到数据后,会将目标地址转换成当前虚拟组的master设备ip和MAC
角色:一主多备
实际工作角色:主
通过优先级来选举主备:越高越优先
环境
主机名 | 主机IP | 角色 |
---|---|---|
LB01 | 10.1.33.186 | master |
LB02 | 10.1.33.187 | backup |
VIP | 10.1.33.185 | 虚地址 |
2.keepalived服务安装(二选一)
2.1 yum方式安装方式
[root@lb01 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@lb01 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install keepalived
#配置文件
[root@lb01 ~]# rpm -qc keepalived
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
2.2 编译安装方式
[root@lb01 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@lb01 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#安装依赖包
[root@lb01 ~]# yum install gcc openssl-devel libnl3-devel libnfnetlink-devel
[root@lb01 ~]# mkdir tools
[root@lb01 ~]# cd tools
[root@lb01 tools]# wget -c http://www.keepalived.org/software/keepalived-1.4.4.tar.gz
[root@lb01 tools]# tar -zxvf keepalived-1.4.4.tar.gz -C /usr/local
[root@lb01 tools]# cd keepalived-1.4.4/
[root@lb01 keepalived-1.4.4]# ./configure --prefix=/usr/local/keepalived
make && make install
#配置文件
/usr/local/keepalived/etc/keepalived
#启动
systemctl start keepalived
3. 修改keepalived主配置文件
lb01操作
[root@lb01 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id master } #关联检测脚本 vrrp_instance VI_1 { state MASTER interface ens32 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type shecc auth_pass shecc123 } virtual_ipaddress { 10.1.33.185 } }
[root@lb01 ~]# systemctl enable keepalived [root@lb01 ~]# systemctl start keepalived
lb02操作
[root@lb02 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id backup } vrrp_instance VI_1 { state BACKUP interface ens32 virtual_router_id 51 priority 80 advert_int 1 authentication { auth_type shecc auth_pass shecc123 } virtual_ipaddress { 10.1.33.185 } }
[root@lb02 ~]# systemctl enable keepalived [root@lb02 ~]# systemctl start keepalived
验证 说明:VIP地址正常会漂移到高优先级LB01主机 当LB01主机宕机后才会飘逸到LB02中;通过长ping或使用ip add show ens32命令来判断LB01宕机后地址是否会飘逸到LB02中,LB01恢复后VIP地址会飘逸到LB01中,从而实现高可用。
命令行输入ip add show ens32进行VIP地址查看
长ping过程中模拟LB01宕机 关闭LB01keepalived服务即可,成功漂移到LB02后。我们再模拟LB01恢复 ,重新开启keepalived服务。图片说明 红框为关闭LB01 keepalived服务VIP漂移到LB02会出现延迟或者丢一个包这都属于正常现象。
黄框为恢复LB01keepalived服务后地址会飘逸到LB01会现延迟或者丢一个包这都属于正常现象。
完成