千家信息网

Ip Anycast技术单站点设计方案

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本文对Anycast单一站点进行部署,并不对Anycast相关技术做过多介绍,如有需要请自行搜索下其他文档。在部署单一站点的时候可能需要涉及到LVS DR模式去实现业务的Anycast以及Unicas
千家信息网最后更新 2025年01月20日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 -a -t 10.0.0.1:80 -r 192.168.100.2:80 -g -w 1

#ipvsadm -a -t 10.0.0.1:80 -r 192.168.100.4:80 -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秒后切换到另外一台机器上。






0