为什么今天软件定义存储方案不能兼容所有的硬件?
今天介绍的软件定义存储的核心是虚拟化存储技术。类似于虚拟化计算的概念,虚拟计算实现了在各种x86服务器上完成虚拟机的运行,不过虚拟计算发展到今天也是经历了数十年的发展才基本实现了在通用x86服务器上的虚拟化。而今天的软件定义存储方案毕竟真正推出也就是最近6年以内的事情(在国内则是最近3年以内的事情),所以直接把软件定义存储在硬件方面的兼容性和今天已经普及了的虚拟化技术相提并论是不合时宜的。
以VMware的虚拟化产品vSphere为例,为了在物理服务器上实现虚拟化,VMware要求服务器厂商为ESXi提供专门的驱动程序(在VMware被市场认可后,所有的服务器厂商主动提供这个驱动)。如果你在一台DIY的PC服务器(或者没有被认证的服务器)上安装ESXI,就可能会面临网卡、RAID卡等部件不能被识别的问题。但是像CPU,内存等组件因为标准化程度高(好吧,是因为Intel无敌),所以一般不会遇到兼容性的问题。
而在对存储进行虚拟化时,面对的兼容性问题就要比虚拟化计算时复杂得多。一来各个服务器厂商的磁盘控制器品牌、型号、规格都不一致,比如某些磁盘控制器的队列深度参数仅为32,而为了性能,软件的最佳建议往往是64甚至是128。所以无论是哪家厂商在做SDS时,都对服务器型号、磁盘、控制器等有较具体的要求。还是以VMware为例,vSphere有比较通用的HCL(硬件兼容性列表),但是通过vSphere HCL认证不代表这些服务器可以直接运行vSAN。因此,VMware针对vSAN专门推出了vSAN Ready Node的专门兼容列表。里面特别地对硬盘(SSD/HDD)及磁盘控制器进行了认证。硬盘必须支持以下这些特性才有可能通过兼容性认证:
• Drive Performance
• Drive Reliability
• Queue Depth
• SAS Log Pages
• SATA SMART Attributes
• Surprise Power Removal Protection
• Write Cache
• Write Failure Notification
• Write Flush
所以,今天说软件定义存储对于硬件已经完全通用是不严谨的。我就多次见到过不同用户采购了经过vSphere认证的服务器,但是因为磁盘控制器、SSD的型号不匹配,导致环境搭建不成功、性能差、甚至数据丢失的案例。
另外,SDS还对硬盘、磁盘控制器的固件有特别要求,如果固件版本没有经过厂商的验证出现问题后往往是不能得到原厂支持的。当服务器厂商的硬件产品升级后,对应的SDS软件如果没有实现同步的测试验证,用户在新的硬件上进行部署安装,就有可能会出现数据丢失、不一致的问题。这也是传统存储厂商为了保证数据可用性,对存储的软件、硬件维护都要求由厂商来维护的主要原因。
软件定义是IT发展的必然趋势,但是前提是硬件已经实现了标准化,只有在硬件实现了标准化的前提下,存储才可以实现真正的软件定义。而当前,软件定义加上有限的兼容认证也是不得以而为之。
————完————
长按识别二位码 关注我们
领取专属 10元无门槛券
私享最新 技术干货