软件定义指将高度耦合的一体化硬件解耦成不同部件,并围绕部件建立虚拟化的软件层,通过 API(应用编程接口)实现原来高度耦合的一体化硬件所能提供的功能,再通过软件管理控制,使硬件资源实现自动化部署、优化和管理。软件定义由软件驱动并控制资源,相比高度耦合的一体化硬件更为灵活地为应用提供服务。
软件定义分成不同阶段将硬件与软件进行解耦,按需求通过编程接口或以服务的方式将硬件的可操控成分逐步提供给应用,分阶段满足应用对资源的不同程度、不同广度的灵活调用:(1)第一阶段:抽象,即解耦,实现存储资源灵活调用;(2)第二阶段:池化,即虚拟化,满足按需分配、动态拓展需求;(3)第三阶段:自动化,存储资源由软(Hypervisor、云管理等)自动分配和管理。
根据云计算开源产业联盟定义,软件定义存储(SDS,Software-defined Storage)指将存储物理资源通过抽象、池化整合,并通过智能软件实现存储资源的管理,实现控制平面和数据平面的解耦,最终以存储服务的形式提供给应用,满足应用按需(如容量、性能、服务质量、服务等级协议等)使用存储的需求。
软件定义存储产品是将硬件抽象化的解决方案,其核心为存储虚拟化技术,通过将存储资源抽象化、池化和自动化,利用服务管理接口的虚拟存储,虚拟化存储设备与服务器间的连接,将数据从底层硬件架构中剥离,并将标准服务器内置存储、直接存储、外置存储等存储资源整合,实现应用感知,基于策略驱动的部署、变更和管理,达到存储及服务的目标。
软件定义存储的解决方案允许企业用户通过用户界面(UI)或应用编程接口(API)以自身需求自由操作,快速灵活通过软件层实现存储数据资源池的管理。
软件定义存储产品实现存储基础架构的自动化机制,通过应用以元数据请求相应的数据服务,数据请求直接传达至自动化软件,并对应请求分配用户所需的存储资源,大幅降低人工管理运维成本。
软件定义存储包含以下特征:
软硬件解耦:SDS 允许异构的或通用的平台,支持在专有硬件及通用硬件上自行部署;
灵活性:SDS 框架能持续不断根据管理者需求而做出相应调整和改变;
拓展性:SDS 存储基础架构纵向扩展(Scale-Up)及横向扩展(Scale-O