设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

楼主: NetSeek

[keepalived] 利用LVS+Keepalived 实现高性能高可用负载均衡服务器   [复制链接]

Rank: 4

注册时间
2009-2-15
最后登录
2011-12-6
在线时间
128 小时
阅读权限
50
积分
565
帖子
109
主题
36
精华
0
UID
1429
发表于 2009-8-23 20:57:57 |显示全部楼层
本帖最后由 hengfg 于 2009-8-23 20:59 编辑

NetSeek... 我按照你的配置。。出现一个问题和有一个问题和 疑问

问题:停用了realserver.sh和lvs-dr.sh之后,只启用keepalived服务,但是不生效啊,怎么回事啊?

疑问: LVS-DR-Master 这台机同时扮演 LVS-DR-Master、LVS-DR-VIP、WEB1-Realserver角色。LVS-DR-BACKUP就同时扮演LVS-DR-BACKUP、WEB2-Realserver角色,这样可以不?这样实现的话,两台机就能做集群了。。

使用道具 举报

Rank: 1

注册时间
2009-2-10
最后登录
2009-9-11
在线时间
6 小时
阅读权限
10
积分
7
帖子
13
主题
5
精华
0
UID
1355
发表于 2009-9-11 17:28:59 |显示全部楼层
问下LZ :
  那个 realserver 上的脚本在keepalived负载均衡中是不是必须的啊。修改很多WEB服务器的设置很麻烦啊

使用道具 举报

Rank: 1

注册时间
2009-9-18
最后登录
2009-10-11
在线时间
21 小时
阅读权限
10
积分
2
帖子
4
主题
0
精华
0
UID
5466
发表于 2009-9-20 09:51:45 |显示全部楼层
我编译keepalived时出错,是什么包没有安装啊???????????????????????????
/*****************************************************************/
make -C lib || exit 1;
make[1]: Entering directory `/srv/keepalived-1.1.17/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/srv/keepalived-1.1.17/lib'
make -C keepalived
make[1]: Entering directory `/srv/keepalived-1.1.17/keepalived'
make[2]: Entering directory `/srv/keepalived-1.1.17/keepalived/core'
gcc -g -O2  -I/usr/src/linux/include -I../include -I../../lib -Wall -Wunused -Ws                                                             trict-prototypes -D_KRNL_2_2_ -D_WITH_LVS_ -D_WITH_VRRP_  -c main.c
gcc -g -O2  -I/usr/src/linux/include -I../include -I../../lib -Wall -Wunused -Ws                                                             trict-prototypes -D_KRNL_2_2_ -D_WITH_LVS_ -D_WITH_VRRP_  -c layer4.c
In file included from ../include/check_api.h:29,
                 from layer4.c:27:
../include/check_data.h:38:27: error: linux/ip_masq.h: No such file or directory
../include/check_data.h:39:25: error: net/ip_masq.h: No such file or directory
In file included from ../include/check_api.h:29,
                 from layer4.c:27:
../include/check_data.h:118: error: 'IP_MASQ_TNAME_MAX' undeclared here (not in                                                              a function)
make[2]: *** [layer4.o] Error 1
make[2]: Leaving directory `/srv/keepalived-1.1.17/keepalived/core'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/srv/keepalived-1.1.17/keepalived'
make: *** [all] Error 2
/***************************************************************/
请高手看一下....

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2009-9-20 14:13:52 |显示全部楼层
78# sbsbsbsbsb


keepaliived安装, 正确定义你当前的内核核本,查看是否安装kernel-devel相关包.
./configure --prefix=/ \
--mandir=/usr/local/share/man \
--with-kernel-dir=/usr/src/kernels/2.6.9-67.EL-smp-i686/
make
make install
感谢大家对linuxtone的支持!

使用道具 举报

Rank: 1

注册时间
2009-9-18
最后登录
2009-10-11
在线时间
21 小时
阅读权限
10
积分
2
帖子
4
主题
0
精华
0
UID
5466
发表于 2009-9-20 19:23:29 |显示全部楼层
本帖最后由 sbsbsbsbsb 于 2009-9-20 19:24 编辑

我的系统是CentOS的,默认安装/usr/src/下面没有源码的........我装ipvsadm时是随便在www.kernel.org下的tarball,安装ipvsadm没有问题,但是keepalived怎么也装不上........................................不知道怎么才能获得合适的内核版本....................

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2009-9-20 22:23:13 |显示全部楼层
80# sbsbsbsbsb
yum install kernel-devel
感谢大家对linuxtone的支持!

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2009-9-20 22:23:59 |显示全部楼层
77# v_hide

必须的,写个自动化脚本分发一下就可以了.
感谢大家对linuxtone的支持!

使用道具 举报

Rank: 1

注册时间
2009-9-18
最后登录
2009-10-11
在线时间
21 小时
阅读权限
10
积分
2
帖子
4
主题
0
精华
0
UID
5466
发表于 2009-9-21 16:27:21 |显示全部楼层
我的keepalived配置文件为:
-----------------------------------------------------------------------
!Configuration File for keepalived
global_defs {
   #notification_email {
    #     cnseek@gmail.com
   #}
  # notification_email_from sns-lvs@gmail.com
  # smtp_server 127.0.0.1
  # smtp_connect_timeout 30
   router_id LVS_DEVEL
}

# 20081013 written by :netseek
# VIP1
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.0.100   
     
    }
}

virtual_server 192.168.0.100 80 {
    delay_loop 6                 
    lb_algo rr               
    lb_kind DR               
    persistence_timeout 60
    protocol TCP
   
   
   real_server 192.168.0.4 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
   real_server 192.168.0.5 80{
       weight 1
       TCP_CHECK{
       connect_timeout 10
       nb_get_retry 3
       delay_before_retry 3
       connect_port 80
       }
   }
}
--------------------------------------------------------------------------
开启keepalived后,怎么只能把请求发给192.168.0.4,不能发给192.168.0.5........
我用ipvsadm检查:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
  -> RemoteAddressort           Forward Weight ActiveConn InActConn
TCP  bogon:http rr persistent 60
  -> bogon:http                   Route   1      0          0
  -> bogon:http                   Route   3      0          5
---------------------------------------------
不能实现负载平衡啊,我直接使用lvs脚本到是可以.............................

使用道具 举报

Rank: 1

注册时间
2009-9-30
最后登录
2010-7-21
在线时间
0 小时
阅读权限
10
积分
3
帖子
2
主题
0
精华
0
UID
5691
发表于 2009-9-30 10:37:08 |显示全部楼层
感谢楼主分享资料!

使用道具 举报

Rank: 2

注册时间
2009-9-24
最后登录
2011-10-10
在线时间
24 小时
阅读权限
20
积分
154
帖子
30
主题
3
精华
0
UID
5585
发表于 2009-10-16 13:40:36 |显示全部楼层
谢谢。

使我的认识又进了一步

使用道具 举报

Rank: 2

注册时间
2009-10-18
最后登录
2010-1-4
在线时间
10 小时
阅读权限
20
积分
53
帖子
9
主题
2
精华
0
UID
5972
发表于 2009-10-18 21:10:14 |显示全部楼层
真棒!这个网站真的很棒!

使用道具 举报

Rank: 1

注册时间
2009-2-5
最后登录
2011-11-6
在线时间
14 小时
阅读权限
10
积分
19
帖子
9
主题
3
精华
0
UID
1296
发表于 2009-11-2 18:11:58 |显示全部楼层
各位好,我遇到的一个问题,就是如WEB1当机了,当前正在访问lvs的用户还是会在WEB1上停60S,不会立即在F5的情况下转至WEB2上去,大家对这个问题是如何解决的?

使用道具 举报

Rank: 1

注册时间
2009-11-3
最后登录
2011-8-24
在线时间
5 小时
阅读权限
10
积分
2
帖子
4
主题
0
精华
0
UID
6374
发表于 2009-11-3 19:21:41 |显示全部楼层
我想请问楼主,就像76楼hengfg的疑问那样,BACKUP节点是可以作为RealServer的吧?

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2009-11-3 20:29:57 |显示全部楼层
88# lifeng_cool

可以,但是需要自己写脚本处理,一般LVS Director的两台机器配置要求不是很高,可能做Realserver并不是太适合。
感谢大家对linuxtone的支持!

使用道具 举报

Rank: 1

注册时间
2009-11-3
最后登录
2011-8-24
在线时间
5 小时
阅读权限
10
积分
2
帖子
4
主题
0
精华
0
UID
6374
发表于 2009-11-4 11:33:26 |显示全部楼层
谢谢NetSeek!
可现在的情况是只有三台主机,且每台的配置都很高,我想做的是:两个realserver,其中一个也同时作为backup, 而系统的请求量其实很小,系统瓶颈是在数据库,如果Director只作请求转发的话,那太浪费它了。可以直接在Direcotor上另开一个IP,让它也同时作为realserver来接受自身转发过来的请求,实现和其它两个节点一样的webserver和DB处理,这样理论上可以实现吗?如果不能,为什么?LVS的三种方式都没有提到这样的实现方式,难道不可以吗?小弟不太懂网络这些, 请指教。
对于我这种情况,不知道有什么更好的负载均衡方案?
另,我按您的配置,在tail message时,不断循环出现以下信息
Nov  4 11:24:42 localtest Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Nov  4 11:24:42 localtest Keepalived_vrrp: VRRP_Instance(VI_1) the virtual id must be set!
Nov  4 11:24:42 localtest Keepalived: VRRP child process(7264) died: Respawning
Nov  4 11:24:42 localtest Keepalived: Starting VRRP child process, pid=7265
Nov  4 11:24:42 localtest Keepalived_vrrp: Netlink reflector reports IP 192.168.122.1 added
Nov  4 11:24:42 localtest Keepalived_vrrp: Netlink reflector reports IP 10.61.0.245 added
Nov  4 11:24:42 localtest Keepalived_vrrp: Netlink reflector reports IP 10.61.0.244 added
Nov  4 11:24:42 localtest Keepalived_vrrp: Registering Kernel netlink reflector
Nov  4 11:24:42 localtest Keepalived_vrrp: Registering Kernel netlink command channel
Nov  4 11:24:42 localtest Keepalived_vrrp: Registering gratutious ARP shared channel
这里VRRP_Instance(VI_1) the virtual id must be set!怎么解决?virtual id在哪设置?
谢谢!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-2-4 19:36 , Processed in 0.073760 second(s), 8 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部