有关软件定义存储的谈论颇多,亦引发了很多困惑。但是说实话,如果我们考虑如今的存储阵列的基本架构的话,我们就可以很容易理解软件定义存储厂商致力于从存储硬件分离出来的存储应用程序了。
存储阵列由固态或者磁存储部件组成,或者两者兼而有之,被组织在托盘架里。通常,这些驱动器托盘架连接到控制器,它们很可能是运行不同版本的 Windows或者Linux商业操作系统的PC主板。该操作系统可能运行RAID软件以及提供从精简配置(资源监控、需求预测和容量分配的复杂的混合体)到压缩和联机的重复数据删除乃至各种数据保护服务的其它增值软件产品。大多数业务系统上也提供了管理和配置工具,以自动接合的Web界面或者可以通过命令行接口或者图形用户接口进行访问的服务的方式运行。
价格与软件而非硬件有关,这通常解释了存储成本高居不下的原因。例如,一台大众化的重复数据删除存储阵列的制造商硬件成本大约是7000美元(全部的商品部件),但是套件中提供的“增值软件”使这家厂商可以对这个设备收取 410,000美元的建议零售价。此外,从这台阵列复制数据需要相同品牌、构造和型号的设备,并为用于同步或者异步复制的额外的增值软件支付额外的费用。
在非软件定义存储(SDS)的环境中,“存储应用程序”通常只是由厂商的系统工程师在设备安装和配置的时候在阵列的硬盘或者固态设备上创建的一个卷而已,它包含了通过这些增值软件服务赋予这个卷的功能。通常,物理阵列上创建的所有的卷都有相同的增值服务集,而且每个卷都可以通过存储基础设施网络的单一(容错系统中则是冗余)路径进行访问。
所有这些都解释了早期的虚拟化的方式要求解散SAN并让存储重新回到连接服务器或者内置于服务器的配置的原因。这种方式比较容易把物理存储资源关联到虚拟的工作负载。为了便于高可用集群,完全相同的内部或者DAS配置被用于不同的虚拟化服务器的存储之间的同步复制服务。通过这种方法,无论应用程序被托管于何处,应用程序需要的数据都会在相同的位置。
但是,这种模式导致存储容量需求的激增。分析师预计:在高度虚拟化的服务器环境中,存储容量的增长幅度为300%到650%。这样的成本高昂,无法承受。
替代方法是保持SAN基础设施原封不动,只是将其虚拟化,或者更简单的,将存储应用程序移出每个阵列控制器并移进存储虚拟机管理程序或者存储虚拟化服务器。当它们在物理服务器之间转换的时候,到卷的路径可以与虚拟机一起移动。在这个过程中,重新定位到包含数据的相同卷的路径由存储虚拟化引擎“在后台”完成。这种方法进一步使各种服务以更加粒度的方式被提供到虚拟卷,更加精确地满足不同的工作负载或者客户机的各种需求。
这是SDS所寻求的存储应用程序吗?大多数工程师会认为是:这是向应用程序敏捷地提供具有充足容量、性能和合适的服务的持续的存储卷的一个方法。很遗憾,厂商的市场推广人员喜欢细致入微地区分那些与存储虚拟化技术无关的各种定义,而不是努力提出仅与一家厂商的服务器存储虚拟机管理程序或者硬件套件协同工作的SDS产品。
归根到底,存储应用程序是向应用程序提供的建构,用于读取和写入数据。卷的物质性—构成该资源的磁盘驱动器以及到该资源的路径,对应用程序和最终用户都是不可见的。如果你正在试用或者已经部署服务器虚拟化技术,你应该知道关于存储虚拟化和存储应用程序你需要了解些什么。