设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 7230|回复: 9

[lvs] lvs+keepalived下配置Realserver脚本的问题 [复制链接]

Rank: 6Rank: 6

签到
84
注册时间
2012-3-31
最后登录
2013-2-28
在线时间
34 小时
阅读权限
70
积分
7867
帖子
17
主题
7
精华
0
UID
19162
发表于 2012-4-19 16:44:14 |显示全部楼层
本帖最后由 werewr 于 2012-4-19 16:56 编辑

我怎么在网上看到在lvs+keepalived下配置Realserver脚本有好几个版本,不知哪个正确,注意红色部分
其中一个是
     #vi /usr/local/sbin/realserver.sh
        #!/bin/bash
        # description: Config realserver lo and apply noarp
        #Written by :NetSeek http://www.linuxtone.org
        
        SNS_VIP=61.164.122.8
         
        . /etc/rc.d/init.d/functions
         
        case "$1" in
        start)
               ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
               /sbin/route add -host $SNS_VIP dev lo:0
               
              echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
               echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
               echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
               echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
               sysctl -p >/dev/null 2>&1
               echo "RealServer Start OK"
         
               ;;
        stop)
               ifconfig lo:0 down
               route del $SNS_VIP >/dev/null 2>&1              
               echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
               echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
               echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
               echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
               echo "RealServer Stoped"
               ;;
        *)
               echo "Usage: $0 {start|stop}"
               exit 1
        esac
         
        exit 0

另外一个版本是,这个版本是高俊峰出的《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》中第286页写的
        #vi /usr/local/sbin/realserver.sh
        #!/bin/bash
        # description: Config realserver lo and apply noarp
        #Written by :NetSeek http://www.linuxtone.org
        
        SNS_VIP=61.164.122.8
         
        . /etc/rc.d/init.d/functions
         
        case "$1" in
        start)
               ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP  netmask 255.255.255.255 up               
               echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
               echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
               echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
               sysctl -p >/dev/null 2>&1
               echo "RealServer Start OK"
         
               ;;
        stop)
               ifconfig lo:0 down
               echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
               echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
               echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
               echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
               echo "RealServer Stoped"
               ;;
        *)
               echo "Usage: $0 {start|stop}"
               exit 1
        esac
         
        exit 0
     
     

Rank: 6Rank: 6

注册时间
2012-3-31
最后登录
2013-2-28
在线时间
34 小时
阅读权限
70
积分
7867
帖子
17
主题
7
精华
0
UID
19162
发表于 2012-4-19 16:53:39 |显示全部楼层
不同在于
   ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
     ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP  netmask 255.255.255.255 up               

还有就是在第一版本中
   /sbin/route add -host $SNS_VIP dev lo:0  中有/sbin/
    route del $SNS_VIP >/dev/null 2>&1   中没有/sbin/
同时在第二个版本中没这两句

使用道具 举报

Rank: 6Rank: 6

注册时间
2012-3-14
最后登录
2015-2-6
在线时间
28 小时
阅读权限
70
积分
9865
帖子
61
主题
13
精华
0
UID
18652
发表于 2012-4-20 00:02:13 |显示全部楼层
都是定义 一个虚拟的IP 即 客户端访问的IP。
只不过第一个版本中是添加了一条路由,
当然这条静态路由也可以手工添加。
建议还是在脚本中加上,以免忘记,造成访问失败,找不到路由的结果。

使用道具 举报

Rank: 6Rank: 6

注册时间
2012-3-14
最后登录
2015-2-6
在线时间
28 小时
阅读权限
70
积分
9865
帖子
61
主题
13
精华
0
UID
18652
发表于 2012-4-20 00:03:50 |显示全部楼层
都是定义 一个虚拟的IP 即 客户端访问的IP。
只不过第一个版本中是添加了一条路由,
当然这条静态路由也可以手工添加。
建议还是在脚本中加上,以免忘记,造成访问失败,找不到路由的结果。

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-4-9
最后登录
2017-4-12
在线时间
139 小时
阅读权限
90
积分
23277
帖子
23
主题
2
精华
0
UID
8771
发表于 2012-4-20 16:26:53 |显示全部楼层
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP  netmask 255.255.255.255 up
这两句效果是等效的 都是启VIP

/sbin/route 和 route也是等效的 有/sbin/只是指明了route命令的绝对路径,指定绝对路径是个写脚本的好习惯

使用道具 举报

Rank: 6Rank: 6

注册时间
2012-3-31
最后登录
2013-2-28
在线时间
34 小时
阅读权限
70
积分
7867
帖子
17
主题
7
精华
0
UID
19162
发表于 2012-4-20 22:14:47 |显示全部楼层
  /sbin/route add -host $SNS_VIP dev lo:0
    route del $SNS_VIP >/dev/null 2>&1

这两句有的版本中没有啊

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-4-9
最后登录
2017-4-12
在线时间
139 小时
阅读权限
90
积分
23277
帖子
23
主题
2
精华
0
UID
8771
发表于 2012-4-23 10:07:15 |显示全部楼层
werewr 发表于 2012-4-20 22:14
/sbin/route add -host $SNS_VIP dev lo:0
    route del $SNS_VIP >/dev/null 2>&1

添加 删除到VIP的路由,不是必须的,可有可无

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-5-8
最后登录
2019-7-22
在线时间
2996 小时
阅读权限
90
积分
17383
帖子
1356
主题
1222
精华
0
UID
13536
发表于 2012-4-24 10:26:30 |显示全部楼层
我用的是第一种。感觉也行

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-11-30
最后登录
2015-8-5
在线时间
98 小时
阅读权限
90
积分
14677
帖子
121
主题
24
精华
0
UID
16171
发表于 2012-5-10 11:03:28 |显示全部楼层
本帖最后由 大漠孤沙 于 2012-5-10 14:20 编辑

可有可无加上/sbin只不过是个命令的绝对路径,这样子写更准确!

使用道具 举报

Rank: 6Rank: 6

注册时间
2011-12-26
最后登录
2019-7-22
在线时间
16 小时
阅读权限
70
积分
6886
帖子
64
主题
5
精华
0
UID
16924
发表于 2012-5-18 10:14:16 |显示全部楼层
两种方式都行,添加删除路由不是必须的,可有可无!

使用道具 举报

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

IT运维专家网感谢您的支持

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

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

GMT+8, 2019-9-22 12:29 , Processed in 0.026735 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部