linux下keepalived 安装配置

keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,
keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

下面讲解如何在linux安装keepalived并搭建高可用的web服务器。

首先是keepalived 的安装。keepalived是需要即时编译的,这里使用的是keepalived-1.2.2.tar.gz,这里假设把压缩文件上传到了/usr下。
首先登录到root用户下,并定位到/usr下。

#编译安装keepalived
unzip keepalived-1.2.2.tar.gz #或者使用“tar zxvf keepalived-1.2.2.tar.gz”命令来解压
cd keepalived-1.2.2
./configure --prefix=/usr/local/keepalived
make && make install #编译keepalived源码

#设定keepalived的配置文件并将keepalived注册为服务然后设定为开机启动(开机启动前面有讲)
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
chkconfig --level 2345 keepalived on #注册开机启动

说明一下,这里keepalived的本身安装在了/usr/local下,keepalived的配置文件keepalived.conf放在了/etc/keepalived下。

至此keepalived已经安装完成并添加到了开机启动下,先不要着急启动keepalived,我们还要配置一下它的配置文件。

先说一下我们要达到的要求:
1.当其中一台机器或者keepalived挂掉之后,虚拟ip自动飘移到另外一台机器上,从而实现高可用。当作为主的机器恢复后,虚拟ip会自动漂移回来。
2.当keepalived切换时,需要执行指定的脚本,在脚本中我们可以执行一些其他操作(例如启动或停止数据库)。

这里首先介绍一下虚拟ip(VIP)。
VIP是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址。数据包被发送到这个VIP地址,但是所有的数据还是进过真实的网络接口。
它IP技术的一种,增强网络管理,发挥出VLAN的优势,改变了网络结构,合理分配网络资源,均衡网络负载,有效降低网上广播信息,方便对用户的分组管理。
用白话说VIP就是一个IP地址,但并不是分配给特定网卡的。这样的话,多个网卡之间可以轮流与这个VIP进行绑定,从而在不需要改变web服务地址的情况下,实现程序的高可用。

VIP简单介绍完了,下面讲解如何配置keepalived的,从而实现高可用。
这里我用一句话来概括keepalived实现高可用的原理:两台机器之间(也可以多台)之间轮流提供VIP,从而让web服务不间断。
当一台服务器挂掉之后,VIP进行漂移,而这个过程是自动由keepalived帮我们完成的,我们要做的就是维护出问题的web服务器。

这里假设有两台机器A和B,他们的ip地址分别为192.168.1.8和192.168.1.9,而VIP我们设定为192.168.1.10。
先来配置机器A,我的目的是尽可能直白简单的介绍配置,从而让大家更容易理解。。。。
先vi /etc/keepalived/keepalived.conf这个文件

! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 { #一个keepalived实例
state MASTER #表明这是主机
interface eth0 #绑定的网卡
virtual_router_id 51 #两台机器要一致,表明他们是同一组
mcast_src_ip 192.168.1.8 #发送多播包的地址,就是本机的ip地址(如果本机有多个ip地址的话,这个很有用)
priority 200 #本机的竞争优先级,一般主的比从的高
advert_int 1
authentication {
auth_type PASS #认证类型
auth_pass 1111 #认证密码
}
virtual_ipaddress {
192.168.1.10 #提供的虚拟ip地址
}

notify_master "/1.sh" #在keepalived切换到本机时会执行此脚本
notify_backup "/2.sh" #在keepalived从本机切换走时会执行此脚本
notify_fault "/2.sh" #在keepalived停止时会执行此脚本
#注意下notify_backup和notify_fault的区别,比如从机,当VIP从从机切换到主机时,从机上的notify_backup脚本会执行;当从机的keepalived服务停止时(不仅仅是VIP漂移走了,而是keepalived的进程停止了),notify_fault的脚本会执行。

}

机器B
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP #表明是从机
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.1.9
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.10
}
}

ok,配置完成。在两台机器的root用户下分别执行:
service keepalived start

然后ping一下VIP:
ping 192.168.1.10
发现有返回。
然后我们关掉A机器或者停止A机器的keepalived(service keepalived stop),然后ping一下VIP,发现有返回,这是VIP已经票已到B机器了。

最后我们恢复A机器上的keepalived服务,然后ping一下VIP,也有返回,其实这时VIP已经漂移到机器A了。

大家可以在两台机器上安装一个web服务器或者直接使用linux的apache服务器,然后在浏览器里测试一下。
至于两个启动/停止脚本,大家有兴趣的可以自己测试下。

时间: 2024-10-10 21:33:00

linux下keepalived 安装配置的相关文章

Linux下PHP安装配置MongoDB数据库连接扩展

说明: 操作系统:CentOS 5.X 64位 MongoDB数据库服务器: IP地址:192.168.21.130 Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作: 一.安装PHP的MongoDB数据库扩展(在Web服务器192.168.21.127上操作) 下载地址:http://pecl.php.net/get/mongo-1.5.1.t

VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

首先启动Nginx 1. 转到 nginx 目录: /usr/local/nginx; 启动 nginx: /usr/local/nginx/nginx ubuntu 前要加 sudo; 关健配置 http 配置块下,一般设置在 zgip on 下: upstream localhost { #绿色对应 #ip_hash; server localhost:8090; server localhost:8080; } server / { location / { proxy_connect_t

Linux下git安装配置

一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅 http://abomby.i.sohu.com/blog/view/168755260.htm http://www.linuxidc.com/Linux/2011-12/48555.htm Git是分布式的版本控制系统,实际上是不需要固定的服务器的,Git与svn的最大区别是,它的使用流程不需要联机,可以先将对代码的修改,评论,

Linux下Eclipse安装配置PyDev

PyDev是Eclipse下支持Python开发的IDE插件,本文介绍安装和配置PyDev插件的过程. 一.安装PyDev插件两种安装方法: 1.在eclipse的Help->Install New Software···,点击右侧的Add按钮,依次填入下面的内容: Name:PyDev(这个随便); Location:http://pydev.org/updates 或 http://pydev.org/nightly 填好后点击ok按钮,在系统自动检索出的下拉框中选择PyDev(只选择这一项

Linux下Tomcat安装配置

买了台阿里云服务器,因为配置比较低,所以用Linux系统,这里记录一下我在Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 首先在/usr/local/下建立一个tomcat的文件夹 cd /usr/local/ mkdir tomcat cd tomcat/ 在网上下载tomcat的包,我现在的是tomcat8,也可根据实际需要到官网上获取下载链接. wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.2

Linux下,安装配置Weblogic

环境说明 系统 -- Linux RHEL5 32bit 环境 -- 局域网中在192.168.0.140(windows)通过xshell连接服务器 软件 -- 1.JDK:1.5.0_15  2.weblogic:10 3.weblogic破解文件 一.安装配置JDK //如果应用不需要高版本的JDK的话,可以不单独安装JDK 1. 安装JDK # chmod a+x jdk-1_5_0_15-linux-i586.bin  # ./jdk-1_5_0_15-linux-i586.bin  

Linux下MySQL安装配置

MySQL数据库MySQL数据库MySQL数据库MySQL数据库MySQL数据库 Linux下MySQL的安装步骤: 1.安装准备: 1.确保Linux服务器有基本开发工具. 服务器采用 --基本服务安装(不用最小化安装)>>自定义安装工具>>基本系统里面去掉java选项>>基本系统里面选中 基本 查看是否有vim和setup等工具选中. 2.确保服务能够访问外网.ping www.baidu.com 3.卸载系统自带mysql,没有略过. 1.查找以前是否装有mysq

(十二)linux下hadoop安装配置

1.准备Linux环境 1.1关闭防火墙 #查看防火墙状态 service iptables status #关闭防火墙 service iptables stop #查看防火墙开机启动状态 chkconfig iptables --list #关闭防火墙开机启动 chkconfig iptables off 1.2修改sudo su root vim /etc/sudoers 给hadoop用户添加执行的权限 hadoop  ALL=(ALL) ALL 关闭linux服务器的图形界面:vi /

Linux下Keepalived 安装与配置

一.环境说明 1.操作系统内核版本:2.6.9-78.ELsmp 2.Keepalived软件版本:keepalived-1.1.20.tar.gz 二.环境配置 1.主Keepalived服务器IP地址 192.168.111.223 2.备Keepalived服务器IP地址  192.168.111.100 3.Keepalived虚拟IP地址  192.168.111.150 三.软件下载地址 http://www.keepalived.org/software/keepalived-1.