同样是做存储,有些公司就是不爱扣帽子、讲故事

  什么是好的存储?

  好的存储就是“无论我要写什么,都能快速的写进去;无论我要读什么,都能快速的读出来。”

  在过去的SAS时代,由于单块磁盘性能有限,于是人们发明了压缩、去重、分层、存储网络等一系列技术。但即便是使用这一系列的技术,存储的性能和可管理性仍然很成问题。

  而后来,性能更高的SSD出现了。

  于是很多公司开始布道:如果全换成SSD,你的问题就解决了。

  确实,如果全换成SSD,问题确实能够得到解决。但问题是,我们真的能够舍弃所有之前的投资和经验、头也不回的全面转向SSD吗?成本不会允许、老板也不会允许。

  于是,SSD在现时更像是一个加速器。同样由于成本的限制,如何把这个加速器用对位置,还要用好就成了实际的问题。而问题的关键便是“软件定义存储”

  做好一个足够创新的点

  身处互联网时代,我们见过太多的“颠覆式创新”。但对于企业来说,很多时候他们需要的其实就是一个点,一个能将企业已有的系统和新技术联系在一起并且行之有效、立竿见影的点。

  因为SSD的性能可以支撑很多更高级的业务形态。所以SSD对于很多企业来说就是整个存储系统的一根横梁。但就像所有的建筑一样,在这根横梁的下面还需要有很多柱子做支撑。

  凯翔是一家初创企业,而这家企业找到的点就是要帮助企业用好、用对SSD。当然,SSD的硬件架构都是业界标准,不能动也动不起;所以凯翔的思路就是改变软件,通过凯翔NeuStor软件来重新定义SSD的应用。

 


  让压缩和去重更有效

  既然SSD的空间很宝贵,那么用计算能力来换空间就变成了一种现实的需求。压缩和去重就是这么个思路。

  虽然市面上很多企业都能够提供压缩和去重功能,但这些功能往往不是在线和实时的。因此用户需要等到业务压力最小时或将存储彻底离线再进行这些工作。这就给企业IT的发展平添了很多限制。

  而为了解决这两大难题,NeuStor所使用的算法充分调动了英特尔至强处理器中内置的AVX2指令集,令去重和压缩的效率大大提升。同时,NeuStor也将去重块的大小从过去的固定式改为了动态自动判断。如果发现了大段的重复数据,那么凯翔NeuStor会自动将去重的块大小从4K、8K增加到16K或更高。在实际的应用中,对于虚拟机镜像这种重复度很高的数据来书NeuStor所节省的计算资源和时间都是可观的。

 


  更聪明的分层技术

  好钢用在刀刃上的道理谁都懂。因此,只有那些经常需要被读取的数据才是真正需要放到SSD上的数据。而这也是分层存储的核心思想。

  但在实际的应用中,很多分层技术虽然能够提高所谓热数据甚至温数据的读取性能,但对于大量存放在机械硬盘中的数据仍然无能为力。

  NeuStor的方法则更加先进。通过把机械硬盘的元数据(也就是文件的目录信息)放在SSD当中,整个系统的寻址时间就被极大的缩短了。这对于高并发、小文件的应用场景效果非常明显。当然,为了在实现功能的前提下保证整个存储系统的兼容性,凯翔专门开发了新的文件系统,并重写了多个版本的部分Linux核心。

 


  容错与还原

  在提倡分布式存储的时代,一份数据通常会在不同的地方保存多个副本。这样既提高性能也保证可靠性。但这样做的缺点也非常明显,那就是浪费存储空间。此时,传统阵列在实现数据的冗余时所表现出的空间节省优势便重新被认识到。

  NeuStor在分布式存储的环境中同样实现了类似磁盘阵列的冗余保护机制,只不过这种数据保护形式并不以磁盘数量为限。通过自主的LRC算法,NeuStor可以将12个区块数据编为一个大组,提供2个区块的全局冗余;同时,这12个区块还可以被分为6+6的小组,每个小组单独配备一个额外的冗余区块。