[经验] XtremIO(转)

白丁   2016-3-1 23:00 楼主
软件取胜之道

存储行业发展到今天,硬件越来越标准化,所以已经很难靠硬件出彩了。要么能够制造存储芯片,例如三星这种模式,从底层开始都自己做,靠巨大的出货量坐收硬件的利润,但这种模式投资巨大,一般人玩不来。要么就靠软件走差异化了,而且软件还有一个硬件没有的优势:非标准化,比如IBM的软件很多是基于自己的Unix系统开发,别人用了之后切换到其他厂家的软件难度很大,毕竟丢数据的风险不能随便冒。

看了前面的XtremIO硬件架构之后,不少人可能觉得并没有什么复杂的,基本上是个系统集成,组装机嘛,中国的山寨厂家也能搞一套出来。但是,全闪存阵列的核心在软件,软件做好了,才能让用户体验到闪存阵列的性能。试想,如果iPhone装的是Android系统,你还会花五六千大洋排队去买吗?估计连两三千都舍不得了吧!

XIO软件几大杀器

  • 去重:提升性能,同时因为写放大降低,延长了闪存的寿命,提高可靠性。
  • Thin Provisioning:分区的容量可以随着使用而自动增长(直到用满阵列),这样关键时候不会影响到性能。
  • 镜像:先进的镜像架构保证了容量和性能不会受损。
  • XDP数据保护:用RAID6保护数据。
  • VAAI集成。后面解释这是个什么东东。


XIO软件核心设计思想

  • 一切为了随机性能

    • 任何节点上访问任意数据块,都不能比其他情况增加多余的成本,就是必须是公平访问所有资源。这是为神马?这样的效果就是即使节点增加,性能可以线性增长,扩展性也好。

  • 尽可能减少写放大

    • 要知道,对SSD来讲写放大不仅导致寿命缩短,同时因为闪存的擦写次数升高,导致质量下降,数据可靠性也会下降。XIO的设计目标就是让后台实际写入的数据尽量少,起到一种数据衰减的作用。

  • 不做全局垃圾回收

    • XIO使用的是SSD阵列,而SSD内部是有高性能企业级控制器芯片的,当前的SSD主控都非常强大,垃圾回收效率很高,所以XIO并没有再重复做一遍垃圾回收。这样做的效果是降低了写放大,毕竟后台搬移的数据量少了,同时,节省出时间和系统资源来给其他软件功能,数据服务,VAAI等。

  • 按照内容存放数据

    • 数据存放的地址用数据内容生成,而跟逻辑地址无关。这样数据可以存放在任何位置,提升随机性能,同时还可以针对SSD做各种优化。
    • 数据可以平均的放置在整个系统中。

  • True Active/Active数据访问

    • LUN没有所有者一说,所有节点都可以为任何卷服务,这样就不会因为某一个而性能受损。

  • 扩展性好:性能,容量等都可以线性扩展。


training

回复评论 (1)

对以上有两个疑问,一个是,不做全局垃圾回收,是不能做还是不必做,如果ssd阵列没有将物理地址及需要的相关信息暴露给上层,那么应该是不能做,文章中此处的描述显然有不做全局垃圾回收有优点的嫌疑。第二个是数据存放地址用数据内容生成,跟逻辑地址无关,不知道这个是怎么生成的,写入后进行访问的时候没有逻辑地址怎样进行访问,还要根据数据内容找到物理地址吗?既然有了数据内容那还找物理地址访问干什么呢?
training
点赞  2016-3-1 23:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复