作者:ClearSky的CTO Laz Vekiarides
几年前,当我还在戴尔存储业务部门的软件工程部时,软件定义存储的概念开始出现。 在大公司上班有一个好处是,通常会有很多人支持各种新想法,因为这些想法最终都可能推动服务器的销售。
仔细想想很多事儿都是这样的,我仔细听了一位同事对软件定义存储的描述:“软件定义存储就是把存储控制器的Firmware拿出来放到Linux虚拟机上,然后我们就能放在服务器里交付给客户了“。
我问道,这如何实现呢?说真的,万一服务器里的存储控制器出了点bug导致用户数据丢失的话,那怎么办呢?这些疑问也开始让我的同事重新思考一些现实的问题,但是,这样的思想越来越流行,很多人都这么想,也都开始这么做了。
大家的思路都很简单,就是在商用的标准服务器上跑一个存储阵列,然后冠以SDS的名字。接下来一年,我们花了很多时间来开发这个概念,与此同时,许多公司抓住了这个不太成熟的概念,然后给自己的产品归类为SDS,SDS的概念脱胎于SDN(software defined storage),两者之间有些关联,但有些不一样。
尽管我们花了很多时间和金钱与用户沟通,然后构建SDS产品,但很明显,但还是无法满足将其推向市场的标准。我们的团队在过程中也学到了很多,下文总结了全球最聪明的存储工程师是怎么把握这一概念的,为什么会有那么多后来者跟进这个概念,希望这样的视角对于企业存储采购决策有所帮助。
1,SDS没有标准的定义
最诡异的是,SDS在营销层面比定义层面要成熟的多,与SDS不同,SDN有详细的体系结构和相关的描述,而SDS的定义在很大程度上取决于聊SDS的这个人是谁。SDS大体上的描述了这样一种前景,就是能为企业提供随需而变的敏捷体验,但除此之外,每家对于SDS都有不一样的产品愿景,SDS是台运行着存储阵列firmware的虚拟机吗?是云网关吗?或者是一台运行在英特尔标准服务器上的Linux操作系统,上面有NFS?这些说法或许都对,就看做产品的是谁了。
反观SDN则比较容易理解。网络交换机多年来也都是封闭的系统,领头羊有自己专有的操作系统,以及专有的基于ASIC的硬件,因为都是专有硬件,所以那利润里杠杠的。直到近几年,交换机才开始出现参考的硬件平台。
现在SDN干的事儿就好比是上世纪八十年代PC行业发生的事儿,那个时代兼容机兴起,开启了一个PC时代,专有设备的废弃,软件跟硬件分离开发,也创造了Windows和Intel的辉煌。历史证明,软硬件分离后,美好的事情就发生了,SDN就是类似这样的事儿。
软件定义存储则有不同,因为存储阵列很早以前就跑在x86硬件平台上了,SDS的变化不会有类似的效应。SDN则不同,是因为交换机需要用到很多不同供应商的AIC,没有第三方的BIOS需要管理,没有来自多个不同供应商的NIC卡。
另外,SDN不像存储这样涉及磁盘,用户买到的商用存储阵列看起来更像是商品组件组合,而不是封闭系统。
认识到以上的种种事实后可以帮助用户在买存储的时候不被人忽悠,用户根据自己的认知来判断这个东西值不值,知道哪些组件是由零售商独立定价的,哪些是与合作伙伴做的(比如是跟集成商合作的),让软件定义存储以正确的方式为你工作。
2,自己DIY搞一套不太现实
最近,当我与各地的合作伙伴会面的时候,我想起了我对于SDS的一些看法。我跟许多人进行了有趣的对话,也发现了引起大家普遍担忧的原因。当用户想买SSD或者买服务器的时候总是喜欢听听免费的建议,而我也喜欢聊硬件的话题,不过,说实话,我的建议的有效期一般都是六个月。组装、集成一套系统需要许多深思熟虑的研究,但是,许多存储和IT专业人员都在尝试DIY一套SDS系统。
当你打算购置一套新的存储平台,通常都需要找外援给点意见。如果你是一个企业IT服务商,你有20多个人专门做磁盘测试,修改开源Bug,那么你对于非核心活动可能有点过度投资。
软硬分离需要花大量的时间和金钱,而且还要创造新的绑定。在未来,这一过程还将不断重复,以跟上供应链的改变。在一些案例中,企业甚至需要自己的硬件专业人员来部署SDS。
一套硬件捆绑的存储系统每年需要百万美金的投入,用户通常需要购置多的容量来证明费用是值得的。对于一些企业而言,这项长期投资是值得的。许多互联网巨头都在构建自己的系统,但他们是少数派,如果你还在考虑DIY路线,你可以考虑以下的方式:
想获得高性能和高可用性的话,还需要进行大量优化。处理器,内存,磁盘,操作系统设置,驱动程序,固件和错误修复等等都需要花费大量时间来选择,组装和测试。因为即使是很小的变化也可能会对性能和可靠性产生巨大变化。
服务器市场的宣传周期最短大概就是三个月,一年内能买到同配置服务器的概率几乎为零。因为硬件一直在变,所以,可能一些已经进行的工作可能都白费了。驱动的话,大概每个季度都会更新一次,许多半导体的产品都是以年为周期来更新,也就是说,每时每刻,都可能有硬件该淘汰掉了。
如果这些活儿用户自己公司搞不定的话,就需要求助于第三方的人了。
3,供应商不在乎你的性能需求
如今,许多系统供应商都在构建捆绑的SDS解决方案,而不是分成单独的部件然后单独定价。尽管有各种合理的解释,但在无形之间增加了额外成本,而且让用户在做对比的时候变得更麻烦,
别以为SDS只是服务器的扩展应用,许多SDS服务商会给你一个SDS软件包,然后提供一个硬件兼容性列表,指导你说应该买哪些服务器。听起来简单,但每个供应商的性能标准不一定一致,大部分供应商都不会提供优化的标准,除非你跟厂商的关系特别好,否则根本没法控制这些部件,如果用户对这些性能不满意的话,退货?不存在的。
在决定买什么存储的时候,你需要时间和经历来跟踪成本、需求和各个零部件的供应链等信息。你的团队如何处理这些任务呢?雇佣更多员工还是找个系统集成商来管理你的系统呢?
4,不存在统一的评估标准来测量灵活性和投资回报率
业务敏捷性是评估企业技术的新标准,快速构建和快速拿掉资源,同时能避免企业业务流程上的麻烦事儿,最终能为企业带来很大的经济利益和竞争优势。提升敏捷性是云服务商最喜欢说的,但企业级IT服务商为了提升自身价值,也在强调这样的能力,这样一来,ROI就有了新的维度。
如何衡量敏捷的价值呢?从谈话中了解到,很多厂商都在计算自己的磁盘有多便宜,不过,在考虑敏捷性提升的同时,也应该指出SAS和SATA磁盘的故障率。当前做的工作会为业务带来新的灵活性还是只是降低成本呢?SDS能让企业做以前做不到的事儿吗?用户选用SDS的时候需要在六个月甚至一年的周期内一直跟踪投资回报率,因为这些时间可能需要更换或者重新规划硬件方案,最后才能证明这个方案是有价值的。
5,让SDS做最该做的事儿
回到SDS的基本概念,在商用硬件上运营存储阵列,最终会为团队带来价值,对公司的整体增长有所贡献。当用户对于存储架构和硬件部分有特殊需求时,软硬件平台能通过定制化满足这些需求,这时会看到成本和性能方面的优化。根据你的规模和具体需求而定,最终可以节省一大笔费用。
企业IT社区开始认识到SDS的价值,因为我们看到Facebook,Google,以及主要的互联网巨头都在自己组装系统,并用SDS带来的技术优势进一步推动发展。主要你小心绕开了这些坑,SDS能帮助用户得到同样的效率和技术优势。
原文链接:https://www.infoworld.com/article/2997239/5-bitter-truths-about-software-defined-storage.html