接上篇:破解PCIeSSD进化:从踩坑到解决方案(一)
二、用户最该关注的兼容性、稳定性和服务
目前PCIeSSD厂商们仍在加强的竞争力,包括把卡做稳定,对所有系统提供兼容性及支持。由于这些慢慢大家都能做上来,所以以后做卡的厂家会越来越多。现有的闪存卡厂商都开始往解决方案及闪存阵列上转型了。
在PCIeSSD消除了性能瓶颈之后,如何消除单点故障是许多用户接下来会考虑的一个问题。如果只是作为加速缓存或者放临时数据还好,而其它数据怎么保护呢?这也是PCIeSSD和传统磁盘阵列,乃至闪存阵列之间的一个重要区别。
传统企业还习惯在单台服务器插2块卡做RAID(软镜像),这个和SAS、SATA盘在服务器上用RAID卡保护是同一个思路,在单块卡/盘故障的情况下可以保持数据和应用的访问不中断。
有的朋友觉得没有必要做RAID1,因为闪存卡本身就做了类似RAID5的检验,大部分企业级SSD有30%左右的冗余,就是类似一张RAID卡对一堆NAND颗粒做RAID5,毕竟主控芯片的故障率比存储介质低很多。这就是闪存在正常使用下故障率显著低于机械硬盘的一个原因,当然如果是极端的写入密集型应用,选择不合适的SSD那就是另外一种情况了。
由于RAID属于一个比较常见的需求,有些PCIeSSD已经开始加入这样的功能,在驱动层或者有专门的硬件单元来处理。而这种方案不见得会成为主流,因为即使不用怕闪存卡坏了,在x86服务器上总还是存在单点故障。用户需要从业务角度来考虑高可用,这样才能完全或者部分替代SAN共享存储。
图3
上图是笔者在阿里巴巴数据库专家张瑞@hellodba 在2011年发表的一篇博客中看到的,应该是引用自Fusion-io的白皮书。这里面ioDrive(也可以是其它PCIeSSD)所在的存储目标服务器通过iSCSI或者RDMAover InfiniBand将闪存卡映射到每个OracleRAC节点,再利用Oracle自身的ASM配置failgroup(镜像对),每个PCIeSSD或者目标服务器故障都能保证数据正常访问。
当然,上面只是个轻量级的单控存储+ASM镜像,我看到如今有的PCIeSSD厂商也在宣传类似的解决方案。如果要想实现更多存储节点、更高的性能和容量,以及更好的健壮性,也许可以借鉴OracleExadata集成系统或者像EMCScaleIO、华为FusionStorage那样的分布式ServerSAN。
还有朋友建议在两台服务器上各插一块卡,用IB HCA卡直联,做到应用级别容灾。这个就像笔者之前曾经讨论过的沃趣科技“QData Oracle数据库一体机——双RAC节点FREE-SAN”,如下图。
图4
这个架构就不在此处详细讲了,其计算、存储一体化的设计在某种程度上消除了网络瓶颈。专门针对虚拟机环境的Nutanix也是属于这种类型,当然Nutanix支持的节点更多,其存储堆栈的设计也更加复杂。
在服务器本地PCIeSSD做主存储的基础上实现数据库高可用,还可以把redolog放在共享存储上,用免费的DataGuard做主备库复制,同时ADG还能支持备库只读查询。甚至一些来自Oracle的专家都不推荐RAC集群+共享存储方案了。
PCIeSSD的性能给OLTP交易型应用带来的效果最明显,传统的共享式磁盘阵列面临着被颠覆的可能。因此我们现在一方面看到DBA在研究闪存,另一方面有的*国内闪存厂商甚至招募了多名OracleACE高手来推动解决方案的研发和销售。
关于全闪存阵列,国外已经有许多比较成熟的产品,而且传统阵列厂商和初创公司(其团队基本上也来自前者)都盯着这块大蛋糕,可谓竞争激烈。PCIeSSD厂商如果想进入这一领域,需要比较大的决心和勇气。
接下篇:四、PCIe双端口支持、没有控制器的SSD?
推荐阅读
本文转载自企业存储技术微信公众号原文链接点这里注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。