存储虚拟化是指将具体的存储设备或存储系统与服务器操作系统分隔开,为存储用户提供一个统一的虚拟存储池。
在面对资源池按需分配、多租户、海量存储、高I/O、快速扩展、差异化服务等需求时,传统的存储方式面临的挑战日益明显,存储成本高、并发I/O 受限、线性扩展能力差,以及无法确保差异化服务等级成为亟待解决的问题。
第一个挑战是管理复杂、不灵活。
第二个挑战是存储成本高。
第三个挑战是并发 I/O 受限、线性扩展能力差。
第四个挑战是无法确保差异化服务等级。
这些新挑战是传统的存储所不能满足的,因此软件定义存储SDS应运而生。SDS实质上是利用存储虚拟化软件将物理设备中的存储抽象为虚拟共享存储资源池,通过虚拟化层进行存储管理,可以按照用户的需求,将存储池划分为许多虚拟存储设备,并可以配置个性化的策略进行管理,类似于将服务器划分为多个虚拟机,从而可以跨物理设备实现灵活的存储使用模型。
SDS 是一种数据存储方式,所有与存储相关的控制工作都仅在相对于物理存储硬件的外部软件中。这个软件不是作为存储设备中的固件,而是在一个服务器上或者作为操作系统或 Hypervisor的一部分。也就是说,将物理存储资源通过抽象、池化整合,并通过智能软件实现存储资源的管理,实现控制平面和数据平面的解耦,最终以存储服务的形式提供给应用,满足应用按需(如容量、性能、服务质量、SLA 等)使用存储的需求。
如图1 所示,SDS系统包括由硬件实现数据存储的磁盘或x86服务器,由软件实现的存储管理,基于上述软硬件提供的文件、对象、块存储格式,以及网络文件系统(NFS)/分布式文件系统(DFS)、描述性状态迁移(REST)/简单对象访问协议(SOAP)、iSCSI/光纤通道协议(FCP)存储接口。
SDS 系统的软件组成主要分为两大部分∶一是控制路径上的统一管理平台,二是数据传输路径上的存储虚拟平台。软件负责存储控制和管理功能,实现数据存储的可用性、可靠性、安全性和访问接口。软件可以灵活升级和优化,增强数据管理功能,提升数据管理效率。主要的软件功能包括∶数据冗余管理、快照功能、精简模式、重复数据管理、监控管理、节点管理、负载分担、存储策略管理等。有了 SDS,便可动态、无缝地迁移和共享数据,也可弹性地扩展存储容量。