- 论坛徽章:
- 0
|
本帖最后由 Heng_Liao 于 2014-05-14 14:45 编辑
niugb 发表于 2014-05-13 17:14
SAN解决了共享问题,用传统的硬件可以保障数据安全通过RAID或者是多放几份数据,但目前存储的互连是PCIE的网 ...
在传统DAS架构中的本地SSD,不涉及到共享的问题,如果要在块设备上实现对OS/文件系统/应用透明的数据保护,还可采用RAID这类技术。只是RAID控制器设计在带宽IOPS方面要能和SSD的性能相匹配。
在SAN 构架中,SSD可通过闪存阵列来提供。闪存阵列本身实现某种类似于RAID的数据保护和存储虚拟化层,这个RAID系统的设计,要在更大规模上保证带宽和IOPS。 Violin Memory 这类阵列,其实还是于传统硬盘阵列的升级版,采用双控或多控处理单元来提供更高的性能,但本质上不太容易Scale 到能匹配成百上千个SSD的性能。也有更先进的方案,如我们的合作伙伴DSSD(刚被EMC并购),其实把SAN和闪存阵列合为一体,(即前端就直接提供了很多个供服务器直接连接的PCIe端口)然后再数据保护层采用全分布式的实现,因此能达到的性能更高。这个全明星团队才被EMC相中娶回家中。
我们认为,IOPS和带宽还是有办法扩展的,但是数据保护和虚拟化层引入的额外延迟是不可避免。关键要看增加的延迟十分对应用带来大的伤害。在好的实现中,这个延迟不会比SSD盘的延迟更大,也就是说不会是2倍于SSD设备延迟。其实还可以做得更好,就看应用需求。
要是应用对延迟十分敏感,恐怕数据保护层就要在应用层实现最合理,存放多份数据,或采用删错编码(Erasure Coding)都可以。这些概念可在DAS 或SAN 上实现。
FDIO 在存储方面,其实就是一个机架内部的穷人的SAN。由于限定在机架范围,固定拓扑,只提供小范围的虚拟化和于数据中心控制平面相对接的较简单的管理功能,因此比传统SAN,硬件,软件负责度都作的很大简化,因此成本比SAN有1~2个数量级的缩减,而增加的是带宽---无论用SAS, 还是PCIe 来做FDIO, 目前技术都可在不增加标准服务器成本的前提下提供远远高于Ethernet 或各类SAN的访问存储矩阵的带宽。比如通过标配的8口SAS HBA,它的Fabric 带宽在 8x12Gb= 96Gbps 的带宽用于访问全局的存储池,这个没有增加服务器成本。同样,直接采用PCIe口访问Fabric, 也可达到这样的带宽,同时又能有更低的延迟特性。如果采用Ethernt, IB, FC, 要达到96Gbps的块存储业务(FCoE, iSCSI等)恐怕这个基本的产品几年内还不能普及吧,即使有,这个网卡的成本和CPU开销要大于服务器本身的成本,再算上相应的交换机端口成本,对比结果FDIO的优势是不言而喻的。
在FDIO上,我们还提出了全分布式Proxy 虚拟化代理的概念,每个Proxy可在命令和响应处理方面实现代理功能,用于实现RAID, Erasure Code, 自动镜像,压缩,Dedup等功能,但数据通道上又可实现DMA传送的直通。这是为了优化“虚拟化层引入的额外延迟”使它最小化。这和DSSD的基本思想一致,具体实现上不同。做芯片的有这个优势,只要有需要又有合理算法,想做什么功能都可以放在芯片里面,最关键是把这些“高大尚”的技术给贫民化,使得大家都能用得起。
|
|