通过虚拟高可用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

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

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
11月前
|
自然语言处理 测试技术 API
MindIE BenchMark
MindIE Benchmark工具通过部署昇腾服务化配套包,以终端命令方式测试大语言模型在不同配置下的推理性能和精度。它支持Client和Engine两种推理模式:Client模式适用于多用户并发场景,兼容多种接口;Engine模式直接调用底层API,测量NPU卡的真实性能。该工具支持多个数据集进行精度和性能测试,如CEval 5-shot、CMMLU、GSM8K等,并将结果保存为本地csv文件。评测方法包括调用大模型输入题目,解析返回结果并与正确答案比较,计算平均分和其他指标如准确率、EM等。
|
10月前
|
前端开发 JavaScript 测试技术
大厂开源项目,真的太爽啦,字节跳动出品!这个设计系统开源神器,让你的产品颜值与效率齐飞
Semi Design是由抖音前端团队开源的企业级设计系统,**同时支持React/Vue双框架**,提供超过60+高质量组件。不同于普通UI库,它从**设计工程化**角度出发,打通Figma设计资源与前端代码的桥梁,真正实现设计稿到代码的"零误差还原"。目前已在字节跳动200+项目中验证,日均调用量超过3000万次。
488 7
|
10月前
|
Windows
Windows硬盘扩容
如果云服务器扩容硬盘或新加盘未生效,可按以下步骤操作: 1. 新加硬盘:右键硬盘选择“联机”。 2. 扩容硬盘:进入“计算机管理”>“磁盘管理”,右键要扩展的分区,点击“扩展卷”。 3. 增加分区:右键未分配空间,选择“新建卷”。 通过这些步骤可确保硬盘变更生效。
378 0
|
供应链 搜索推荐 API
探讨拼多多商品 API 接口:运用及收益
拼多多商品API接口为开发者和企业提供了一站式的商品数据交互解决方案,涵盖商品详情、价格、库存、评价等多元信息,助力电商平台拓展、数据分析、个性化推荐及营销推广,有效提升商业价值和用户体验,推动电商领域的创新与发展。
1144 0
|
编解码 供应链 搜索推荐
虚拟现实与教育:沉浸式学习的潜力
【10月更文挑战第2天】虚拟现实(VR)技术正在革新教育领域,通过沉浸式体验提升学习效果和兴趣。本文探讨了VR在教育中的应用潜力,特别是在历史、地理、自然科学和语言教育中的案例。虽然面临设备成本和技术支持等挑战,但随着技术进步和成本降低,VR有望成为教育的重要工具,带来更丰富的学习体验。
|
数据采集 运维 监控
日志服务SLS:一站式解决日志管理难题
日志服务SLS:一站式解决日志管理难题 在数字化时代,日志管理成为企业面临的挑战之一。为了解决这个问题,阿里云日志服务SLS(Log Service)应运而生,提供了一站式的大规模、低成本、实时的日志管理平台。
694 1
|
弹性计算 负载均衡 Cloud Native
阿里云负载均衡SLB版本CLB、ALB和NLB有什么区别如何选择?
最初阿里云只有一种传统的负载均衡SLB,这款SLB实例是四层负载均衡;后来在传统的SLB基础上推出七层负载均衡ALB,原四层SLB改名为CLB;后来又推出基于NFV虚拟化平台,支持弹性伸缩的网络型负载均衡NLB
10958 24
阿里云负载均衡SLB版本CLB、ALB和NLB有什么区别如何选择?
|
Rust JavaScript 前端开发
⚙️ 推荐 5 个非常好用的 VSCode 插件
本文中我将推荐5个好用的通用工具类插件,使用这些插件可以大大提升你的开发效率和编码体验,包括 Thunder Client, Code Spell Checker, Image Preview 等等。
1097 0
⚙️ 推荐 5 个非常好用的 VSCode 插件
【代理】10分钟掌握正向代理和反向代理的本质区别
【代理】10分钟掌握正向代理和反向代理的本质区别
1498 0

热门文章

最新文章