行业内接入网络去堆叠已经逐步成为主流方向,在大型互联网公司也已经批量部署。但因为京东集团不一样的业务需求及历史缘由,没有条件彻底复制目前主流的ARP转主机路由方式的去堆叠方案,这促使咱们设计一种尽量知足各种业务需求的方案。服务器
近几年来云市场迅速发展,愈来愈多的用户把关键应用甚至所有应用部署到公有云上。云服务商在产品收入快速增加同时,也深入体会到产品的高可用性对用户发展和用户留存的重要性。面向用户的产品SLA的实现效果取决于其依赖的各个环节,而基础网络是全部产品须要依赖的一个重要环节,所以,提高网络高可用SLA对总体提高产品总体SLA有着重要促进做用。今天咱们要谈的异构去堆叠就是京东云在提升网络高可用SLA方面的新技术研究。用户自有网络其实也面临一样的问题,有提升网络可靠性需求的用户能够考虑在自有网络中使用相似方案。网络
首先,让咱们先来看一下为了实现网络高可用,当下的四种服务器链接主流方案:运维
由上图能够看出,双网卡/交换机堆叠和双网卡/去交换机堆叠提供了更好的高可用保证。测试
01 堆叠方案设计
优点代理
服务器双网卡捆绑,无需特别改造blog
交换机控制面统一,支持服务器BGP路由方式接入进程
劣势路由
多设备统一控制面,可靠性低部署
升级困难
横向链接浪费端口
02 去堆叠方案
常见的去堆叠方案有如下两种:
优点
交换机彻底独立
支持异构
路由方式接入的服务器无需特别改造
劣势
2层方式接入的服务器须要进行改造
服务器除网卡IP外需配置单独业务IP
服务器多IP增长业务方运维复杂度
静态路由方式不适合VM或Docker漂移
动态路由方式要求所有服务器运行路由协议
2.去堆叠方案-ARP转主机路由方式
优点
交换机彻底独立
服务器网卡捆绑方式不变,便于运维
服务器网卡捆绑方式不变,便于运维
劣势
一组交换机要求同厂商,不支持异构
须要修改服务器Linux内核ARP处理部分
不支持服务器BGP路由方式接入
经过以上对比,能够发现堆叠与去堆叠方式其实均可以实现网络的高可用,但各有利弊。针对这样的状况,京东云提出了一种理想的去堆叠方式,能够知足下图中的全部需求。
01 实现方法
交换机侧
IP配置/24掩码,两台交换机可配置相同IP或者不一样IP;
启用ARP代理及转主机路由功能;
配置ARP超时时间为5s以便在服务器不响应ARP时快速撤回主机路由。
服务器侧
服务器双网卡配置相同IP地址(掩码/32);
采用onlink方式配置目的为交换机IP的静态路由指向对应网卡;
采用onlink方式配置缺省路由同时指向两块网卡;
须要运行Ifplugd进程监控物理链接,物理链接发生UP/DOWN时执行相应ARP Ping和路由修改操做。
02 冗余测试
从上图中的测试拓扑和结果中能够看出,不管是软件操做上的禁用仍是硬件拔出,在设定的收敛时间内,服务器的网络一直保持高可用。
03 异构去堆叠方案小结
注意事项
综上所述,异构去堆叠有助于实现苛刻的网络SLA和极致的用户体验。京东云在设计去堆叠方案时首先考虑了异构,一方面由于单一厂商对网络高可用SLA仍是一个重要风险点,另外一方面异构方式能够促进京东正在进行的自研交换机实现快速部署。众所周知,自研交换机在各大互联网公司都是重点项目,但软件和硬件的稳定性一直是批量部署的重大障碍。而异构去堆叠利用自研和商用交换机1+1的方式能够大大下降自研交换机稳定性的影响。