机房360首页
当前位置:首页 » 虚拟化资讯 » 计算和存储虚拟化的前世今生

计算和存储虚拟化的前世今生

来源:驱动中国网 作者:DJ编辑 更新时间:2014/12/23 9:58:40

摘要:虚拟化是个古老而又不失新潮的技术领域,这么多年来,其不断地被赋予全新的含义。而计算、存储、网络这三大领域,也都有了各自的虚拟化技术。其中,存储虚拟化的概念和技术更具多样性。那么存储系统都有哪些值得研究的虚拟化技术呢?本文将尝试从不同的角度和层次来向大家全面介绍一下计算和存储的虚拟化技术。

虚拟化迈出的第一步:服务器虚拟化

  虚拟化这个词经常出现在各类文章和文档中。人们一般是从虚拟机技术开始逐渐了解虚拟化的。虚拟机技术很早便出现在大型主机中,由于大型主机的系统规模较大,所以有必要对资源做分区处理于是产生了硬分区,也就是从底层芯片和电路级别将系统内的CPU内存以及IO资源隔离开来,从而形成多个互相独立的子系统,每个子系统运行各自的OS。但是整个大系统作为一个整体进行管理。

  目前,IBM Power系列主机并未支持硬分区,其使用的PowerVM方案属于软虚拟化,富士通基于SPARC的小型机依然支持硬分区。一些基于x86体系的高端服务器可通过QPI支持这种硬分区。硬分区是服务器虚拟化的硬件实现最初形态。其好处是没有性能损失,缺点是不够灵活,分配粒度为芯片级,而做不到核心或者更细粒度。后来这些机器巨头厂商比如IBM、HP、富士通等,在提供硬分区的基础上,又提供了软件模拟的虚拟化,将系统资源做了更细粒度的虚拟,这也就是x86平台下的众多虚拟机解决方案所使用的方法。而最近兴起的Linux Container、Docker等轻量级资源虚拟化方案,获得了广泛欢迎。

  传统的基于Hypervisor+硬件指令加速(比如Intel VT以及AMD IOMMU技术)的虚拟机方案,过于厚重,同一台物理机要运行多个OS实例,产生了极大的代码执行效率的降低和存储空间的浪费。

  其实操作系统本身的责任本来就是将硬件资源虚拟成各种接口和服务,提供给应用程序使用,CPU提供了多线程、TLB加速硬件等等,就是为了充分满足OS进程管理的需要,而每个进程,就是一个应用,多个应用共享同一台物理机,靠时钟中断来让CPU轮询执行,这已经足够平均了,而且每个进程的地址空间也都是虚拟的。其一个重要的不安全的因素就是黑客可以通过注入驱动程序来获取Ring0权限从而影响甚至控制任意进程。

  虚拟机方案同样有这个问题,只不过触犯几率更低而已,比如bluepill等病毒,一样可以让虚拟机的安全壁垒荡然无存。而如今比较火的LXC和Docker轻量级思路的回归,是将来的一大趋势。

  从计算到存储:存储也得虚拟化

  随着存储系统的不断发展,存储虚拟化的概念也逐渐被广泛接受和使用。对于存储系统来讲,其虚拟化的概念与服务器虚拟化相比又有了新的扩展。存储虚拟化目前看来共有三种类型,分别是设备级虚拟化、数据组织和布局虚拟化以及空间级虚拟化。

  设备级虚拟化:与服务器虚拟化类似,存储系统也可以支持硬分区或者软虚拟化,其典型代表是2004年发布的HDS的USP高端存储系统以及同时期的IBM的DS8000高端存储系统。值得一提的是,唯一一个采用类似LXC和Docker方案进行设备级虚拟化的厂商是NetApp,其在2002年左右发布的vFiler软件就可以在一台物理存储系统中虚拟出多个虚拟存储系统。

  当然,也有直接采用商用虚拟化层的存储系统,比如EMC在2011年发布的VNXe便直接使用VMware在SAN控制器内部虚拟出一个NAS控制器,从而形成了统一存储。

  设备级的存储虚拟化应用场景不是很多,毕竟存储系统已经在数据层面实现了足够的空间隔离,就算多个系统同时使用,其数据也不会相互影响。

  数据组织和布局的虚拟化:对存储虚拟化的另一种理解,是存储系统对底层数据排布管理方式的虚拟化。2010年之前多数存储系统使用的是Raid1.0的数据布局,其很不灵活,重构时间长,随着单盘容量的增长,其已经无法满足重构速度的要求。

  2010年左右,不少Raid2.0思想的产品出现,比如XIV、3PAR等。Raid2.0技术便是存储数据布局虚拟化的典型代表。Raid1.0的条带分布和管理完全与硬盘绑定,需要全盘重构,而且重构数据只能写到一块盘上,严重制约了性能。Raid2.0尝试让条带浮动了起来,不再与磁盘数量绑定,条带可以在数百块磁盘范围内漂移,重构自然也就是见缝插针,多盘都可以写入数据,极大降低了重构时间,而且只重构条带所占用的块,空闲块不重构。

  但这也有副作用:需要大量的元数据来追踪记录条带的物理位置,需要耗费大量计算资源,以及保存元数据的存储空间资源,元数据变大之后,严重影响性能,所以不得不后台引入碎片整理机制。

  Raid2.0已经不亚于一个文件系统当量了。图1所示为一个Raid2.0的典型磁盘布局,可以看到逻辑卷的条带可以以非常灵活的方式布局。

  XIV和3PAR是业界第一个推出Raid2.0技术的产品,XIV属于一种分布式Raid10,其条带就是两个镜像块,而且这两个块可以分布到系统内任何磁盘内;3PAR则是Raid5的Raid2.0,但是IBM和3PAR并没有使用“Raid2.0”的概念术语,3PAR采用了“dynamic optimization”,这个词别说技术屌丝,连技术专家恐怕第一眼也不知道是什么技术。后来有不少国内厂商实现了Raid5的Raid2.0,包括MacroSAN、Huawei等。

  其实Raid5的Raid2.0的鼻祖是ZFS的zRaid,而ZFS的年头已经很久了,可以追溯到20年前了,早期Sun还与NetApp针对数据布局的技术专利打过官司。“Raid2.0”后来被Huawei正式当作了一个数据并大肆宣传,这才映入广大业界屌丝的眼帘。

  Raid2.0磁盘布局示意图

  空间级虚拟化:所谓空间级虚拟化,就是用一台存储设备,将其他存储设备提供的空间整合起来,在其上实现各种附加功能或者实现数据迁移和异构容灾解决方案。

  存储行业相对服务器行业来讲是比较封闭和保守的,而“空间级虚拟化”为了打破牌局,在多年抗争中逐渐脱颖而出,这些年来一直代表着存储技术的先锋,而随着Server SAN等Scale Out技术的诞生和井喷,“空间级虚拟化”技术的吸引力却依然高涨,就连传统SAN存储巨头EMC也在近几年发布了vPlex产品。

  那么到底是什么吸引着用户一直对存储虚拟化技术情有独钟呢?

  笔者感觉主要是以下几个痛点一直让用户持续关注存储虚拟化:统一整合,不被厂商锁定、软件定义,附加数据管理功能、数据迁移、异构容灾、数据安全、应用配合及利旧。在企业IT存储系统内,经常出现五类问题:

  ·统一整合

  企业IT系统内经常存在多个不同厂商或者同一个厂商不同型号、档次的存储系统,属于异构存储环境,在这个异构存储环境中,分配资源是个比较大的问题。首先,如果分配一个新的逻辑卷,需要登录对应的存储设备进行配置,如果让应用主机连接到多个厂商的不同存储设备,主机上需要安装多个不同厂商的多路径软件,它们之间很有可能冲突,回导致在主机端重新扫盘时很有可能扫不到,必须重启主机,这就需要中断业务。其次,针对多种不同厂商和型号的设备,配制方法也都不同,平时运维成本非常高。如果可以使用一个集中的虚拟化设备,将这些存储系统的空间池化,然后在一个统一的存储池之上,做统一的管理和分配,相当于先从原来的存储设备批发存储空间,然后再向应用主机零售存储空间,极大了节省了运维成本。

  用户都不愿意被厂商锁定,系统内至少要有两家以上的不同厂商的产品,这就形成了异构系统,给管理和资源调配带来了额外的工作量和复杂的工作流。统一整合,其实核心在于用户需要解决为了解除硬件锁定而引入异构存储之后带来的问题,需要一种能够凌驾于不同厂商阵列之上的基于软件实现的数据桥梁,坚固、强韧、便于管理。这其实也是软件定义存储思想里的一个维度。


 统一整合管理

  ·控制成本性能优化

  随着闪存介质使用比例的爆发性增长,一些闪存加速技术能够合理使用闪存阵列等高成本高性能存储介质,仅使用小部分的高性能存储介质,即可有效提升原有存储环境中的读写性能,而无需数据迁移,或高昂的成本投入,这也使得存储虚拟化技术在高性能闪存阵列与传统阵列之间为用户提供了一条可行的,较低成本投入的性能优化之路。

  我们来举一个真实的项目案例:某客户,生产中心4台IBM小机,十余台x86服务器。有多个厂商的SAN存储数台,存储虚拟化网关一台。灾备中心,4台小机,若干台x86服务器+VMware虚拟化,采用虚拟机方式对生产中心的物理机进行容灾。容灾管理采用虚拟化网关厂商提供的容灾管理工具,支持P2V容灾管理。小机系统使用HACMP进行容灾切换管理,灾备中心的小机跑另一部分业务,分担生产中心的压力,算是双活数据中心,但是不能并发访问。目前遇到的问题:随着业务压力的增加,两边的存储系统性能无法支撑,由于业务多为OLTP类型,要求低时延,但是如果分别将现有的存储系统分别升级,比如更换控制器或者升级缓存、CPU,或者增加SSD+分层license的话,总体价格也不低,最重要的是需要同时维护多套SSD加速,运维成本也不低。

  为此,考虑了另一种方式,在虚拟化网关处挂接一台全闪存阵列,利用虚拟化网关上提供的加速功能,实现对后接存储的总体加速,在节省了运维成本的同时,整体造价也在可接受范围内,性能经过实测,不仅是缓解而且是彻底释放了业务的性能。

  ·数据管理功能

  在企业IT系统内会存在很多低端存储设备,这些存储设备多数只提供存储空间,但并不提供额外的数据管理功能,比如快照、CDP、容灾复制等等。又或者,不同高端存储的数据管理功能无法互通,且都较为昂贵,用户往往为此重复投资。

  存储虚拟化设备在统一整合的基础上,还可以让这些最原始的数据卷附加上快照/CDP以及远程数据复制、卷镜像、读写性能优化等高级功能,又例如VMware 的VAAI和SRM接口并不是所有存储厂商都能够支持,而存储虚拟化系统则可以帮助用户在不更换存储的前提下,实现与上述接口的对接。

  因此,最关键的就是支持异构存储环境,几乎所有厂商的存储卷,经过虚拟化处理之后,都能对外表现出统一的高级数据管理功能。图3所示的拓扑中,存储虚拟化设备可以在保证源卷属性不变的同时,为其附加几乎所有数据管理功能。


  附加数据管理功能

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/20141223/n216464007.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片