多个数据中心上SDN的背景下,跨数据中心的二层网络是否有必要,给管理带来的灵活性和问题方面,怎么取舍
这个问题需要从以下两个方面来考虑:
一、首先得搞清楚二层打通的目的是什么?一般来讲二层打通的目的主要有以下几个:
1. 跨数据中心漂移
2. 跨数据中心数据库集群(HA或者AA)
3. 跨数据中心应用负载集群
对于1、3来讲,其实SDN技术本身有一个优势,就是通过隧道技术解决二层跨地域问题,也就是说通过SDN的隧道技术完全可以实现以上所述的几个功能。但是,有一点是需要注意的,就是如果数据库集群采用的是跨中心的RAC,那么双中心之间的RAC心跳是非常重要的(一致性缓存块儿的传递、锁信息的传递),从稳定性、延时、带宽等各个方面需要一个全面的评估。
二、从技术成熟性和复杂度来讲,我觉得二层打通技术更复杂,要求更高;SDN技术从成熟度上来讲缺乏足够的实战场景来发现其中的一些BUG,或许使用过程当中会面临很多意想不到BUG的困扰。
综上所述,这个问题首先是要看整体技术架构,然后通过技术架构的优化来实现取长补短(比如说,我可以用SDN实现应用的漂移以及负载的平衡,但是数据库我可以采用主备模式降低风险,提高硬件配置降低复制带来的RPO风险等)。
收起二层打通会增加虚拟机的漂移范围,做跨中心的大二层一般是有两个原因,一是两个中心A和B资源利用率极不平衡,所以需要虚拟机的跨中心漂移来对中心资源进行再平衡,降低其中一个中心的资源负载;二是客户提出明确需求,云平台支持跨中心的虚拟机漂移,以满足特殊业务需求。
跨中心大二层的打通不会带来管理上的便捷,只会增加管理复杂性,一旦出现故障,由于传输线路过长,将极难定位问题。另外跨中心大二层打通会使逻辑上的东西流量变为实质上的南北流量,会增加核心以及骨干的负担,增加专线资源消耗。
虽然目前不会出现广播风暴的问题,但在无硬需求场景的情况下,不建议做跨中心大二层。
以上纯属个人看法,也请大家讨论
收起这个问题我的经验是这样的:
一般多个数据中心之间是否打通二层最关键是取决于数据库的容灾切换方式。
一般银行数据中心重要系统的数据库还是主备架构,主数据所在同机房使用操作系统HA或者数据库层的同步技术实现同机房容灾确保rto时间较小。在同城灾备机房的备库,使用存储同步技术保证备库数据一致性。在异地灾备机房的备库使用存储异步或者数据库层异步技术保证数据库一致性。
当主库所在机房发生灾难需要切换到同城容灾机房的备库的时候,有两种方式实现容灾。1.在app使用ip地址访问数据库的场景下,最快速的切换方式是把备库的ip地址改为主库相同的地址,避免更改大量app服务器的配置加快切换速度。2.在app使用dns域名访问数据库的场景下,只需要更改dns的a记录解析即可完成切换。
第一种切换方式是传统比较常用的方式,使用这种方式的前提的同城双中心需要二层打通部署相同网段,这样才支持跨数据中心修改成相同的ip地址。第二种切换方式不需要二层打通,主备库ip可以不同网段,当然dns改造和GSLB是必须的。
所以一般是否需要打通大二层主要取决于数据库容灾切换的方式,sdn同理,建议传统同城数据中心是大二层架构的可以直接搭建同样打通二层的sdn,如果使用dns或者负载均衡挂在数据库并且已完成dns改造和gslb方案的可以搭建三层隔离的sdn网络,当然从先进性和运维角度后者是未来的主流趋势。
这个问题要分开来看:
一、从技术发展趋势上看
1.SDN技术从2009年被提出已经经历了10多年的发展,技术逐渐成熟,用户量也再逐年上升,尤其在运营商层面;
多谢两位的关注! 主要是讨论双活数据中心的架构模式下,大二层的意义。。是做大二层的IAAS层面资源灵活调配,还是做基于应用弹性部署的3层负载更加便于管理? 哪一种更代表趋势。
收起世界不是非此即彼。要看对象,要看范围,及sla等级。
没有了解清楚条件不能随便作答。
二层网 首先得搞清楚范围,多大范围的二层,谁和谁二层.
存储架构里有多个网络,内联镜像网,业务网络,配置同步网络,客户端主机出口网络。存储内部自己通信,即使是跨多个数据中心,哪也是内部。还要还提供的服务sla等级。rto时间及rpo时间。没有二层,ip怎么漂移,客户端提供的数据服务如何保障透明无中断。
业界明明是有技术手段实现跨数据中心二层的呀
多数据中心情况下,SDN网络是否要上大二层,笔者认为主要取决于应用场景。对于部分电信应用场景来说,大二层非常有必要,因为有些电信应用场景需要保持IP和MAC地址不变,而且要支持跨数据中心的迁移,在这种情况下没有大二层根本行不通。对于绝大部分互联网应用场景和金融应用场景来说,大二层没有必要,互联网应用有很多技术可以实现跨数据中心的流量分发和集群多活(如负载均衡+域名智能解析),服务器实例不需要在跨数据中心进行迁移。这种情况下,其实没必要上大二层。
在多数据中心上大二层技术的好处是支持的场景更多,对于部分用户的应用来说不需要改造,上云更简单方便。但是对于建设和运维来说,肯定会更复杂,由于涉及多数据中心,多数据中心之间的大二层网络如何打通,这在业界也是一个难题。如果采用点对点mesh的方式,即多数据中心之间的虚拟网络直接互联,那虚拟网络节点的规模会成倍增加,这样给查表的速度和网络规格容量都带来很大压力。如果采用L2 GW的方式实现互通,那L2 GW的性能又会成为瓶颈,总体而言这些技术的复杂度要比非大二层高很多。同时,在日常运维中,大二层网络链路较长涉及多个数据中心,一旦出问题影响比较大(如如何避免二层广播风暴),运维复杂度也会增加,对运维人员的要求更高。
综上而言,是否要上大二层取决于应用场景,如果应用场景没有强烈的需要,还是不上为好。如果要上,需要考虑随之带来的技术复杂度和运维压力,同时必要的一些技术坑还是得踩一踩才更有底气。
收起多数据中心情况下,SDN网络是否要上大二层, 还是有必要打通大二层的,打通是为了保持IP地址不变,VLAN不变,一般是容灾高可用技术所需要,例如VMWARE的跨中心vmotion,AIX的HACMP跨中心高可用,负载的跨中心集群架构等等。当然,如果没有用到这些技术,当然可以不打通大二层,灾备中心完全就启一个独立的三层网络,通过全局负载均衡来调度两个数据中心的业务流量。如果用到了其中任何一个容灾高可用技术,大二层就成为必须了,这也是传统数据中心最主流的网络架构。
收起答:
1、多个数据中心上SDN的背景下,跨数据中心的二层网络是有必要的。
2、管理方面加强对专线管理,对上层流量做好统一规划,合理分配。
分析如下:
根据业务场景不同,所需的网络也不相同
例如:
1、多集群不同数据中心部署,三层网络
2、同集群不同数据中心部署,二层和三层网络
3、跨数据中心虚机漂移,二层网络和三层网络
4、oracle rac跨机房部署,二层网络和三层网络
5、一个集群跨数据中心部署,二层网络和三层网络
从数据中心发展历程来看,多数据中心+SDN到云数据中心还有一定的路要走,不同阶段都会经历应用和数据的主备和双活。
在这个过程中,上百套应用的业务流量和管理流量避免不了的需要跨数据中心的二层网络互通。
以上纯属个人看法,也请大家讨论
收起