一、简介

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. 【微软2017年预科生计划在线编程笔试第二场 A】Queen Attack

    [题目链接]:http://hihocoder.com/problemset/problem/1497 [题意] 给你n个皇后; 然后问你其中能够互相攻击到的皇后的对数; 皇后的攻击可以穿透; [题解 ...

  2. Zookeeper-单机/集群安装

    简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少量信息.Hadoo ...

  3. 洛谷 P3819 松江1843路

    题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方,其中住了r[i]人. 松江1843路公交车要在这条路上建一个公交站,市政府希望让最多的 ...

  4. CF789B. Masha and geometric depression

    /* CF789B. Masha and geometric depression http://codeforces.com/contest/789/problem/B 水题 各种特判,贼烦 */ ...

  5. [bzoj1660][Usaco2006 Nov]Bad Hair Day_单调栈

    Bad Hair Day bzoj-1660 Usaco-2006 Nov 题目大意:n头牛站成一列,每头牛向后看.f[i]表示第i头牛到第n头牛之间有多少牛,使得这些牛都比i矮,且中间没有比i高的牛 ...

  6. [bzoj2600][Ioi2011]ricehub_二分

    ricehub bzoj-2600 Ioi-2011 题目大意:在数轴上有r块稻田,稻田坐标为整数.计划建造一个米仓,使得它可以收取尽量多的稻米.米仓的坐标仍需为整数.每一块权值为val的稻田距离米仓 ...

  7. 手动重启weblogic脚本

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

  8. java5核心基础之泛型(3)-泛型作用于编译阶段-怎样将String对象传入Integer类型的泛型对象中?

    泛型作用于编译阶段: 泛型是作用于编译阶段,在编译阶段控制类型,以确保在编写代码的时候仅仅能传入指定类型数据到泛型集合对象中去. 怎样验证呢,贴代码例如以下: package highBasic.ge ...

  9. 设备树学习之(一)GPIO中断【转】

    本文转载自:http://blog.csdn.net/lizuobin2/article/details/54563587 开发板:tiny4412SDK + S702 + 4GB Flash 要移植 ...

  10. [ZJOI 2010] 数字计数

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1833 [算法] 数位DP [代码] #include <algorithm&g ...