一、简介

Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。

上图是Keepalived的功能体系结构,大致分两层:用户空间(user space)和内核空间(kernel space)。 
内核空间:主要包括IPVS(IP虚拟服务器,用于实现网络服务的负载均衡)和NETLINK(提供高级路由及其他相关的网络功能)两个部份。 
用户空间

  • WatchDog:负载监控checkers和VRRP进程的状况
  • VRRP Stack:负载负载均衡器之间的失败切换FailOver,如果只用一个负载均稀器,则VRRP不是必须的。
  • Checkers:负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。换言之,可以没有VRRP Stack,但健康检查healthchecking是一定要有的。
  • IPVS wrapper:用户发送设定的规则到内核ipvs代码
  • Netlink Reflector:用来设定vrrp的vip地址等。

Keepalived的所有功能是配置keepalived.conf文件来实现的。

二、安装与配置

从官网下载keepalived,本文以版本1.2.24为例。

2.1 安装

[root@keepalived-nginx1 ~]# wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz
[root@keepalived-nginx1 ~]# tar -xzvf keepalived-1.2.24.tar.gz
[root@keepalived-nginx1 ~]# cd keepalived-1.2.24
[root@keepalived-nginx1 keepalived-1.2.24]# ./configure --prefix=/usr/local/keepalived
[root@keepalived-nginx1 keepalived-1.2.24]# make && make install

2.2 配置

安装完成后,进入安装目录的etc目录下,将keepalived相应的配置文件拷贝到系统相应的目录当中。keepalived启动时会从/etc/keepalived目录下查找keepalived.conf配置文件,如果没有找到则使用默认的配置。/etc/keepalived目录安装时默认是没有安装的,需要手动创建。配置文件目录结构如下所示:

[root@keepalived-nginx1 ~]# tree -l /usr/local/keepalived/etc/
/usr/local/keepalived/etc/
├── keepalived
│   ├── keepalived.conf
│   └── samples
│   ├── client.pem
│   ├── dh1024.pem
│   ├── keepalived.conf.fwmark
│   ├── keepalived.conf.HTTP_GET.port
│   ├── keepalived.conf.inhibit
│   ├── keepalived.conf.IPv6
│   ├── keepalived.conf.misc_check
│   ├── keepalived.conf.misc_check_arg
│   ├── keepalived.conf.quorum
│   ├── keepalived.conf.sample
│   ├── keepalived.conf.SMTP_CHECK
│   ├── keepalived.conf.SSL_GET
│   ├── keepalived.conf.status_code
│   ├── keepalived.conf.track_interface
│   ├── keepalived.conf.virtualhost
│   ├── keepalived.conf.virtual_server_group
│   ├── keepalived.conf.vrrp
│   ├── keepalived.conf.vrrp.localcheck
│   ├── keepalived.conf.vrrp.lvs_syncd
│   ├── keepalived.conf.vrrp.routes
│   ├── keepalived.conf.vrrp.rules
│   ├── keepalived.conf.vrrp.scripts
│   ├── keepalived.conf.vrrp.static_ipaddress
│   ├── keepalived.conf.vrrp.sync
│   ├── root.pem
│   └── sample.misccheck.smbcheck.sh
├── rc.d
│   └── init.d
│   └── keepalived
└── sysconfig
└── keepalived

分别对应系统目录(忽略samples目录):

/etc/keepalived/keepalived.conf
/etc/rc.d/init.d/keepalived
/etc/sysconfig/keepalived

将配置文件拷贝到系统对应的目录下

[root@keepalived-nginx1 ~]# mkdir /etc/keepalived
[root@keepalived-nginx1 ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
[root@keepalived-nginx1 ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/keepalived
[root@keepalived-nginx1 ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived
[root@keepalived-nginx1 ~]# cd /etc/init.d/
[root@keepalived-nginx1 init.d]# chmod +x keepalived
[root@keepalived-nginx1 init.d]# service keepalived start
Starting keepalived: /bin/bash: keepalived: command not found
[FAILED]
[root@keepalived-nginx1 init.d]# ln -s /usr/local/keepalived/sbin/keepalived /usr/bin/
[root@keepalived-nginx1 init.d]# service keepalived start
Starting keepalived: [ OK ]

http://www.mamicode.com/info-detail-1181951.html

http://blog.csdn.net/xyang81/article/details/52554398

tree -l命令参考的更多相关文章

  1. [转帖]ipvsadm命令参考及其应用例子

    ipvsadm命令参考及其应用例子 https://blog.csdn.net/orichisonic/article/details/47375227 只是简单创建了 service和添加serve ...

  2. 【转】VMwareCLI命令参考

    VMwareCLI命令参考 目录 基本命令范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...

  3. ipvsadm的命令参考

    相信很多同学和我差不多,半桶水,貌似在配置lvs双机的时候,直接用的keepalived,ipvsadm就用来看看,感觉没啥用,今天无聊到处逛发现,某大神说,keepalived只是ipvsadm的一 ...

  4. maven命令参考简要

    命令参考简要说明 mvn archetype:generate — 创建生成Tiny骨架工程 参数名 说明 groupId 用户项目的包目录,用户需要根据实际情况设置.比如com.abc artifa ...

  5. mac终端中显示tree的命令

    寻觅了良久终于找到了mac下如何在终端显示tree的命令了,作为从linux下转过来的人,还没适应mac的finder,还是喜欢在命令行下查看文件. 命令: find . -print | sed - ...

  6. 实现Linux下的ls -l命令

    基本实现了Linux下的ls -l命令,对于不同的文件显示不同的颜色和显示符号链接暂时没有实现: /************************************************** ...

  7. Redis 命令参考

    Redis 命令参考 http://redis.readthedocs.org/en/latest/index.html

  8. Filebeat命令参考

     Filebeat命令参考: Filebeat提供了一个命令行界面,用于启动Filebeat并执行常见任务,例如测试配置文件和加载仪表板.命令行还支持用于控制全局行为的全局标志. 命令: export ...

  9. redis命令参考和redis文档中文翻译版

    找到了一份redis的中文翻译文档,觉得适合学习和查阅.这份文档翻译的真的很良心啊,他是<Redis 设计与实现>一书的作者黄健宏翻译的. 地址:http://redisdoc.com/i ...

随机推荐

  1. D2007在win7下bordbk105N.dll 莫名其妙的问题。

    已经装过一次win7下d2007.再装一次就出现许多莫名其妙的问题.其中之一: Windows 7 64bit Delphi Debugger Fix / Workaround 2013-08-28 ...

  2. ACDream - k-GCD

    先上题目: B - k-GCD Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Sub ...

  3. mongodb-replication set 复制集

    推荐一篇mongodb集群的博客 replication set 多台服务器维护相同的数据副本,提高服务的可用性 1.启动3个实例,且声明属于某复制集 mongod --port 27017 --db ...

  4. Python之Mysql及SQLAlchemy操作总结

    一.Mysql命令总结 1.创建库 create database test1; 2.授权一个用户 grant all privileges on *.* to 'feng'@'%' identifi ...

  5. 手动重启weblogic脚本

    手动重启weblogic脚本 pid=`ps -ef|grep fzjc_Admin_Server|grep -v grep|awk '{print $2}'` echo $pid kill -9 $ ...

  6. 阿里巴巴集团2014年校园招聘系统project师北京笔试题

    第一部分 单选题(前10题,每题2分;后10题,每题3分;共50分.选对得满分,选错倒扣一分,不选得0分.) 1.字符串"alibaba"有 个不同的排列. A. 5040 B. ...

  7. POJ2184 Cow Exhibition 背包

    题目大意:已知c[i]...c[n]及f[i]...f[n],现要选出一些i,使得当sum{c[i]}和sum{f[i]}均非负时,sum(c[i]+f[i])的最大值. 以sum(c[i])(c[i ...

  8. hdoj--1533--Going Home(KM)

    Going Home Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  9. 【算法】Quick Select

    针对问题 找到一对无序的数中第  K  大,或者第 K 小的元素,返回该元素的值或者它的 index(index 的情况比较适合这堆数每个都独一无二的情况,不然可能会有多个答案). 关键思想 拿一个数 ...

  10. Python关于super()函数的理解

    看下面的例子: class A: def __init__(self, name): self.name = name def bb(self): print('没事就爱瞎BB') class B(A ...