厂商喜欢推广固态存储的一个原因是:速度。当SSD在传统的磁盘存储得到推广时,厂商们也越来越多的关注在服务器内部的PCIe卡上部署SSD。那么在PCIe存储卡上使用SSD有什么优点和缺点呢?
来自马萨诸塞州Enterprise Strategy Group公司的高级分析师Mark Peter不仅从速度方面谈到了基于PCIe的固态存储,还从价格和性能优势分析了PCIe固态存储。
由于将固态存储直接绑定到PCIe总线有明显的速度优势,那么我们值得将存储整体迁移到PCIe吗?或者至少是将繁忙的I/O迁移。
我觉得有趣和圆滑的回答是:“嘿,如果你有足够的钱并且没有其它限制的话,你当然可以这么做。”不过让我来给你一个更加合理的回答。我们已经有了固态硬盘,然后我们一起讨论将它们通过PCIe部署到服务器内部。我们已经习惯了传统硬盘所在的层级,我们也将会有固态存储的层级,只有这样才合理。
所以如果所有部署方式的价格都是一样的话,那么我们会将所有存储都尽可能的部署在最高层级,可能比PCIe还要高,也许直接就部署到DRAM了。但是固态存储的价格不同,性能也不同。所以固态存储的层级范围也不同。
因此我不认为现在可以将固态存储整体迁移至PCIe。它会有它的位置,人们会根据性价比来决定它的部署位置,用户已经在这么做了。
对于当前的服务器环境,你认为短期内用户会在现有的服务器加入PCIe卡吗?或者是否有用户在采用PCIe技术前仍然在等待其它服务器端闪存设备的技术?
我认为金钱在里面起到了很大作用,人们会根据成本来决定将什么部署到哪里。但目前的许多部署方式还有另一个挑战——缺乏共享能力。
我觉得用户会等待更多实现共享的方案。有许多公司在讨论通过软件来实现该技术,而非购买一整套设备。
所以你要得到更灵活的、更有扩展性的、更有共享能力的技术是很昂贵的。我认为成本会决定有多少用户使用该技术。
你提到了共享能力,人们在这方面有什么特别注重的地方呢?
如果你有一个虚拟化的环境(这在今天很普通),你想做的最后一件事就是购买一个昂贵的资源,如固态存储,将它部署到物理服务器内部。如果这个服务器需要迁移,不管它是物理服务器迁移还是虚拟服务器迁移,若是它绑定在一个服务器中,它只能被这个服务器使用。这样如果你要迁移数据或者将它迁移到另一台物理服务器上,就会产生问题。用户正在寻找解决该问题的更加灵活的方案。
显然,这是所有基于PCIe固态存储的缺点。而且虽然SSD对读操作很有帮助,但每一个写操作都会将其性能慢慢耗尽。对于SSD硬盘,操作系统和SSD厂商的软件都可以延长硬盘的寿命。那么PCIe呢?它在本质上跟SSD是一样的吗?
它们是一样的。有固件可以提升介质的寿命,不过你需要去管理它。你可以看到一些人在谈论写放大,一些人谈论读写放大,其实你需要的是使用寿命放大,让介质在总体上得到更多使用寿命。
顺便说一个另外有趣的事实:固态存储的一个优点是知道它什么时候会到达生命周期。当它们完成一定数量的写操作时,就会死亡,这是一种“优雅的死亡”。
所以你可以为SSD的损坏提前做出计划。系统厂商,无论是硬盘厂商还是PCIe卡厂商也会处理这件事。这不单是会考虑到它们的生命周期,而是会让它们在到达生命周期时会有一定数量的设备来取代它们,这样应该会使得管理更加简单。所以我认为人们不必为SSD使用寿命考虑太多。
目前PCIe的最大缺点是什么?是连接到现有服务器的限制吗?(SSD取代HDD的一个问题是eSATA连接无法完全利用固态存储的速率)。PCIe会有类似的问题吗?
这是一个有待进一步讨论的问题:许多相同的优点和缺点也在其它形式的固态存储中出现过。让我们回忆一下我们为克服硬盘问题做的努力,我们使用了RAID、短击技术(short stroking)以及许多技术来解决硬盘的问题。
这就是我们通常做的,这些问题存在很正常。我们要看到所有类型的硬盘都有缺点,我并不认为我们现在讨论的PCIe在这些方面会有什么不同的地方。
另外一个我认为重要的事情是,无论固态存储是基于PCIe还是放置在存储内部,速度都会很快,但速度本身并不是一个最终目标,它只是完成目标的一个手段。
因为无论你将它部署在服务器端还是存储端,它都会减轻系统其余组件的负担。由于基于PCIe的SSD在性能方面表现的很好,所以它会让你提升基础设施的整体性价比。