IDF2013:NVM Express目标SAN共享存储
ChinaByte比特网 4月11日 - 去年的IDF2012,笔者撰写了一篇《NVMe:PCIe SSD标准不断完善,直指Fusion-io》,当时的NVM Express版本还是1.0,我们来看看一年之后的IDF2013上都有了哪些进展。
PCI Express 固态硬盘 (SSD):趋势和机会.pdf | 点击下载 |
如上图中的文字所示,已经于2012年10月发布的NVMe 1.1,添加的企业级功能是多路径I/O和命名空间共享。记得我们在IDF2012报道的最后一句话是:“PCIe SAN互连时代真的会到来吗?”
在以上的NVMe基础知识中,“4KB命令的所有参数可由单个64Bytes DMA完成”一句,让我想起了去年写的《十亿IOPS不是梦?Fusion-io闪存API另类分析》。尽管fio不加入NVM Express阵营,但可以说二者有点“殊途同归”,即通过像内存页面那样的64字节大小来优化/合并闪存写入操作,实现比建立在传统磁盘上的块存储I/O方式高得多的性能。
怎么样?现在已经有将NVMe应用于SAN的演示了。通过直连(DAS)NVMe SSD与12个10Gb(万兆)FCoE的配置,能够提供超过310万IOPS的随机性能。
我们将前一张图放大看,在这套Xeon E5-2690双路系统的后端,由每个CPU各自通过一条PCIe x16线缆分别连接到NVMe SSD“后端”存储上的两块PCIe交换背板,每块背板上各自连接着3个Intel NVMe SSD。2颗CPU的前端则利用Intel Data Direct I/O各自连接1块双端口和1块四端口Intel 10GbE CNA,经过支持FCoE的万兆以太网SAN交换机再分别连接12台应用服务器。
可以说这只是一个基本的参考模型。
关于多路径I/O和命名空间共享,我们在去年预览NVMe 1.1时就曾谈到过。前者有2种应用模式:拥有多个PCIe端口的SSD;SSD通过PCIe转接器对应多个主机。两个主机同时访问一个命名空间(通常用于描述文件系统,这里换成“地址空间”可能更合适)时,需要像SAN共享块存储系统那样进行协调。
NVMe 1.1里面增加了整个NVM子系统的重置功能——应用场景如:新固件需要应用于两个控制器。
所谓预约机制,就好像SCSI reserve(预留),这在共享存储的集群中多主机协调访问同一个命名空间(块存储设备)时尤为重要。
NVMe在主要操作系统中的驱动。其中进度最快的Linux已经被纳入主干内核并开源;VMware初始驱动由Intel开发,预计在今年2季度发布。
NVMe的长远目标是每个主要OS都附带标准驱动,这样理论上说就能从符合该规范的SSD上启动Windows等操作系统,不过相对于同样的驱动可以减轻OEM、渠道合作伙伴和最终客户的测试工作量来说,boot功能对用似乎用处不大?