一篇文章看懂,存储虚拟化在不同用例中的实践与优势

存储虚拟化是一种对物理存储资源进行抽象的技术,使其看起来像是一个集中的资源。虚拟化掩盖了管理内存、网络、服务器和存储中资源的复杂性。

存储虚拟化运行在多个存储设备上,使它们看起来就像一个单一的存储池。这些池化的存储设备可以来自不同的供应商和网络。存储虚拟化引擎可识别来自多个阵列和存储媒介的可用存储容量,对其进行聚合、管理并将其呈现给应用程序。

虚拟化软件的工作原理是将存储系统的I/O请求拦截到服务器。引擎将物理请求映射到虚拟存储池,并从物理位置访问请求的数据,而不是由CPU处理请求以及将数据返回到存储器。一旦计算机进程完成,虚拟化引擎将I/O从CPU发送到它的物理地址,并更新其虚拟映射。

该引擎将存储管理集中到一个基于浏览器的控制台,该控制台允许存储管理员将多个不同供应商的阵列作为单个存储系统进行有效管理。

存储虚拟化的剖析

存储虚拟化可以出现在各种不同的场景中

数据级别:块或文件

基于块

基于块的存储虚拟化是最常见的存储虚拟化类型。它将存储系统的逻辑存储从其物理组件中抽象出来。物理组件包括内存块和存储媒介,而逻辑组件包括驱动器分区。

存储虚拟化引擎在可以多个阵列和单个媒介上发现所有可用块,而不考虑存储系统的物理位置、逻辑分区或制造商。引擎将数据留在物理位置,并将地址映射到虚拟存储池。这使引擎能够将多个供应商的存储系统的容量呈现给服务器,就好像整个存储系统是单个阵列。

文件级别

文件级的虚拟化工作在NAS设备上,以此对独立的NAS设备进行池化和管理。虽然管理单个NAS并不特别困难,但是管理多个设备既耗时又昂贵。NAS设备在物理上和逻辑上相互独立,这需要单独的管理、优化和供应。这增加了复杂性,并要求用户知道访问文件的物理路径名。

使用多个NAS设备最耗时的操作之一是在它们之间迁移数据。当组织的规模超过了之前的NAS设备时,它们通常会购买一个新的、更大的设备,这往往需要从接近容量阈值的旧设备中迁移数据。反过来又需要大量停机时间来配置新设备、从遗留设备迁移数据,以及在启用之前测试迁移的数据。但是停机时间会影响用户和项目,而且数据迁移的停机时间延长也会在财务上为企业带来不良影响。

文件级存储虚拟化掩盖了管理多个NAS设备的复杂性,并使管理员能够共享存储资源,而不是将它们限制在特定的应用程序或工作组中。虚拟化NAS设备也使数据迁移过程中不需要停机。虚拟化引擎维护正确的物理地址,并将更改的地址重新映射到虚拟池。用户可以从旧设备访问文件并保存到新设备,而无需知道发生了迁移。

组件:主机,网络与阵列

虚拟化引擎可能位于不同的计算组件中,最常见的三种是主机、网络和数组,服务于不同的存储虚拟化用例。

基于主机

主要用例:为VM环境和在线应用程序提供虚拟化存储。

有些服务器提供操作系统级的虚拟化。操作系统的存储虚拟化可用以优化容量和自动化分层存储计划。

更常见的基于主机的存储虚拟化池存储在虚拟环境中,并将池呈现给客户操作系统。一种常见的实现方法是用动态扩展的VM充当存储池。由于VM希望看到硬盘驱动器,所以虚拟化引擎将底层存储作为硬盘驱动器呈现给VM。实际上,“硬盘驱动器”是由基于磁盘和阵列的存储资产创建的逻辑存储池。

这种虚拟化方法在云存储和超融合存储中最常见,单个主机或超融合系统将可用的存储池存储到虚拟驱动器中,并将这些驱动器呈现给客户机。

基于网络

主要用例:SAN存储虚拟化

基于网络的存储虚拟化是SAN存储最常见的一种类型,组织一般会使用它来添加更多的存储。存储虚拟化从服务器或交换机上,跨光纤通道或iSCSI网络运行。

基于网络的设备抽象了跨存储网络运行的存储I/O,并且可以跨所有连接的存储设备复制数据。它还使用针对所有池化存储的单一管理接口简化了SAN管理。

基于阵列

主要用例:存储分层。

基于阵列的存储虚拟化并不新鲜。某些RAID级别本质上就是虚拟化的,因为它们将存储从多个物理磁盘抽象为一个逻辑数组。

如今,基于阵列的虚拟化通常指的是一种专门的存储控制器,它拦截来自二级存储控制器的I/O请求,并在连接的存储系统中自动对数据进行分层。该设备允许管理员将媒体分配给不同的存储层,通常是将SSD分配给高性能层,将HDD分配给近线或二级存储层。虚拟化还允许管理员在同一存储层中采用混合介质。

这种虚拟化方法比基于主机或网络的虚拟化更加有限,因为虚拟化只发生在连接的控制器上。二级控制器需要与虚拟化存储控制器相同的带宽,而这会影响性能。

但是,如果企业在高级混合阵列上投入了大量资金,那么阵列的存储智能可能会超过存储虚拟化所能提供的能力。在这种情况下,基于阵列的虚拟化允许企业保留阵列的本机功能,并添加虚拟化层以提高效率。

带(Band):带内带外

带内

当虚拟化引擎在主机和存储之间进行操作时,就会发生带内存储虚拟化。I/O请求和数据都通过虚拟化层,这允许引擎提供高级功能,如数据缓存、复制和数据迁移。

带内占用更少的主机服务器资源,因为它不需要查找和附加多个存储设备。服务器只在其数据路径中看到虚拟池存储。但是,池增长得越大,它对数据路径吞吐量产生影响的风险就越大。

带外

带外存储虚拟化将路径分为控制(元数据)和数据路径。只有控制路径通过虚拟化设备运行,它拦截来自主机的I/O请求,查找并映射物理内存位置上的元数据,并向存储器发出更新的I/O请求。数据不通过设备,这使得缓存不可能实现。

带外虚拟化在各个服务器上安装代理,将它们的存储I/O定向到虚拟化设备。尽管这在一定程度上增加了单个服务器的负载,但带外虚拟化不会像带内虚拟化那样造成数据瓶颈。不过,最佳的实践办法是通过添加额外的冗余带外设备来避免虚拟化中断。

存储虚拟化的优势

·支持动态存储使用以及附加存储资源(包括块和文件)的虚拟可伸缩性。

·避免在数据迁移期间停机。虚拟化在后台操作,可维护数据的逻辑地址以保留访问权限。

·集中一个管理台来管理多个供应商的存储设备,节省了管理开销和成本。

·通过将可用存储扩展到主机或SAN来保护现有的投资。

·可以在多供应商环境中添加存储智能,如分层、缓存、复制和集中管理接口。

原文作者:Christine Taylor

Image placeholder
book
未设置
  84人点赞

没有讨论,发表一下自己的看法吧

推荐文章
共享内存在不同系统的应用与优劣详解

共享内存是一种使计算机程序能够同时共享内存资源以实现更高性能和更少冗余数据副本的技术。共享系统内存可以在单处理器系统、并行多处理器或集群微处理器上运行。对于分布式系统会有一些差异,但共享内存也可以其上

一篇文章帮你了解 PHP 7.3 更新

PHP目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核心维护团队的快速更新。 自从PHP7.0发布以来,社区见证了许多新特性的诞生,极大地改进了开发者在项目中应用PHP的方式。提高PHP应用的性

一篇文章读懂“GAN”——生成式对抗网络

机器学习是一个不断发展的领域,因此对于很多人来说,时刻跟踪这一领域的最新进展是很难的。GAN(生成式对抗网络)是最近引起广泛关注的新兴领域之一,为了让大家能够更好地跟上技术发展的脚步,我们安排了一个简

一篇文章带你了解CSS3 背景知识

LoremIpsumDolorLoremipsumdolorsitamet,consectetueradipiscingelit,seddiamnonummynibheuismodtincidun

一篇文章带你快速入门JavaScript(自学者福利)

课程推荐:Java开发工程师--学习猿地精品课程 一、开始之前1、JavaScript的简史1)1992年Nombas开发出C-minus-minus,也叫C–,没错,就是C++的另一个兄弟。它是嵌入

SACC 2019:达梦数据库推进实践与思考

2019年10月31日~11月2日,由IT168旗下ITPUB企业社区平台主办的第十一届中国系统架构师大会(SACC2019)在北京成功召开。本届大会继续沿用四大主线并行的演讲模式,设置业务系统架构设

如果有人再问你怎么实现分布式延时消息,这篇文章丢给他

1.背景上篇文章介绍了RocketMQ整体架构和原理有兴趣的可以阅读一下,在这篇文章中的延时消息部分,我写道开源版的RocketMQ只提供了18个层级的消息队列延时,这个功能在开源版中显得特别鸡肋,但

强化学习在小桔车服用户运营中的实践

桔妹导读:小桔车服为滴滴旗下品牌,围绕车主及汽车生命周期,整合运营多项汽车服务,更加智能更加用心地为车主提供适合的一站式用车服务,致力于让每一个人拥有轻松车生活。本次分享的主题为强化学习在小桔车服用户

机器学习在高德用户反馈信息处理中的实践

1.背景作为国内领先的出行大数据公司,高德地图拥有众多的用户和合作厂商,这为高德带来了海量的出行数据,同时通过各个渠道,这些用户也在主动地为我们提供大量的反馈信息,这些信息是需要我们深入挖掘并作用于产

传统灾备的痛大家都懂,阿里云定义企业级云灾备

灾备,并不是一个新鲜词,它起源于70年代。灾备,顾名思义,即容灾+备份。容灾,通常是在相隔较远的两地(同城或者异地)建立两套或多套功能相同的IT系统,目的是为了在遭遇灾害时,能保证业务连续性。而备份是

DTCC观察:华为云数据库的优势积累与技术选择

摘要:作为公有云市场的重磅参与者,华为云数据库相比竞争对手有哪些优势?这可能是很多不了解华为云数据库人的第一反应。华为云数据库产品架构如何布局?作为第一个基于MySQL8.0开发的云原生分布式数据库,

vue.js有哪些优势?

Vue是什么Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。简而言之:Vue.js是一个构建数据驱动的web界面的渐进式框架。Vue.js的目标是通过尽可能简单的A

Node.js是什么?有什么优势?有什么用途?

课程推荐:Java开发工程师--学习猿地精品课程 一、Node.js介绍Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,

GoWeb教程_11.3. Go 怎么写测试用例

开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早

数据科学在信任与安全领域的7个典型用例

什么是信任和安全?它们在当前世界中扮演什么角色?我们经常在许多网站和平台上遇到“信任与安全”这个词。它被要求规范访客和平台之间的交互,以此促使用户的权益得到保障。从电子商务网站到社交网络,都需要防止欺

数据科学在市场营销领域的8个最佳用例

在这篇文章中,我们将介绍一些数据科学在营销领域的关键用例。就数据科学的关键目标是将数据转化为可操作的洞察而言,为了获得更高的盈利,营销领域不能忽略这些洞察的应用。大数据技术,为在营销中更好地了解目标受

亿级海量数据的实时读写和复杂查询实践

摘要:本文分享了每日亿级增量数据的实时读写、复杂查询场景实践介绍,涉及MySQL分表分库策略、数据异构、TiDB使用和优化、微服务架构等内容。  作者:黄哲铿  黄哲铿,中通商业CTO,前1号店技术总

万亿级消息背后: 小米消息队列的实践

目录业务背景架构与关键问题性能与资源优化平台化效率小米消息中间件的规划与愿景前文《消息队列价值思考》讲述了消息中间件在企业IT架构中的重要价值,本文将呈现这些价值在落地小米业务过程中的遇到的问题和实践

运营商大规模数据集群治理的实践指南

写在开头的话Q: 军哥,你们运营商行业的大规模集群,都有啥特点啊?A: 我们集群主要是承载B域、信令和互联网日志等去标识化数据,简单的说,有三个特点:1)集群规模较大:数千节点规模,近百PB数据量,日

HDFS3.2升级在滴滴的实践

桔妹导读:Hadoop 3的第一个稳定版本在2017年底就已经发布了,有了很多重大的改进。在HDFS方面,支持了ErasureCoding、Morethan2NameNodes、Router-Base

打造“数字化基石”,深信服在不断开疆沃土!

2019年深信服创新大会,已圆满结束,但也是一个全新的开始!深信服将以数字化转型为契机,打造更敏捷、更开放、更智能的新IT基础架构能力。为了具备这样的能力,深信服一直在研发和市场方面做大量投入。关于这

引领存储新时代——新华三Primera关键业务智能存储

技术的变革,让我们步入数字智能时代。由数据、AI驱动的智能化产业转型正在如火如荼地进行中,金融、工业、医疗、娱乐……智能改变着一切。在IT对于企业已经如此重要的今天,智能也正改变着支撑企业业务运行的底

云原生存储和云存储有什么区别?

作者| 李鹏(壮怀)阿里云智能事业群高级技术专家导读:新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性以及生命周期等方面的问题,不但需要存储产品层次的改进

NAS与对象存储:谁是非结构化数据存储的最佳选择?

非结构化数据是增长最快的数据类型之一。随着企业日积月累地生成、收集和存储越来越多的数据,必然会带来一个问题:什么是存储非结构化数据的最佳方式?直白来说,非结构化数据就是不遵循传统数据库格式的数据,其结