最近冬瓜哥有点时间全写书了,没顾得上写博,见谅。
尘世浮华迷人眼,梦中情境亦非真。朝若闻道夕可死,世间何处有高人?如今是个IT战国群魔乱舞的时代,各种概念层出不穷,令人眼花缭乱。3月30日,国内的自研存储厂商宏杉科技发布了其新一代存储系统架构——CloudSAN架构,冬瓜哥有幸参加了这场发布会。CloudSAN到底是何方神圣?这还得从头说起。
1. SAN 宝刀未老
Storage Area Network ,不得不承认其确实是个好东西。通过把资源集中起来,然后灵活的分配空间,统一的管理,谁不想这样呢?谁都想。一直到现在,SAN依然是传统企业存储系统中的典型架构。
不得不说,就连大量采用分布式系统的互联网后端基础架构,也希望能够将磁盘集中起来然后灵活的分配给服务器使用。天蝎整机柜架构3.0的一个愿景就是将所有的零件全都拆开,并使用各自合适的网络互连起来,通过在网络交换路径上做类似vlan/zone/partition的隔离,来形成逻辑机器,从而灵活的调和各种资源。Intel搞的RSA(Rach Scalable Architecture)就在试图建立这种架构的生态基础以及标准,以便在将来继续立于主导地位。
从上述趋势可以看到,服务器的计算资源也在走当年SAN所走的路,形成一个System Area Network,也叫SAN。只不过,这个SAN的速率和时延都要远强于存储SAN,以至于届时可能不得不采用硅光技术来进行更大范围的扩展。
Intel CPU 基于QPI的Fabric可以将分布在多个CPU内存控制器后面的SDRAM整合成一个大的单一地址空间,并负责访存流量的地址路由与转发,也就是所谓NUMA架构。这与当前的分布式存储系统架构的本质是一样的,也就是依托于外部的交换网络来转发IO流量,所有节点看到相同的name space。其上一代架构则是UMA/SMP架构,对应了存储系统的SAN架构,所有内存被集中挂接到控制器之后,多个CPU通过总线集中访问内存控制器。后来遇到了瓶颈,才发展到NUMA架构。这样看来,在计算从SMP过渡到NUMA之后,存储系统也从类似SMP的SAN架构过渡到分布式架构也应该算是顺应潮流。
那么,当前的体系结构不好么?为何人们还是希望将各种资源集中存放,然后通过网络细粒度的分配和访问?
2. 分布式系统的几个代价
分布式系统的好处就是扩展性强,但是想同时具备扩展性和性能的话,则节点间的互联网络必须足够快,否则扩展性便失去了意义。好在互联网化的应用从源头上就是可以分割的,多个节点各干各的,属于同构协作,也就是相同的处理逻辑去处理不同的数据,所以跨节点流量较少。而传统业务则不管你这一套,其几乎都是单机版的,跑在一个节点上,而访问的数据却分布在多个节点,那自然要产生跨节点的横向流量。所以,网络慢就趁早别玩分布式,所以,分布式技术几十年前就出现了,直到近几年才逐渐普及使用,原因就是网络变快了。
数据冗余方式是当前分布式系统的另一个尴尬,由于普遍采用可靠性较差的低成本单服务器作为节点,那么它就是一个单点故障,一旦该服务器由于软硬件原因停止服务,那么其后面的数据就不可访问,所以需要在多个节点之间来冗余数据,就像在硬盘之间冗余数据一样,分布式系统可以采用镜像方式和校验方式,前者会浪费一半空间,后者更划算但是代价则还是会产生大量跨节点流量,拖慢系统写性能。
另外,为了降低成本和维护节点的单一性以及降低成本,目前的产品普遍采用固定配置的服务器节点,而且节点内部的局部扩展性较差,扩展性完全靠增加更多节点来实现,某些场景下会产生较多浪费,反而导致不灵活。
正因如此,分布式系统在传统业务下的应用是受限的。同时,即便是互联网后端,单一的固定配置节点也逐渐成为了问题,由于业务需求的不同,不得不维护众多的机型,不同机型的区别除了CPU和内存之外,主要体现在了盘位的不同上。而这个问题在集中式存储系统中,并不存在。
低效的数据冗余方式在集中式存储场景下也并不存在,SAN架构之下采用Raid的冗余方式并不会产生跨节点流量。而且可以更加方便的实现HA,当一台节点宕机之后,另一台节点可以直接接管之前节点所挂接的物理或者逻辑硬盘,从而恢复业务。
所以,集中式存储的好处,在大家用了一阵子分布式之后,又被怀念了起来。
3. 宏杉科技CloudSAN架构, SAN与分布式兼得
CloudSAN架构,就是致力于将分布式的可扩展性优势与传统SAN的优势结合起来。或者说,是把SAN的优势融合到分布式系统中,然后将分布式系统的劣势解决掉。
首先,针对传统业务无法避免的跨节点流量问题,CloudSAN架构采用10/40/100G以太网底层链路,加上RDMA技术,让数据传输过程本身越过操作系统内核,对端网卡接收到本端传递的数据之后,直接DMA到对端节点的用户态内存空间,节省了大量的内核协议栈开销,极大降低了时延。目前,多节点间外部通信的可行的最快速的手段是直接采用PCIE互联,但是PCIE互联目前无法组网,只能是树形拓扑,严重阻碍了扩展性;而Infiniband网络也支持RDMA,但是其通用性和生态并不如以太网。宏杉科技选择了以太网,也是为了更好的生态和扩展性考虑。CloudSAN架构最大支持512个节点通过以太网互联。并且,其给这个专门用于多节点互联的网络起了一个概念性的名称,曰“XAN”,也就是“eXchange Area Network“。CloudSAN中“Cloud”一词体现的就是这种基于开放以太网的大规模的多结点扩展性。
其次,针对传统分布式中数据冗余方式带来的尴尬,就需要使用CloudSAN中的“SAN”来解决了。CloudSAN架构中的每个节点可以直接是一台传统的双控SAN存储系统,这样的话,节点自身天然就具有了冗余性,而根本不需要在多节点间实现镜像或者校验方式的数据冗余,从而极大的避免了不必要的跨节点流量。
CloudSAN 可以说是一个能够将传统SAN系统在更高维度上进行分布式整合的,同时具有SAN的优势和分布式系统的单一命名空间和可扩展性优势的融合架构。CloudSAN的本质是一层沟通协调模块,安装在所有节点上,通过内部的地址映射表来将分布在多个节点上的资源整合到一起。对SAN和分布式二者综合扬长避短,这种架构便是企业级可扩展性存储系统的最优方案。
4. 动态优化,英雄所见略同!
CloudSAN架构最吸引冬瓜哥的一个地方,是它的动态优化存储QoS技术。其可以根据应用的负载,动态的将那些访问频率较高的数据块复制多个副本到其他节点,再通过主机端多路径软件动态的从多个节点并发访问,能够成倍的提升并发IO的几率,直接体现为系统IOPS吞吐量的提升。
除此之外,系统也可以将热点数据块迁移到固态存储介质从而进行Tiering分层操作,也可以提升IOPS同时降低时延。
感慨啊!冬瓜哥之前所设计的那套 “ 可视化存储智能解决方案 ”中的思想,终于有了共鸣,鄙人欣喜的看到CloudSAN架构实现了通过对数据进行精细化布局从而调控IO并发度的动态调节技术。该技术可谓是传统存储这10年来的一次创新和落地。冬瓜哥当初的思想是将逻辑资源中的数据块进行按块精细化布局从而实现并发度控制,而宏杉科技则是通过增加对应数量的副本来控制并发度,两者本质目的相同,殊途同归。
写到这冬瓜哥又不禁伤感了起来,冬瓜哥的那套方案由于种种原因并没有最终落地,本次CloudSAN中的该项技术,可以说是与冬瓜哥英雄所见略同,宏杉科技的确看到了数据布局和并发度精细化调节的重要性,并能够将其落地到产品中,不得不说是国产存储系统中的骄傲,而类似技术从未在国外的传统存储产品中出现过,也算是国人第一次实现了传统存储业界全新的玩法。
反观国内之前的自研产品,诸如Tiering、重删、快照等等特性,基本都是从国外兴起的,国内更多只是做了个翻版。CloudSAN本次发布的这项存储QoS特性,相比于国内其他传统存储厂商而言,敢为天下先,树立了原创的大旗。在此冬瓜哥必须给宏杉科技点个赞!
最后,让我们观摩一下CloudSAN架构对应的实际部署拓扑。 下图所示,顶端是一台FC交换机,最底下是一台40GE交换机。二套SAN存储机头节点(一个节点是机头带扩展柜,一个是机头与扩展柜一体化),后端连接到以太交换机上,前端连接到FC交换机上。
宏杉科技发布的CloudSAN架构结合了传统SAN的高可用性和分布式系统的可扩展性。通过高速以太网和RDMA技术减少跨节点延迟,解决传统分布式系统中的数据冗余和性能问题。此外,CloudSAN的动态优化存储QoS技术能提升并发IO性能,实现了对数据精细化布局的创新,是国产存储系统的一大突破。
1890

被折叠的 条评论
为什么被折叠?



