1.2 存储虚拟化的兴起
1.2.1 服务器虚拟化的日趋成熟
从1999年VMware推出业界第一套x86计算机虚拟化软件,多个操作系统可以安装在一台基于x86的PC或服务器里后,服务器虚拟化技术已经经历了十几年的迭代更新。近年来,随着x86计算机性能的飞速发展—CPU处理能力越来越强,内存容量越来越大,服务器虚拟化的整合率越来越高,性能效率比愈加凸显。目前,服务器虚拟化软件已经运行在几乎所有世界500强的生产或测试环境中,得到了各行各业的充分信任与广泛认可,这标志着服务器虚拟化已经走向成熟。
虚拟化、云计算和硬件技术的发展,使得软件定义成为可能。随着虚拟化和云计算的普及,用户的思维方式也发生了转变,逐渐意识到快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按需付费。
因此,作为虚拟化和云计算里重要的组成部分,人们开始对存储虚拟化有了遐想空间,存储也应该适应新的需求而不断完善,做到存储即服务,实现快速交付,动态调整。
1.2.2 存储虚拟化的起源和发展
数十年前,计算机服务器的CPU处理能力弱、内存小、单块磁盘的性能和容量都较小。为了不占用服务器内部的CPU和内存资源,提高数据的性能、可靠性(如RAID保护)、可用性(如快照、容灾、双活等)、扩展性,以及提供方便易用的集中管理,诞生了外置磁盘阵列。外置磁盘阵列本身自带智能控制器,能够组织管理数据,并提供快照、容灾等高级的软件功能。
然而,近几年来,新技术的迭代显著地改变了存储架构。其包括以下几方面:
❑SSD:延迟从磁盘的毫秒级缩短到亚毫秒级(0.1毫秒),性能从单块15K磁盘的180左右IOPS,猛增到单块SSD的数万IOPS;闪存价格的下降速度比硬盘更快,根据IDC预测,两者价格曲线将于2015—2017年出现交叉,届时单位GB的SSD的价格甚至低于单位GB的15K磁盘的价格。
❑CPU多核技术:服务器的CPU多核早已广泛应用到各项业务中,尤其是在虚拟化环境中,多核处理器不仅提高了处理器利用率,而且提高了单台服务器上用户对更多I/O的需求,这反过来驱动底层存储进行变革。虽然当前绝大多数存储控制器采用了x86架构,但是从最近三年才真正开始利用CPU多核处理I/O。
❑高速网络技术:分布式存储借助于节点之间的SSD缓存同步复制来确保数据的冗余性,也得益于近年来网络的高速发展;目前,万兆网络的延迟非常小,大约在100微秒,远小于PCIe闪存的延迟1毫秒;如果采用RDMA技术,延迟能更小。
❑大容量服务器和磁盘:分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持的大存储容量。
分布式存储及面向对象存储技术的逐渐成熟。
虚拟化和云计算要求更智能的存储,能够调用其控制信息,配合上层更灵活、敏捷的部署存储资源。
目前,存储市场上更多的是做数据层的厂商,很少有做控制层的SDS厂商。因为控制平面的复杂度高,而且在短时间内很难看到回报。这些做数据平面的厂商,绝大部分还在抽象化、池化这两个阶段。
抽象化做的是软硬件解耦,池化做的是存储虚拟化。池化包括存储虚拟化和存储标准化,而存储虚拟化指所有存储资源的虚拟化,包括:
❑外置磁盘阵列内的虚拟化。
❑跨外置磁盘阵列的虚拟化(也即异构存储的管理)。
❑分布式存储服务器内的存储虚拟化。
第一步是抽象化,没有解耦,寸步难行;第二步是池化,这样才能灵活分配存储资源;第三步是自动化,存储资源由软件(Hypervisor)来自动分配和管理。