多个数据中心上SDN的背景下,跨数据中心的二层网络是否有必要,给管理带来灵活性,但同时也带来其他问题,怎么取舍?
问题来自社区会员@rogerswoo 某保险公司,下文来自twt社区众多同行实践经验分享,欢迎大家参与交流,各抒己见。
* “争议”栏目内容来自同行分享的一手体验和观察,仅代表个人观点@jimV5 金融保险 存储工程师:
世界不是非此即彼。要看对象,要看范围,及sla等级。
没有了解清楚条件不能随便作答。
二层网,首先得搞清楚范围,多大范围的二层,谁和谁二层。
存储架构里有多个网络,内联镜像网,业务网络,配置同步网络,客户端主机出口网络。存储内部自己通信,即使是跨多个数据中心,哪也是内部。还要还提供的服务sla等级。rto时间及rpo时间。没有二层,ip怎么漂移,客户端提供的数据服务如何保障透明无中断。
业界明明是有技术手段实现跨数据中心二层的呀。
@perly 金融业 网络工程师:
没介绍清楚,比如是否多活数据中心等。
@rogerswoo 某保险公司:
多谢两位的关注!主要是讨论双活数据中心的架构模式下,大二层的意义。是做大二层的IAAS层面资源灵活调配,还是做基于应用弹性部署的3层负载更加便于管理? 哪一种更代表趋势。
@yuanruxu 中国银联 系统运维工程师:
二层打通会增加虚拟机的漂移范围,做跨中心的大二层一般是有两个原因,一是两个中心A和B资源利用率极不平衡,所以需要虚拟机的跨中心漂移来对中心资源进行再平衡,降低其中一个中心的资源负载;
二是客户提出明确需求,云平台支持跨中心的虚拟机漂移,以满足特殊业务需求。
跨中心大二层的打通不会带来管理上的便捷,只会增加管理复杂性,一旦出现故障,由于传输线路过长,将极难定位问题。另外跨中心大二层打通会使逻辑上的东西流量变为实质上的南北流量,会增加核心以及骨干的负担,增加专线资源消耗。
虽然目前不会出现广播风暴的问题,但在无硬需求场景的情况下,不建议做跨中心大二层。
以上纯属个人看法,也请大家讨论。
@albertming 民生银行 网络:
这个问题我的经验是这样的:
一般多个数据中心之间是否打通二层最关键是取决于数据库的容灾切换方式。
一般银行数据中心重要系统的数据库还是主备架构,主数据所在同机房使用操作系统HA或者数据库层的同步技术实现同机房容灾确保rto时间较小。在同城灾备机房的备库,使用存储同步技术保证备库数据一致性。在异地灾备机房的备库使用存储异步或者数据库层异步技术保证数据库一致性。
当主库所在机房发生灾难需要切换到同城容灾机房的备库的时候,有两种方式实现容灾。1.在app使用ip地址访问数据库的场景下,最快速的切换方式是把备库的ip地址改为主库相同的地址,避免更改大量app服务器的配置加快切换速度。2.在app使用dns域名访问数据库的场景下,只需要更改dns的a记录解析即可完成切换。
第一种切换方式是传统比较常用的方式,使用这种方式的前提的同城双中心需要二层打通部署相同网段,这样才支持跨数据中心修改成相同的ip地址。第二种切换方式不需要二层打通,主备库ip可以不同网段,当然dns改造和GSLB是必须的。
所以一般是否需要打通大二层主要取决于数据库容灾切换的方式,sdn同理,建议传统同城数据中心是大二层架构的可以直接搭建同样打通二层的sdn,如果使用dns或者负载均衡挂在数据库并且已完成dns改造和gslb方案的可以搭建三层隔离的sdn网络,当然从先进性和运维角度后者是未来的主流趋势。
@赵海 技术经理:
这个问题需要从以下两个方面来考虑:
一、首先得搞清楚二层打通的目的是什么?一般来讲二层打通的目的主要有以下几个:
1. 跨数据中心飘移
2. 跨数据中心数据库集群(HA或者AA)
3. 跨数据中心应用负载集群
对于1、3来讲,其实SDN技术本身有一个优势,就是通过隧道技术解决二层跨地域问题,也就是说通过SDN的隧道技术完全可以实现以上所述的几个功能。但是,有一点是需要注意的,就是如果数据库集群采用的是跨中心的RAC,那么双中心之间的RAC心跳是非常重要的(一致性缓存块儿的传递、锁信息的传递),从稳定性、延时、带宽等各个方面需要一个全面的评估。
二、从技术成熟性和复杂度来讲,我觉得二层打通技术更复杂,要求更高;SDN技术从成熟度上来讲缺乏足够的实战场景来发现其中的一些BUG,或许使用过程当中会面临很多意想不到BUG的困扰。
综上所述,这个问题首先是要看整体技术架构,然后通过技术架构的优化来实现取长补短(比如说,我可以用SDN实现应用的漂移以及负载的平衡,但是数据库我可以采用主备模式降低风险,提高硬件配置降低复制带来的RPO风险等)。
@chinesezzqiang 信息技术经理:
这个问题要分开来看:
一、从技术发展趋势上看
1.SDN技术从2009年被提出已经经历了10多年的发展,技术逐渐成熟,用户量也再逐年上升,尤其在运营商层面;
2. 其核心就是一种数据平面与控制分离、软件可编程的新型网络体系架构,消除了顶层基础架构的兼容性限制,其实可以理解成为网络虚拟化的一种;
3.对于运维人员只需要关注控制即可,转发层甚至是傻瓜交换机都可以。
所以从技术角度看的确增加了数据中心的灵活性和弹性。
二、从实际困难出发
1.国内掌握SDN神髓的个人或者服务商不多,存在较高的技术壁垒;
2.整体运维成本高,对运维人员的开源技术要求过高;
3.初期投入成本不低,需要各种设备的联调测试;
4.场景化应用有待普及。
所以对于成熟的数据中心更倾向于稳定,试错尽量放在测试环境或者非核心的小环境。
@邓毓 江西农信 系统工程师:
多活数据中心都上了sdn用vxlan了,实现了二层网络在三层扩展,那二层打通的意义也不大了吧,IAAS层的飘移也可以通过VXLAN实现了。这时您的数据中心应该也不会有传统的集中式数据库了吧,HA高可用什么的也不会有了,分布式应用和分布式数据库都基本以这些为主了,那更没必要再引入大二层了,增加管理的复杂性。