环境信息

keepalived master 192.168.1.106

keepalived backup 192.168.1.103

vip 192.168.1.100

1,安装keepalived,我用的是1.1.17

tar -zvxf keepalived-1.1.17.tar.gz

cd keepalived-1.1.17

./configure

这一步可能会遇到缺少openssl,popt。如果缺少的话可以yum安装一下

#yum install openssl-devel
#yum install popt-devel

编译之后

make

make install

然后

/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d
/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
/bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived
/bin/cp /usr/local/sbin/keepalived /usr/sbin/

修改配置文件

画线的地方backup一定不能重复

backup需要注意

1,router_id 唯一的

2,state MASTER 改成BACKUP。大写

3,priority 改成50.一般建议backup比master小50. master挂掉之后,会选择优先级最大的充当master

4,virtual_router_id 51。一定要和master一致。不然会出现裂脑

5.关于邮件部分,随便写下

backup的配置如下:

! 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_02
} vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 51
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100/24
}
}

/etc/init.d/keepalived start 启动

日志默认路径

/var/log/message

看了下日志发现日志一直刷屏,提示Can't initialize ipvs

这是由于ipvs模块没有加载

手动加载一下

modprobe ip_vs
modprobe ip_vs_wrr

然后重新

/etc/init.d/keepalived start

ps -ef | grep keep

会发现三个进程

[root@masters keepalived]# ps -ef | grep keep
root 9276 8440 0 19:28 pts/1 00:00:00 vi keepalived.conf
root 9490 1 1 19:40 ? 00:00:00 keepalived -D -d -S 0
root 9492 9490 0 19:40 ? 00:00:00 keepalived -D -d -S 0
root 9493 9490 0 19:40 ? 00:00:00 keepalived -D -d -S 0
root 9496 8440 5 19:40 pts/1 00:00:00 grep keep

怎么查看vip生效没呢

通过ip add命令

[root@masters keepalived]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:4a:fb:1d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.106/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/24 scope global secondary eth0
inet6 fe80::20c:29ff:fe4a:fb1d/64 scope link
valid_lft forever preferred_lft forever
3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether fe:c8:58:f7:2c:04 brd ff:ff:ff:ff:ff:ff

发现192.168.1.100已经被绑定到网卡上了

然后再backup上再ip add一下,结果如下

[root@slaves keepalived]#
[root@slaves keepalived]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:25:98:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global eth1
inet6 fe80::20c:29ff:fe25:9810/64 scope link
valid_lft forever preferred_lft forever
5: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether e2:15:b8:9d:56:eb brd ff:ff:ff:ff:ff:ff
[root@slaves keepalived]#

发现vip没有绑定到网卡上,这是正常的,如果backup的vip也绑定网卡了就可能是裂脑了

然后把master上的keepalived kill掉,发现backup的vip会绑定到网卡上,这就说明keepalived配置成功

你可以在两台机器上安装下tomcat。通过192.168.1.100 访问下文件

下一篇结合nginx说下keepalived是怎么用的

keepalived衡环境搭建的更多相关文章

  1. keepalived+nginx高可用负载均衡环境搭建

    上篇说道keepalived的环境搭建,本来keepalived结合lvs更有优势,但是也可以结合nginx来使用.下面接着说下nginx的环境搭建 环境信息: nginx(master)  192. ...

  2. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(1)- 环境搭建(Python2.7.14 + PyAudio0.2.11 + Matplotlib2.2.3 + SpeechRecognition3.8.1 + pyttsx3 2.7)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之环境搭建. 在写Jays-PySPEECH时需要先搭好开发环境,下表列出了开发过程中会用到的 ...

  3. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(1)- 环境搭建(Python2.7.14 + pySerial3.4 + wxPython4.0.3)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之环境搭建. 在写Jays-PyCOM时需要先搭好开发和调试环境,下表列出了开发过程中会用到的所有软 ...

  4. MHA+keepalived集群环境搭建

    整个MHA+keepalived集群环境搭建 1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS6.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器 ...

  5. 痞子衡嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(1) - 开发环境搭建与点灯

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1062 TencentOS Tiny EVB_AIoT开发板环境搭建与点灯. 腾讯 TencentOS 团队于2021年1 ...

  6. Ningx集群环境搭建

    Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...

  7. Linux学习之CentOS(一)--CentOS6.4环境搭建

    Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...

  8. 生产环境搭建高可用Harbor(包括恢复演练实操)

    生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...

  9. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

随机推荐

  1. RealTimePerformanceDemoView

    using System;using System.Diagnostics;using System.Timers;using System.Windows;using System.Windows. ...

  2. Maven如何添加Oracle驱动包到本地仓库中

    2016-05-28 http://note.youdao.com/yws/public/redirect/share?id=54cbe79c8948113ef492f946f7e027c8& ...

  3. 如何在centos 6.7 上安装oracle 11gR2

    1.软件准备: centos6.7(64位); oracle11gR2((Linux x86-64)) 2.执行如下命令安装好相关的包: yum -y install \ binutils \ com ...

  4. AE IRasterCursor 改变栅格图层像素值

    1 public void ChangePixelValue(double xMax, double xMin, double yMax, double yMin,double[,] PixelCha ...

  5. C语言atan2()函数:求y/x的反正切值

    头文件:#include <math.h> atan2() 函数用于求 y / x 的反正切值.其原型为:    double atan2(double y, double x); [参数 ...

  6. Java值传递以及引用的传递、数组的传递!!

    转(http://blog.csdn.net/niuniu20008/article/details/2953785) 许多编程语言都有2种方法将参数传递给方法------按值传递和按引用传递. 与其 ...

  7. ORA-04021:timeout occurred while waiting to lock object

    编译某存储过程 ORA-04021 timeout occurred while waiting to lock object stringstringstringstringstring Cause ...

  8. Echart图表入门

    1.Echart是什么? Enterprise Charts的缩写,商业级数据图表,一个纯Javascript的图表库.更多的内容可以参考网上的资料 2.使用步骤 a.下载开发包 官网地址:http: ...

  9. 解决sublime text3 文件名,小框框的办法

    解决sublime text3 文件名,小框框的办法 之前一直都是用的英文命名的文件夹,到前几天才发现,用中文,来命名文件夹出现了乱码问题. 今天晚上,自己也在网上去百度了很多方案,好像大部分都不太有 ...

  10. Salesforce 动态审批

    由于Salesforce只支持根据条件动态选择审批分支,如果我们想进一步支持动态根据页面的某种条件选择审批人,Salesforce是不支持的.因此我们只能通过override salesforce审批 ...