通过虚拟高可用Havip搭建keepalived遇到问题

简介: 通过虚拟高可用Havip搭建keepalived遇到问题

准备的环境信息:

主备服务器(同专有网络,同交换机下):

主:内网ip:172.16.1.187  操作系统:centos 7.9 64位

备:内网ip:172.16.1.186  操作系统:centos 7.9 64位

创建的高可用虚拟Havip私网ip(与服务器同专有网络,同交换机):172.16.1.185

1,创建虚拟高可用Havip:

(未有虚拟高可用Havip,需要先申请,申请公测参考:申请公测

(1)登录专有网络VPC控制台

(2)在左侧导航栏,单击高可用虚拟IP

(3)在顶部菜单栏处,选择要创建HaVip的地域(此处选择华北3(张家口地域))

(4)在高可用虚拟IP页面,单击创建高可用虚拟IP(根据页面提示选择,专有网络,交换机,以及分配私网ip地址,此处分配的私网地址是:172.16.1.185


2,主服务器:172.16.1.187 安装keepalived/nginx(nginx 用于测试访问):

(1)主服务器安装配置nginx测试访问服务:

yum -y install nginx  #安装nginx

systemctl start nginx  #启动nginx服务

设置测试页面:

echo 'testzhu' > /usr/share/nginx/html/index.html

测试访问测试页面:

curl http://172.16.1.187

(可选)设置nginx服务开机自启动:systemctl enable nginx

(2)主服务器配置keepalived:

yum install keepalived    #安装keepalived

vim /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 192.168.200.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

  vrrp_skip_check_adv_addr

#   vrrp_strict  #这个是原本有的配置,需要手动注释一下(由于keepalived严格模式无法无法使用单播,所有需要注释)

  vrrp_garp_interval 0

  vrrp_gna_interval 0

}

vrrp_instance VI_1 {

   state MASTER#主节点,备节点会变化,注意调整

   interface eth0

   virtual_router_id 51

   priority 100

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

   }

   unicast_src_ip 172.16.1.187#这里是主服务器私网ip

   unicast_peer {

     172.16.1.186#备服务器的私网ip,如果有多个,可以换行添加(对端ip,比如主的这里写备的内网ip)

   }

   virtual_ipaddress {

     172.16.1.185 label eth0:0#创建的Havip私网ip

   }

}

}

调整好配置文件通过:wq!  保存退出。

systemctl start keepalived   #启动服务

systemctl status keepalived   #查看服务状态没有报错的话,一般是如附件状态,服务是正常启动的,如果有报错,需要根据报错检查配置文件。


3,备服务器:172.16.1.186 安装keepalived/nginx(nginx 用于测试访问):与主步骤基本一致

(1)主服务器安装配置nginx测试访问服务:

yum -y install nginx  #安装nginx

systemctl start nginx  #启动nginx服务

设置测试页面:

echo 'testbei' > /usr/share/nginx/html/index.html

测试访问测试页面:

curl http://172.16.1.186

(2)主服务器配置keepalived:

yum install keepalived    #安装keepalived

vim /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 192.168.200.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

  vrrp_skip_check_adv_addr

#   vrrp_strict #这里要手动注释

  vrrp_garp_interval 0

  vrrp_gna_interval 0

}

vrrp_instance VI_1 {

   state BACKUP#备节点,主节点会变化,注意调整

   interface eth0

   virtual_router_id 51

   priority 100

   advert_int 1

   authentication {

       auth_type PASS

       auth_pass 1111

   }

unicast_src_ip 172.16.1.186#这里是备服务器私网ip

   unicast_peer {

     172.16.1.187#主服务器的私网ip,如果有多个,可以换行添加(对端ip,比如备的这里写主的内网ip)

   }

   virtual_ipaddress {

     172.16.1.185 label eth0:0#创建的Havip私网ip

   }

}

}

调整好配置文件通过:wq!  保存退出。

systemctl start keepalived   #启动服务

systemctl status keepalived   #查看服务状态没有报错的话,一般是如附件状态,服务是正常启动的,如果有报错,需要根据报错检查配置文件。


4,绑定Havip到主备服务器:

(1)登录专有网络VPC控制台

(2)找到对应创建的Havip,点击实例ID(如:havip-8vb*****)进入到详情,点击:ECS实例中的立即绑定进行绑定。(重复步骤将备服务器也绑定好)

5,测试访问:

由于此测试没有配置弹性公网EIP,所以通过Havip的私网ip测试的,可以在主备任意服务器中测试结果:

主服务器:ifconfig 检查Havip已经分配,Havip分配私网ip可以ping通信

备服务器:ifconfig 检查Havip未分配,Havip分配私网ip可以ping通信

测试Havip主备切换:

主:Havip已分配,测试访问:curl http://172.16.1.185

返回:testzhu

停止主的keepalived服务:

主:Havip未分配,备Havip分配,测试访问:curl http://172.16.1.185

返回:testbei


遇到问题整理:

1,配置文件中#   vrrp_strict #这里要手动注释 未注释,提示报错:(VI_1): No VIP specified; at least one is required

2,配置文件中172.16.1.185 label eth0:0#创建的Havip私网ip 这里开始没有设置: label eth0:0 ,ifconfig 没有找到Havip的信息。

3,备节点配置文件:state BACKUP#备节点,主节点会变化,注意调整 根据主的配置成了:state MASTER,导致备节点Havip不切换。

4,默认的配置文件:/etc/keepalived/keepalived.conf  会有些默认的配置,没有注释,提示:

Activating healthchecker for service [10.10.10.2]:1358

Removing service [192.168.201.100]:443 from VS [192.168.200.100]:443

会有些默认的校验,将配置注释重新启动服务即可。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云专有网络VPC使用教程
专有网络VPC可以帮助您基于阿里云构建出一个隔离的网络环境,并可以自定义IP 地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN/GRE等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。 产品详情:https://www.aliyun.com/product/vpc
相关文章
|
负载均衡 Kubernetes 容器
K8s多节点部署+负载均衡+keepalived ——囊萤映雪
1、多节点master2 部署 2、负载均衡部署+keepalived
K8s多节点部署+负载均衡+keepalived ——囊萤映雪
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
382 1
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
106 0
|
域名解析 负载均衡 网络协议
keepalived+vip+lvs高可用负载均衡服务演化
keepalived+vip+lvs高可用负载均衡服务演化
644 0
|
负载均衡 Linux Docker
LVS+keepalived配置高可用架构和负载均衡机制(2)
LVS+keepalived配置高可用架构和负载均衡机制(2)
255 0
|
负载均衡 网络协议 前端开发
LVS+keepalived配置高可用架构和负载均衡机制(1)
LVS+keepalived配置高可用架构和负载均衡机制(1)
740 1
|
负载均衡 Linux 调度
LVS+Keepalived 高可用群集部署
1、LVS+Keepalived 高可用群集概述 2、LVS+Keepalived高可用群集部署
LVS+Keepalived 高可用群集部署
|
弹性计算 网络协议 测试技术
在VPC环境中利用keepalived实现主备双机高可用
原作者:阿里云解决方案架构师,袖手。本文告诉你,如何通过keepalived,在VPC中搭建一套主备双机高可用架构。
10457 50
基于keepalived+lvs支持多虚拟IP
好久没写博客了,这篇是今年的第一篇博客哈!上周五加班到凌晨3点多,对系统进行了升级合并,对于keepalived+lvs支持一个虚拟IP变更成支持多个虚拟IP。为什么要用到多个虚拟IP,因为系统要和别的服务系统有数据传输,另一方面和客户端有交互,所以定于和服务系统走的内网传输,和客户端用外网传输,这样下来的话我们会节省外网网卡的带宽资源,减轻外网网卡的压力,实际上有个很简单的办法,就是用单个的虚拟IP,然后虚拟IP在防火墙上映射为一个外网IP地址供客户端使用,但是经过与网络部沟通,告知防火墙上做不了映射,原因我就没细问了,所以才产生了上述所说的这个方案。
1511 0