SDSAN展望

SDSAN(Software Defined Storage Area Network,软件定义存储网络)是用控制器去控制存储流量的技术,由于FC技术门槛比较高市场比较稳定,而FCoE尚在推广阶段,因此软件定义的风潮尚未大幅波及到SAN领域。不过,随着SDN Fabric技术的蓬勃发展,可以预言SDSAN技术会成为补齐云中Convergent IO网络的重要一环。

SAN的代表技术有iSCSI,FCIP/IFCP,FC与FcoE。iSCSI 、FCIP/IFCP均实现在TCP层以上,与底层网络直接关系不大,目前SDSAN主流的思路都是通过控制器来实现对FC、FcoE的自动部署与集中控制。关于FC与FcoE的详细介绍,请读者参考之前的文章“新三网融合——计算存储与网络”。简单地来说,存储设备会在通信前发一些控制信令向网络进行注册,通信开始后网络根据设备的位置进行路由。从SDN实现的宏观角度来分析,无非就是控制器收集信令,形成存储网络的全局视图,再下发转发表指导存储流量的路由。

目前,SDSAN的实现大多数处于概念验证阶段,国内华为号称用Agile Controller+CE做到了FcoE的集中式控制,不过实际上现在国内就为此愿意买单的人估计极少,也就是花钱研发赚吆喝而已。老外对SDSAN的概念接受度应该比国内的接受度高得多,JedaNetwork是美国一家专门做SDSAN的创业公司,虽然也是做FcoE的集中式控制,不过估计产品实现上要专业的多。鉴于这个技术具有足够的前瞻性和未来重要的市场地位,两家的产品都没有具体的技术资料出来,本文会从近年来少数几篇涉及到SDSAN的论文中进行简要的总结,希望对读者能有所启示。

1)NEC Advanced FcoE[1]

这是作者看到有SDSAN影子的最早的资料。AFCoE对当时单跳FcoE的实现提出了两个不足:1.所有的流量都经过FCF,很容易成为流量的瓶颈。2. DCB不支持丢包数据重传(目前DCB已不存在这个问题)。于是AFCoE通过Legacy Ethernet Swtich+FCC(FC Controller)的方式解决了可扩展性的问题,通过在server端部署gateway的方式去实现快速重传。Gateway的实现我们不去关注,来看一看NEC是怎么通过Legacy Ethernet DCB Swtich来实现FCoE的,其组网和通信机制如下左右两图所示。

其实AFCoE的原理非常简单,server或者storage送出FIP信令(包括FLOGI和PLOGI),被DCB Switch直接泛洪给FCC Server,FCC负责模拟FCF向server或者storage回复FIP消息,与之建立virtual link,并记录PORT,MAC,FCID间的映射关系。通信开始后,FCC根据映射,模拟FCF进行FCoE流量的转发以及源目MAC地址的改写。

其实严格意义上来讲,上述的AFCoE并不算是SDN,FCC可以看做通过inband方式部署在网络中的一个FCF的软件代理,而且由于是只涉及一个FCF所以也谈不上什么全局视图和存储流量调度。于是,NEC当时说要AFCoE要结合OpenFlow实现端到端FcoE,如下图所示,这就是真正意义上的SDSAN了,不过后续具体推动到什么程度,没有看到资料也不得而知。

2)Fujitsu OpenFlow FcoE solution[2]

与AFCoE类似,Fujitsu也是提出了一个边缘FcoE组网的SDN解决方案。Fujitsu对OpenFlow的Match域进行了扩展,使得OF Switch能够识别FcoE的相关字段(如FCID)从而可以据此进行Storage流量的转发。其原理如下图所示。

图中,网络中仍然存在FCF,sever和storage直连的浅蓝色盒子为扩展后的OpenFlow交换机,结合Controller充当一个FIP Snooper。当server或storage发出FLOGIN Request后,OF交换机将其交给Controller,Controller记录下PORT,Enode_MAC和FCF MAC间的映射关系,构建server和storage的LOGIN Table,并指导交换机将该消息传给FCF。FCF回复FLOGIN Accept消息后,OF交换机将其交给Controller,Controller记录下FCID和FPMA,结合LOGIN Table中的信息形成forward table(主要目的的匹配以及MAC地址的修改),并下发给OF交换机指导storage流量的转发,上述两张表的形成规则以及控制器的处理逻辑如下所示。

FIP过程结束后,Storage流量开始传递。对于不同OF交换机下server或storage间的通信,OF交换机转发给FCF,再有FCF转发到另一台OF交换机上;对于同一OF交换机下server或storage间的通信,该OF交换机直接按照控制器下发的forward table完成转发,不再迂回经过FCF,一定程度上解决了FCF上的流量瓶颈问题。

这个方案相比于AFCoE,已经向真正的SDSAN迈出了一大步,不过仍存在以下三个问题:

1)FIP需要通过Keep Alive消息来维持server/storage间virtual link的状态,这部分信令如果都交给控制器处理的话是一个很大的开销,因此当网络中节点较多时,可能需要将FIP Keep Alive的处理offload到交换机本地进行实现。

2)虽然基于FCoE的帧格式对OpenFlow交换机进行了扩展,然而OpenFlow交换机仍然不支持DCB的某些无丢包特性,因此数据平面离真正的SDSAN还有差距。

3)实现了FCoE的边缘接入,然而对Storage流量的端到端传输并未做集中式的控制。

3)Huawei CSN[3]

相比于FCoE,FC的技术其实更为成熟,其简易的架构如下左图所示。因此相比于SD FCoE,更为彻底的SDSAN其实应该是SD FC。虽然华为在Agile Controller中说的是对FCoE进行集中式控制,但是华为联合南京大学在去年发表了一篇论文对SD FC进行了初步的探讨与设计,其架构如下右图所示,论文中将其命名为CSN(Controller-based FC Storage Network)。

CSN架构中,通过对FC交换机的软件进行升级,使得其上电后立即与FFC(FC Fabric Controller)建立TCP连接,并交互FC的控制信令。控制信道建立和传输过程如下左图所示,控制信令消息类型如下右图所示。其中第1类消息维护控制信道的状态,第2类消息处理Server或Storage的登录,第3类消息用来收集FC网络拓扑,第4类消息用来更新FC网络路由表。

FC交换机连接上FFC后,将Server或Storage的FLOGI和PLOGI请求通过控制信道转交给FFC,FFC封装回复消息通过交换机回传Server或Storage,并记录下Server或Storage的位置信息、身份信息。除了Server或Storage的信息以外,FC网络的拓扑信息对于SDSAN来同样重要,为实现该信息的收集,FC交换机会在本地进行邻居探测,新检测到的、断掉的FC链路将分别通过EPort UP和EPort Down请求发送给FFC,FFC发送相应的确认消息进行确认。拥有了全局信息后,FFC即可通过FSPF算法计算Storage流量的端到端路径,并通过Routing Table消息通知FC交换机。、

CSN是一个比较完整的SDSAN方案,其架构的通用性能够使其应用到任意的SAN网络中,对数据平面也不需要任何的修改,是SD FCoE的重要演进方向,估计华为Agile Controller对FCoE的处理也是如出一辙的。

SDSAN在国内目前仍看不到明显的市场需求,不过拍脑门想就知道,存储网络的SDN化那是迟早的事,希望以后能看到业界或者学术界更为成熟的数据平面和控制平面的解决思路。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2016-05-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏linux驱动个人学习

SMBus与I2C的差别

1552
来自专栏SDNLAB

SDN实战团分享(三十):解读DC中的overlay与underlay

企业在上云的时候,一般不会抛弃现有的物理服务器与物理网络设备,而选择完全的虚拟化环境。其原因有如下几点:1. 保护存量投资,进行增量部署;2. 一些特殊类型的工...

5466
来自专栏张善友的专栏

MS MVC框架漩涡中的MonoRail未来

上个星期,Hamilton向微软MVC团队通报了Castle团队从现实应用中获得的所有复杂和不直观的需求,并告知他们如何处理这些事情。另外他还开发了一些集成案例...

1965
来自专栏小白课代表

更新 | 上万款街机游戏,找回童年的感觉——海星模拟器

2443
来自专栏FreeBuf

网络蜜罐技术探讨

*原创作者bt0sea,本文属FreeBuf原创奖励计划,未经许可禁止转载 之前在FreeBuf发表的第一篇有关蜜罐文章,引起了业界不小的轰动,但是...

4459
来自专栏猿湿Xoong

推荐两款软件:PanDownload 与 Anki

今天给大家推荐两款好用的软件,这两款软件也是我正在使用的。其中 PanDownload 可能很多人都知道了,不过因为实在太好用了,再加上最近的版本更新、UI更...

1.9K4
来自专栏轮子工厂

Linux系统的前世今生

上世纪六十年代,人们还在用批处理计算机,也就是一次性给一批任务到计算机,然后等待结果,中途不能和计算机进行交互,而且准备作业需要耗费大量时间。于是1965年,贝...

1112
来自专栏何俊林

音视频开发中常见基础问题总结

前言:音视频中一些基础问题总结,哈哈,可在下方留言,一句话,证明你是接触音视频开发的。下面是我的一些整理及工作中整理的,不见得全是对的,可以大胆的指出的。我也好...

2808
来自专栏ATYUN订阅号

特斯拉走上遵守许可的正轨,发布部分车载技术的源代码

特斯拉(Tesla)是一家强大的公司,它一直在使用大量开源软件来构建其操作系统和功能,如Linux Kernel,Buildroot,Busybox,QT等。

1093
来自专栏SDNLAB

SDN网络与传统网络对比

SDN相比传统网络具有很多优点,比如控制与转发分离,这种思想打破了传统设备供应商的绑定,提高了新业务的部署速度,可以从整个网络层面对流量进行优化等等。在SDN网...

55811

扫码关注云+社区

领取腾讯云代金券