文章来源:华为数据存储FusionCube超融合基础设施2024专刊
从虚拟化到数据中心虚拟化
迄今为止,我们谈的虚拟化还只是聚焦在计算资源的虚拟化,可以称之为计算虚拟化或者服务器虚拟化,但是虚拟化绝不只是针对服务器资源。
站在数据中心的视角,虚拟化的对象应当包含计算、存储和网络三大类资源。计算虚拟化,在第一节已经有了较多讨论。存储虚拟化则可追溯至上世纪80年代,由加州大学伯克利分校Patterson教授,在论文“A Case of Redundant Array of Inexpensive Disks”中提出的RAID(Redundant Array of Independent Disk)技术。RAID本来是一种可靠性提升的技术,即把多块独立的物理硬盘按不同方式组合形成一个硬盘组,以此提供比单个硬盘更高的存储性能和数据冗余的技术,但是,无心插柳,RAID技术在提升可靠性的同时也实现了资源的抽象化,用户不用关注自己的数据存储在哪块硬盘,而是由磁盘阵列提供一系列的LUN(Logic Unit)供用户使用。从物理硬盘到逻辑硬盘,RAID技术将虚拟化之风吹进了存储。
在传统的企业存储中,所谓的存储控制器,一个主要的功能就是对磁盘阵列进行虚拟化,提供LUN给主机使用。随着数据量的增大,尤其是海量非结构化数据的爆炸,和对于存储系统的容量和可扩展有了更高的要求,分布式存储应运而生。与传统企业存储不同,分布式存储没有专门的控制器,而是通过分布式软件,将服务器节点内的硬盘组合成一个存储池,再以虚拟卷(Volume)的方式提供给主机使用。实现原理不一样,但是最终结果都是将多块硬盘虚拟化成存储池后,以LUN或卷的方式提供给用户使用。
分布式存储做得比较成功的有VMware的vSAN,EMC的Isilon以及华为的OceanStor Pacific,开源则有著名的Ceph,由于门槛比较低,逐步成为存储虚拟化的主流,所以很多场景提到的存储虚拟化,也就等同于分布式存储,尤其是超融合场景。
随着数据中心的发展,对网络虚拟化提出了更高的要求:其一是服务器内部,不同虚拟之间、容器与容器之间,怎么构建一个虚拟的网络,实现交换、隔离和转发等网络功能。其二是,服务器组成了集群,集群内的物理网络怎么与逻辑网络分离,满足多租户访问,按需服务的特性,同时具有高度的扩展性。应对这些挑战,2008年,斯坦福大学教授Nick McKeown提出了OpenFlow的概念,并发表了经典论文《OpenFlow:Enabling Innovation in Campus Networks》,大胆构想了软件定义网络(Software- Defined Network,SDN),揭开了网络虚拟化的新篇章。