系统环境: rhel6 x86_64 iptables and selinux disabled

主机: 192.168.122.119 server19.example.com

192.168.122.25 server25.example.com

192.168.122.163 server63.example.com

192.168.122.193 server93.example.com

所需的包:keepalived-1.2.7.tar.gz

Realserver1
192.168.122.163:apache

Realserver2
192.168.122.193:apache

Load
Balance 192.168.122.119:keepalived

Load
Balance 192.168.122.25:keepalived

Virtual
IP 192.168.122.178

以下步骤在server19server25上实施:

[root@server19
~]# yum install kernel-devel make gcc -y

[root@server19
~]# yum install openssl-devel popt-devel -y

[root@server19
~]# yum install libnl-devel -y

以下步骤在server19server25上实施:

[root@server19
kernel]# tar zxf keepalived-1.2.7.tar.gz

[root@server19
kernel]# cd keepalived-1.2.7

[root@server19
keepalived-1.2.7]# ./configure –prefix=/usr/local/keepalived

[root@server19
keepalived-1.2.7]# make && make install

[root@server19
keepalived-1.2.7]# scp -r /usr/local/keepalived/
root@192.168.122.25:/usr/local/

以下步骤在server19server25上实施:

[root@server19
keepalived-1.2.7]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/

[root@server19
keepalived-1.2.7]# ln -s
/usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@server19
keepalived-1.2.7]# ln -s
/usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

[root@server19
keepalived-1.2.7]# ln -s /usr/local/keepalived/sbin/keepalived
/sbin/

注:系统镜像的负载均衡套件中也集成了keepalived,也可以直接使用yum
install keepalived -y进行安装。但需先配置yum源:

[LoadBalancer]

name=Instructor
Server Repository

baseurl=ftp://192.168.122.1/pub/yum/LoadBalancer

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

enabled=1

以下步骤在server19实施:

[root@server19
~]# vim /etc/keepalived/keepalived.conf

global_defs
{

notification_email {

root@localhost 错误发送至此邮箱

}

notification_email_from keepalived@server19.example.com
发信人

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance
VI_1 {

state MASTER 角色:(1)MASTER
(2)BACKUP

interface eth0

virtual_router_id 51 (主备的配置需要一致)

priority 100 优先级(数字越大,优先级越高)

advert_int 1

authentication {

auth_type PASS 认证类型

auth_pass 1111 认证密码

}

virtual_ipaddress {

192.168.122.178 虚拟IP,可设置多个

}

}

virtual_server
192.168.122.178 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

#
persistence_timeout 50

protocol TCP

real_server 192.168.122.163 80 {

weight 1

TCP_CHECK {
(注:TCP_CHECK和大括号之间要有空格)

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

以下步骤在server25实施:

[root@server25
~]# vim /etc/keepalived/keepalived.conf

global_defs
{

notification_email {

root@localhost 错误发送至此邮箱

}

notification_email_from keepalived@server25.example.com
发信人

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance
VI_1 {

state BACKUP 角色:(1)MASTER
(2)BACKUP

interface eth0

virtual_router_id 51 (主备的配置需要一致)

priority 50 优先级(数字越大,优先级越高)

advert_int 1

authentication {

auth_type PASS 认证类型

auth_pass 1111 认证密码

}

virtual_ipaddress {

192.168.122.178 虚拟IP,可设置多个

}

}

virtual_server
192.168.122.178 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

#
persistence_timeout 50

protocol TCP

real_server 192.168.122.163 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

以下步骤在server63上实施:

[root@server63
~]# yum install arptables_jf httpd -y

[root@server63
~]# arptables -A IN -d 192.168.122.178 -j DROP

[root@server63
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.163

[root@server63
~]# /etc/init.d/arptables_jf save

[root@server63
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[root@server63
~]# ip addr add 192.168.122.178 dev eth0

注:可用ip
addr show查看

[root@server63
~]# echo `hostname` > /var/www/html/index.html

[root@server63
~]# /etc/init.d/httpd start

以下步骤在server93上实施:

[root@server93
~]# yum install arptables_jf httpd -y

[root@server93
~]# arptables -A IN -d 192.168.122.178 -j DROP

[root@server93
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.193

[root@server93
~]# /etc/init.d/arptables_jf save

[root@server93
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[root@server93
~]# ip addr add 192.168.122.178 dev eth0

注:可用ip
addr show查看

[root@server93
~]# echo `hostname` > /var/www/html/index.html

[root@server93
~]# /etc/init.d/httpd start

以下步骤在server19server25上实施:

[root@server19
~]# /etc/init.d/keepalived start

测试:

执行ip
addr show
可查看虚拟IP,执行ipvsadm
-l
查看规则是否加载,访问192.168.122.178反复刷新网页,每次出现的页面都不同说明配置成功.
当主备挂掉后可由另一台接管,当两台都正常时由Master充当调度器.

#配置多个服务(apache+ftp

以下步骤在server19实施:

[root@server19
~]# vim /etc/keepalived/keepalived.conf

global_defs
{

notification_email {

root@localhost

}

notification_email_from keepalived@server19.example.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance
VI_1 {

state MASTER

interface eth0

virtual_router_id 51 (主备的配置需要一致)

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.122.178 虚拟IP,可设置多个

}

}

virtual_server
192.168.122.178 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

#
persistence_timeout 50

protocol TCP

real_server 192.168.122.163 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

virtual_server
192.168.122.178 21 {

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

persistence_timeout 50 持续连接时间为50s

protocol TCP

real_server 192.168.122.163 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

以下步骤在server25实施:

[root@server25
~]# vim /etc/keepalived/keepalived.conf

global_defs
{

notification_email {

root@localhost

}

notification_email_from keepalived@server25.example.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance
VI_1 {

state BACKUP

interface eth0

virtual_router_id 51 (主备的配置需要一致)

priority

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.122.178 虚拟IP,可设置多个

}

}

virtual_server
192.168.122.178 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

#
persistence_timeout 50

protocol TCP

real_server 192.168.122.163 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

virtual_server
192.168.122.178 21
{

delay_loop 6

lb_algo rr

lb_kind DR

#
nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.122.163 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.122.193 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

以下步骤在server63上实施:

[root@server63
~]# yum install arptables_jf httpd vsftpd -y

[root@server63
~]# arptables -A IN -d 192.168.122.178 -j DROP

[root@server63
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.163

[root@server63
~]# /etc/init.d/arptables_jf save

[root@server63
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[root@server63
~]# ip addr add 192.168.122.178 dev eth0

注:可用ip
addr show查看

[root@server63
~]# echo `hostname` > /var/www/html/index.html

[root@server63
~]# /etc/init.d/httpd start

[root@server63
~]# touch /var/ftp/server63

[root@server63
~]# /etc/init.d/vsftpd start

以下步骤在server93上实施:

[root@server93
~]# yum install arptables_jf httpd vsftpd -y

[root@server93
~]# arptables -A IN -d 192.168.122.178 -j DROP

[root@server93
~]# arptables -A OUT -s 192.168.122.178 -j mangle --mangle-ip-s
192.168.122.193

[root@server93
~]# /etc/init.d/arptables_jf save

[root@server93
~]# ifconfig eth0:0 192.168.122.178 netmask 255.255.255.255 up

[root@server93
~]# ip addr add 192.168.122.178 dev eth0

注:可用ip
addr show查看

[root@server93
~]# echo `hostname` > /var/www/html/index.html

[root@server93
~]# /etc/init.d/httpd start

[root@server93
~]# touch /var/ftp/server93

[root@server93
~]# /etc/init.d/vsftpd start

以下步骤在server19server25上实施:

[root@server19
~]# /etc/init.d/keepalived start

Rhel6-keepalived+lvs配置文档的更多相关文章

  1. Rhel6-heartbeat+lvs配置文档

    系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119 server19.example.com 192.168.12 ...

  2. 最详细的keepalived+lvs-dr配置文档

    四台台机器: 分发器主:192.168.0.154 分发器备:192.168.0.171 rs_1:192.168.0.131 rs_2:192.168.0.132 keepalived安装: yum ...

  3. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  4. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  5. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  6. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  7. Spring Hibernate4 整合配置文档

    1 applicationContext.xml配置文档 <?xml version="1.0" encoding="UTF-8"?><bea ...

  8. Kerberos主从配置文档

    Kerberos主从配置文档   1. Kerberos主从同步机制 在Master上通过以下命令同步数据: kdb5_util dump /var/kerberos/krb5kdc/slave_db ...

  9. python常用模块-配置文档模块(configparser)

    python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...

随机推荐

  1. form属性method="get/post

    form属性method="get/post"的两种方式对比 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的.Form提供了两种数据传输的方式——g ...

  2. Android事件传递机制(转)

    Android事件构成 在Android中,事件主要包括点按.长按.拖拽.滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作.所有这些都构成了Android中的事件响应.总的来说,所有的事件都 ...

  3. google_apactest_round_A_problem_D

    先尝试过小数据 题目 有8张卡牌,每个卡牌都可以有不同的等级,每个卡牌的不同等级具有不同的攻击力,可以通过花钱给卡牌充值从而升级,且每次只能升一级,比如可以花1个硬币将卡牌2从1级升级到2级,同时卡牌 ...

  4. python语法笔记(一)

    1. python中多个函数或者类定义可以放在一个.py 文件中,视为一个模块.模块的.py文件中,一般要写 if __name__ == '__mian__' 用来单独执行该模块内的某些函数. 2. ...

  5. windows多线程框架

    #include <iostream> #include <windows.h> using namespace std; HANDLE hMutex; //public : ...

  6. VB6 GDI+ 入门教程[5] 基础绘图小结

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[5] 基础绘图小结 2009 年 6 月 18 日 4条 ...

  7. jmeter 构建一个LDAP测试计划

    添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请求的数量. 继续添加ThreadGroup ...

  8. Ubuntu 下 Neo4j单机安装和集群环境安装

    1. Neo4j简介 Neo4j是一个用Java实现的.高性能的.NoSQL图形数据库.Neo4j 使用图(graph)相关的概念来描述数据模型,通过图中的节点和节点的关系来建模.Neo4j完全兼容A ...

  9. [HBuilder] 简介

    官网首页: http://www.dcloud.io/runtime.html 特点: 编码比其他工具快5倍 代码输入法:按下数字快速选择候选项 可编程代码块:一个代码块,少敲50个按键 内置emme ...

  10. jsp-------------之分页技术(一)

    jsp分页技术之: 如下图:百度的喵 看上图中卡哇伊的小苗的爪子下面的数字,就是分页啦!那我们如何做出这样一个效果呢? 下面我们来逐一分解: jsp分页技术一 :  (算法) /* int pageS ...