虚拟机上keepalived实验笔记-阿里云开发者社区

开发者社区> 前方高能> 正文

虚拟机上keepalived实验笔记

简介: 首先准备两台虚拟机 构架方式为 其中没有后端使用两台虚拟机安装nginx和keepalived master {nginx + keepalived 192.168.110.171}   -  [vrrp192.
+关注继续查看

首先准备两台虚拟机


构架方式为

其中没有后端使用两台虚拟机安装nginx和keepalived


master {nginx + keepalived 192.168.110.171}   -  [vrrp192.168.1.138]   -   backup{{nginx + keepalived 192.168.110.172}




需要关闭防火墙selinux

两台服务器安装

yum install -y nginx

yum install -y keepalived


keeplves_master服务器上的keepalived.conf配置

global_defs {

   router_id keeplves_master #hostname

}

vrrp_script chk_nginx {

    script "/etc/keepalived/check.sh" #检测nginx的脚本

    interval 5 #每2秒检测一次

    weight -20 #如果某一个nginx宕机 则权重减20

}

vrrp_instance VI_1 {

    state MASTER #状态 MASTER BACKUP

    interface ens33 #绑定的网卡

    virtual_router_id 51 #虚拟路由的ID号,两个节点设置必须一样

    mcast_src_ip 192.168.110.171 #本机的IP

    priority 90

    advert_int 1

# 设置验证信息,两个节点必须一致

    authentication {

        auth_type PASS

        auth_pass 1111

    }

# 虚拟IP,两个节点设置必须一样。

    virtual_ipaddress {

        192.168.1.138

    }

# nginx存活状态检测脚本

    track_script {

      chk_nginx

    }

}


keeplves_backup服务器上的keepalived.conf配置

global_defs {

   router_id keeplves_backup #hostname

}

vrrp_script chk_nginx {

    script "/etc/keepalived/check.sh" #检测nginx的脚本

    interval 2 #每2秒检测一次

    weight -20 #如果某一个nginx宕机 则权重减20

}

vrrp_instance VI_1 {

    state BACKUP #状态 MASTER BACKUP

    interface ens33 #绑定的网卡

    virtual_router_id 51

    mcast_src_ip 192.168.1.172

    priority 40

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.138

    }


    track_script {

      chk_nginx

    }

}


nginx状态检测脚本简单写法

#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ];then
    systemctl stop nginx #尝试重新启动nginx
    sleep 2 #睡眠2秒
    if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
        systemctl stop keepalived
        #killall keepalived #启动失败,将keepalived服务杀死。将vip漂移到其它备份节点
    fi
fi


遇到的问题

报错信息

May 22 14:43:49 keeplves_master Keepalived_vrrp[42456]: Sending gratuitous ARP on ens33 for 192.168.1.138

May 22 14:43:49 keeplves_master Keepalived_vrrp[42456]: Sending gratuitous ARP on ens33 for 192.168.1.138

May 22 14:43:49 keeplves_master Keepalived_vrrp[42456]: Sending gratuitous ARP on ens33 for 192.168.1.138

interval4 : 每4s检测一次,这里要大于监控脚本执行的时间,监控脚本会执行超时,keepalived会发送SIGTERM信号结束监控脚本的执行。


启动nginx  keepalived


查看虚拟IP是否绑定192.168.1.138如果有这个IP则绑定成功

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:cc:7a:77 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.171/24 brd 192.168.1.255 scope global noprefixroute dynamic ens33

       valid_lft 84406sec preferred_lft 84406sec

    inet 192.168.1.138/32 scope global ens33

       valid_lft forever preferred_lft forever

    inet6 fe80::279c:6292:4838:c6f6/64 scope link noprefixroute 

       valid_lft forever preferred_lft forever



停掉nginx测试

看是否会把虚拟IP主动切换到backup上

如果切换到了证明成功

实验结束

更多内容欢迎到博客讨论www.g6k.cn

不适用于生产环境














版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9497 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8413 0
读书笔记_Effective_C++_条款二十五: 考虑写出一个不抛出异常的swap函数
我也不知道为什么作者给这个条款起这样的名字,因为这样看上去重点是在“不抛出异常”,但事实上作者只是在全文最后一段说了一下不抛异常的原因,大部分段落是在介绍怎样写一个节省资源的swap函数。 你可以试一下,只要包含了头文件iostream,就可以使用swap函数,比如: 1 #includ...
539 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10844 0
Hadoop学习笔记(三):Hive简介
定义       Hive是一个构建在Hadoop上的数据仓库框架。可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。(来自百度百科~~) metastore      
1700 0
Effective C++ 笔记(1):视C++为语言联邦
条款一(clause 1) 将C++视为语言联邦:提出了一种将C++分为四种不同次语言的观念,四种次语言分别是: 1、C语言,面向过程的语言,C++完全向下兼容C,在C++中单纯使用C语言的语法除了遵守的一些规则...
1443 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
《从零开始学Swift》学习笔记(Day 70)——Swift与Objective-C混合编程之Swift与Objective-C API映射
<span style="font-family:宋体;font-size: 10.5pt; mso-ascii-font-family: Arial; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Arial; mso-bidi-font-family: A
1867 0
+关注
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载