真正弄懂存储虚拟化、软件定义存储

一、什么是存储虚拟化?

    计算机数据存储在磁盘和固态介质上,以便在几天,几个月或几年内保持可用性。在小型系统(例如个人计算机)中,有一个CPU和一个或两个硬盘。当磁盘发生故障或空间不足时,必须手动添加另一个磁盘,并且必须将数据放置在该磁盘上。在大型系统中,可能有数百个磁盘和数字存储系统,并且管理信息的复杂性大大增加。存储虚拟化是存储设备的分组,因此无缝地看起来像是一个大型存储设备。

    在简单的系统中,只要程序需要访问文件,它都会向操作系统发出请求。操作系统将此映射到磁盘上的特定位置。如果磁盘的容量为10 GB,则该磁盘无法处理超出该大小的数据。使用存储虚拟化,对大于磁盘大小的空间的请求会自动在后台路由到另一个磁盘。

    存储虚拟化可以通过硬件或软件或二者的结合来处理。它有很多好处。当系统发出请求时,数据可能会从一个设备移到幕后的另一设备,并且请求会自动路由到新位置。当必须添加或删除存储设备时,无需关闭系统即可完成此操作。这为最终用户增加了系统的可用性。

    借助存储虚拟化,可以智能地管理信息。例如,可以将访问频率较低的数据移至速度较慢的设备。可以提高存储空间的利用率。每个存储设备本身可能都有未使用的空间,但是未使用的空间可能太小,无法用于操作系统要放置的单个文件。借助存储虚拟化,可以自动“积累”多个设备上未使用的空间,因为文件的某些部分可以存储在单独的设备上。

    从操作系统的角度来看,物理存储设备组被视为单个设备。结果,操作系统不必跟踪多个设备以及如何访问它们。因此,如果多个制造商的存储设备支持存储虚拟化,则可以顺利使用它们。为了防止数据丢失,通常会复制数据。这种复制也可以顺利处理。

    因此,存储虚拟化可为系统提供所需的存储,而不会因单个设备的限制而停滞不前。当然,现在,大量信息已经虚拟化。务必以防故障的方式保留此信息,通常是将其存储在多个位置。

    另一篇介绍,参见:https://www.cnblogs.com/heavyhe/archive/2013/01/11/4547221.html


二、存储虚拟化,终于看懂了

参考:一文看懂存储虚拟化技术

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


我的总结,存储虚拟化,有三个层次:

第一个层次,裸设备+逻辑卷,相当于在系统(OS)底层,通过LVM(Logical Volume Manager,逻辑卷管理)和LDM,将OS识别到的物理磁盘或虚拟化的逻辑磁盘进行组合,再分配给其他程序使用。

假设有1块SAS盘,有一套品牌A的SAN和一套品牌B的SAN。层次一是在OS层,组合这3套存储。


第二个层次,“存储设备”虚拟化,在“存储设备”层支持创建和管理存储单元,然后挂载到主机上使用。也就是说,存储设备自己去管理磁盘,主机只管使用就行了。上面说的3套存储,不直接挂载到主机上,而是交由存储设备去管理。

层次2有一个巨大的好处,它开始支持一些高级磁盘功能了,比如精简置备(即超额分配技术)、差量快照、链接克隆。但是存储设备由于产商兼容性原因,通常只能管理自己厂商的产品。

        PS:从某个角度来说,高级混合阵列也属于第二层次的虚拟化,基于阵列的虚拟化通常指的是一种专门的存储控制器,它拦截来自二级存储控制器的I/O请求,这种虚拟化方法比基于主机或网络的虚拟化程度更低,因为虚拟化只发生在连接的控制器上。还有一种介于第二、三层次之间的虚拟化——基于网络设备的存储虚拟化,这是SAN存储最常见的一种类型,企业一般会使用它来添加更多的存储,虚拟化从服务器或交换机上跨光纤通道/iSCSI网络运行,基于网络的设备抽象了跨存储网络运行的存储I/O,并且可以跨所有连接的存储设备复制数据。


第三个层次,就是综合一、二(1+2),存储设备能兼容的就存储设备去管理,不能兼容的就在OS层管理,这是目前业界采用较多的虚拟化方式,能兼容异构存储,后端不仅可以用SAN、本地磁盘,还可接入NAS。

第三个层管理能力的增强,使得它具备更多的高级功能,比如在线扩容,存储冷热迁移,磁盘空间回收等。缺点是,IO链路更长,有些性能损耗。

        PS:第二、三层次的存储虚拟化,其实现的方式分两种——带(Band):带内、带外。

带内

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

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

带外

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

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


附:

    什么是 Thin Provision(自动 精简配置、精简置备)?

    精简配置又称为“超额分配”,它允许用户不必考虑实际的物理容量,而给应用服务器分配大量的虚拟空间,并在只有写数据发生时才使用。该功能通过给应用程序自动分配容量,可以显着改善存储的使用情况,大大简化容量的规划管理。精简配置可以让用户只需按自己的实际需求购买硬盘,免除复杂的容量分配,以及给硬盘长期供电的消耗。

参见:

https://www.infortrend.com/cn/solutions/thin-provisioning

https://blog.51cto.com/jettcai/2149842


三、存储虚拟化(Storage Virtualization) 和 软件定义存储(Software-Defined Storage)的区别?

参考答案:

    存储虚拟化涉及从特定存储硬件资源中分离容量(从而池化存储设备),而SDS涉及从存储硬件中分离存储功能和服务。

    佛罗里达州DataCore Software的首席运营官Steve Houck说,软件定义的存储不是从磁盘或闪存的角度看存储的一种方式,而是从硬件提供的存储服务(Service)的角度来看。

    Houck说,存储过去通常从磁盘容量,硬件和速度来看。他说:“借助软件定义的存储,我们可以从软件层及其在硬件上的价值来进行观察。这与从设备级别或虚拟化级别来看有很大不同。”

    Houck说,从创新的角度来看,软件定义的存储正在引起存储行业的力量转移,不再是更成熟的、以硬件为中心的大型存储供应商的天下。虽然初创公司和较小的以软件为中心的供应商可以快速定义软件定义的存储,以普通服务器,磁盘驱动器和闪存代替旧存储硬件,但是大型存储供应商并未就其硬件所提供的价值给予让步存储功能向软件层发展。

    PS:对于存储巨头EMC而言,它正在努力定义其软件定义的存储策略,同时确保公司将对现有存储技术业务的潜在影响降至最低。(所以,现在SDS这个词被炒得这么火热,感觉更像是企业的一种营销手段)尽管术语“软件定义的存储”已经存在了很多年,但是许多IT专业人员仍然不完全了解SDS是什么。造成这种混乱的部分原因可能是各种竞争性的SDS定义。

    各种厂商对SDS的定义如下:

    例如,存储网络行业协会(SNIA)将SDS定义为“具有服务管理接口的虚拟化存储”。它补充说:“ SDS包括具有数据服务特征的存储池,可以应用这些特征来满足通过服务管理接口指定的要求。”

    追溯到2013年,IDC的市场研究人员提供了一个稍微不同的SDS定义:“任何可以安装在商品资源(x86硬件,虚拟机管理程序或云)和/或现成的计算硬件上的存储软件堆栈。为了符合条件,基于软件的存储堆栈应在底层持久性数据放置资源之间提供全套的存储服务和联合身份验证,以实现其租户在这些资源之间的数据移动性。”

    根据供应商Dell EMC的说法,“存储定义的存储意味着存储软件不是由其上运行的硬件定义的-软件与硬件分离,并且可以在可以采购的任何行业标准硬件上运行。软件定义的存储应该能够根据组织的实施观点,选择了灵活性来作为可下载的软件或基于设备的模型。”

    厂商NetAPP写道:“软件定义存储(SDS)使用户和组织能够通过使存储资源可编程来从底层硬件平台上解耦或抽象存储资源,从而获得更大的灵活性,效率和更快的可伸缩性。这种方法使存储资源成为整体更大的软件设计的数据中心(SDDC)架构的一部分,其中资源可以更容易地自动化和编排,而不是驻留在孤岛中。”

    产商VMware的定义,参见:https://www.vmware.com/solutions/software-defined-datacenter/in-depth.html

    软件定义存储的主要功能:

    尽管这些软件定义存储的定义都略有不同,但是当您一起检查它们时,就会出现一些关键主题。这些突出显示了将SDS与传统存储阵列区分开的特征:

  • 抽象。在SDS体系结构中,管理存储的软件与存储硬件是分开的。用行业术语来说,该软件被称为与硬件“分离”,“分离”或“分离”。这种安排与传统存储阵列有很大不同,传统存储阵列是作为软件与硬件紧密集成的多合一解决方案而出售的。

  • 虚拟化。SDS体系结构将存储资源汇集在一起,并将它们作为一个内聚单元进行管理。这与服务器虚拟化非常相似,现在它已成为现代数据中心的标准,只是它应用于存储而不是计算资源。

  • 自动化。如果没有真正的SDS,就可以进行存储虚拟化。对于真正的SDS,您还需要使用自动化功能的存储管理功能来减少存储管理员必须手动执行的任务数量。

  • 行业标准。SDS解决方案依赖于行业标准的硬件(通常是x86服务器)以及用于存储管理的标准API。

  • 可扩展性。由于SDS依赖于虚拟化存储和基于标准的硬件,因此通常非常容易添加(或删除)存储容量并继续将存储作为一个整体进行管理。

  • 灵活性。大多数SDS定义还认为,真正的SDS解决方案允许用户对使用的硬件做出自己的选择,而不是将客户绑定到特定的供应商或基础结构类型。

    SDS的好处

  • 降低成本。对于大多数SDS买家而言,软件定义存储的主要吸引力在于较低的成本。由于它们在商用硬件上运行,因此SDS解决方案的先期成本比传统的SAN和NAS阵列低。另外,这些产品的自动化功能还可以减少运营费用,因为它们需要更少的存储管理员时间。此外,某些SDS软件包含优化功能,可以减少存储数据所需的容量,从而进一步降低支出。

  • 灵活且可扩展。通过设计,SDS体系结构还比其他类型的存储更加灵活和可扩展。“对于正在进行数字化转型的IT组织,SDS可以很好地匹配所需的功能-灵活的IT敏捷性;由自动存储管理的特性驱动的更轻松,更直观的管理;以及由于使用商品和非常规方式而降低了资金成本机架式硬件”,IDC存储研究总监Eric Burgener在新闻稿中表示。“随着这些功能更多地出现在买方的购买标准列表中,企业存储收入将继续向SDS转移。”

  • 避免供应商锁定。另外,由于它可以在任何硬件上运行,因此SDS可以帮助组织避免供应商锁定。在某些情况下,这还使他们可以延长投资期限,从而使他们无需升级长达十年甚至更长的时间。

  • 消除筒仓。另一个主要好处是,它可以帮助组织消除孤岛。企业通常会根据需要为各种应用临时添加存储。这可能导致各种各样供应商的异构存储硬件杂乱无章。SDS提供了统一管理这些不同存储设备的功能,从而使IT效率更高。

  • 战略优势。最后,一些IT组织根据策略选择转向软件定义的数据中心(SDDC)。对于这些群体,SDS是实现其IT环境总体愿景的必要组成部分。

参考文章:https://www.enterprisestorageforum.com/storage-software/what-is-software-defined-storage.html


© 2009-2020 Zollty.com 版权所有。渝ICP备20008982号