Chinaunix首页 | 论坛 | 博客
  • 博客访问: 910126
  • 博文数量: 91
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1051
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(91)

文章存档

2021年(1)

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: 系统运维

2013-01-23 11:27:56

数据包流向:

1 client ------------------------------------------>GW    

sip:cip                       dip:wip

smac:client_mac         dmac:gw_up_mac

2 GW ----------------------------->Director

sip :CIP                          dip:Vip

smac:GW_down_mac       dmac:Vip_max

3 Director ------------------> Real Server

sip:dip                            dip:rip

smac:DIP_mac                dmac:broadcast(局域网arp广播找到rip)


sip:RIP                            dip:DIP

smac:RealServer_mac        dmac:DIP_mac(局域网回广播包)


sip:CIP                             dip:VIP

smac:DIP_mac                  dmac:RealServer_mac (将原始的数据包发给RealServer)


4 Real Server ----------------------------------------->GW

sip:VIP                            dip:CIP

smac:RealServer_mac         dmac:GW_down_mac (处理完请求 返回数据包 )

5 GW------------------------------------------------------->

sip:VIP                            dip:CIP

smac:GW_up_mac            dmac:Client_mac


面临的问题:

1 .数据包需从realServer返回 ,realServer 返回的数据需要源IP为VIP ,添加 lo接口(本地环路接口) ,lo:1  vip/32.

    LO接口的作用是什么?
    假如包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的'lo'接口,然后返回进入链的'lo'接口.

2 realServer的vip有了,接着就是同一个网段中拥有两个vip, 在网关发送arp广播 需找vip时需要让realServer不接受响应.

    echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore # arp不回包

    echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce  另外一个网卡来接包 回包

3 Director 发送数据包给realServer , 要走dip的网卡,否则ip流向就是vip-->vip 发送不成功.

  调整vip和dip网卡在路由表中的顺序,dip在上,vip在下 即可解决。


4  session共享机制, session存在memcache中,开启轮训模式 这样效率最高.(php中)

 tcp://***.***.***.****:11211
use_cookies = 1
name=phpsessid
auto_start = 0
cookie_lifetime=0
cookie_path=/
cookie_httponly
serialize_handler = php
gc_probability=1
gc_divisor=1000
gc_maxlifetime=60
bug_compat_42 = 0
bug_conpat_warn = 1
refer_check =
entropy_length = 0
entropy_file =
cache_limiter = nocache
cache_expire = 180
use_trans_sid=0
hash_function=0
hash_bits_per_character =5 

参数可视具体情况修改。

阅读(5483) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

vcdtwo2013-03-19 10:02:50

[表情67]

vcdtwo2013-03-19 10:00:00

lvs + keepalived 配合使用实现 高可用和负载均衡