Ip Anycast技术单站点设计方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ip Anycast技术单站点设计方案相关的知识,希望对你有一定的参考价值。

   本文对Anycast单一站点进行部署,并不对Anycast相关技术做过多介绍,如有需要请自行搜索下其他文档。

   在部署单一站点的时候可能需要涉及到LVS DR模式去实现业务的Anycast以及Unicast两种类型,其中Anycast作为提供业务服务用,unicast作为管理以及数据同步用。具体设计方案如下:

技术分享

一、拓扑介绍:

客户端ip地址:192.168.100.100/24 

lvs 物理地址: 192.168.100.3/24     Vip 10.0.0.1/24

RS1物理地址: 192.168.100.2/24   Vip 10.0.0.1/24

RS2物理地址:  192.168.100.4/24  Vip 10.0.0.1/24

因为以上图片是逻辑拓扑,测试环境中客户端还是一台centos6.5的服务器所以需要回指一条

route add -net 10.0.0.0/24 dev eth0

-----------------------------------------------------------------------------------------------------------------------------------------

二、LVS实施步骤:

1)LVS安装步骤:

#uname -r 查看centos系统内核

2.6.32-431.el6.x86_64

#ln -s 2.6.32-573.18.1.el6.x86_64 /usr/src/linux 

如果没有内核的话,需要yum install -y kernel-devel 安装一下

#wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

#tar -zxvf ipvsadm-1.26.tar.gz

#cd ipvsadm-1.26

#make

安装时碰到以下报错:

libipvs.c:1072: error: too many arguments to function ‘ipvs_nl_send_message’

make[1]: *** [libipvs.o] Error 1

make[1]: Leaving directory `/home/hongfei/ipvsadm-1.26/libipvs‘

make: *** [libs] Error 2

解决办法:

#yum install -y  libnl* libpopt* 

#yum install -y  popt-static

安装完成以上包后:

#make clean

#make

#make install

#lsmod  |grep ip_vs

#modeprobe ip_vs  把ip_vs加入内核中

#lsmod |grep ip_vs

ip_vs                 125220  0 

libcrc32c               1246  2 ip_vs,dm_persistent_data

ipv6                  317340  226 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

至此LVS已经安装完毕!

2)LVS配置

因为要实施Anycast对外提供服务的话,当然需要有anycast做提供服务,同样需要unicast做管理以及数据同步等等工作。

具体配置如下:

#ifconfig lo:0  10.0.0.1/24 up   配置anycast地址

#ipvsadm -C 清空所有lvs配置

#ipvsadm -A -t 10.0.0.1:80 -s wrr -p 20

#ipvsadm -t 10.0.0.1:80 -r 192.168.100.2 -g -w 1

#ipvsadm -t 10.0.0.1:80 -r 192.168.100.4 -g -w 1

至此LVS配置完毕。-----------------------------------------------------------------------------------------------------------------------------------------

三、RS配置

首选装一个apache的测试环境:

#yum install -y httpd

#service httpd start

#ps -ef|grep httpd

安装完成后:

# cat  /etc/httpd/conf/httpd.conf|grep DocumentRoot  查找系统站点目录

# echo "RS1" >/var/www/html/index.html

#ifconfig lo:0 10.0.0.1 up

配置arp抑制:

# 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

至此步骤RS配置完成。

测试结果:

在client端配置10.0.0.0/24 静态路由之后,anycast地址可以ping通 ,unicast可以ping通,80服务也在20秒后切换到另外一台机器上。






本文出自 “那都不是事儿” 博客,请务必保留此出处http://imccie.blog.51cto.com/4710872/1749163

以上是关于Ip Anycast技术单站点设计方案的主要内容,如果未能解决你的问题,请参考以下文章

anycast简单总结

浅析AnyCast网络技术

基于.Net + SqlServer的分库分表设计方案

如果Anycast意味着我只看到分布在许多地理区域的域名的1个IP地址

权限设计的总结

SD-WAN技术实现方案(细节)-企业侧