VPP LoadBalancer 试用
来源:互联网 发布:网络层协议 编辑:程序博客网 时间:2024/06/03 04:43
VPP LoadBalancer 号称是对google maglev的复刻版,所以忍不住要试用一下。
在CentOS 7.2上面安装非常快速,因为vpp为centos提供了repo源和打包好的vpp程序。
#添加repo源
cat > /etc/yum.repos.d/vpp.repo <<END
[fdio-release]
name=fd.io release branch latest merge
baseurl=https://nexus.fd.io/content/repositories/fd.io.centos7/
enabled=1
gpgcheck=0
END
# 安装vpp
yum install vpp vpp-plugins dpdk dpdk-tools
# LoadBalancer拓扑
VPP-Server: 192.168.2.2/24
VPP-VIP: 192.168.1.2
Real-Server-A: 192.168.2.3/24
Real-Server-B: 192.168.2.4/24
# 配置vpp
$ dpdk_nic_bind -s
$ modprobe uio_pci_generic
# 这里根据网卡的pci来设置
$ dpdk_nic_bind -b uio_pci_generic 0000:0b:00.0
$ sysctl -w vm.nr_hugepages=2048
$ vim /etc/vpp/startup.conf
dpdk {
uio-driver uio_pci_generic
dev 0000:0b:00.0
socket-mem 1024
}
# 启动vpp
$ service vpp start
# 配置网卡地址
$ vppctl
$ show int
$ set int state GigabitEthernetb/0/0 up
$ set int ip address GigabitEthernetb/0/0 192.168.2.2/24
$ show int address
$ show hardware
$ show ip arp
$ show ip fib
# 配置LoadBalancer
$ vppctl
$ lb conf ip4-src-address 192.168.2.2 timeout 3
$ lb vip 192.168.1.2/32 encap gre4 new_len 1024
$ lb as 192.168.1.2/32 192.168.2.3 192.168.2.4
$ show lb vip verbose
# 配置其中一台Real Server
$ ip tunnel add tun0 mode gre local 192.168.2.3 remote 192.168.2.2 ttl 255
$ ifconfig tun0 192.168.2.2/32 up
$ echo 1 > /proc/sys/net/ipv4/conf/tun0/arp_ignore
$ echo 2 > /proc/sys/net/ipv4/conf/tun0/arp_announce
$ echo 0 > /proc/sys/net/ipv4/conf/tun0/rp_filter
$ echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# 结论
小包的转发性能确实因为用了dpdk达到了不少的提升,基本上是线性转发。
默认用的RR轮询策略,还没有地方可以配置转发策略。
目前还没有health monitor,所以即使移除RealServer也依然会向那个地址转发。
要上生产,还需要解决以上问题。
- VPP LoadBalancer 试用
- VPP介绍
- VPP初始化
- VPP启动
- HBase 中LoadBalancer插件开发
- 试用
- 试用
- 试用
- 试用
- 试用
- 试用
- 试用
- 试用
- Cisco VPP(1) 简介
- Cisco VPP(4) node
- vpp命令总结
- VPP 学习资料汇总
- vpp命令总结
- 编程算法练习
- CodeForces 567D One-Dimensional Battle Ships【二分】
- JavaScript谁动了你的代码
- zoj1101
- 文件传输到服务器 servlet
- VPP LoadBalancer 试用
- Fragment的概念及生命周期
- rabbitmq 学习总结
- Viewpager显示上一页的一部分和下一页的一部分(循环滑动)
- [笔记][Cocos2d-x]关于 “不是一个有效的 Android 目标平台” 的编译错误
- 集群、分布式、负载均衡区别与联系
- hjr学习-设计模式:装饰者模式
- eclipse中properties文件打开中文乱码问题
- 函数指针 与 指针函数