VMware SDS之九: VMware软件定义存储鲜为人知的另一部分

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Urh3t1/article/details/78708503

【编者按】

3~5年后,或许我们就会渐渐明白VMware SDS在控制平面层,也即SPBM,在存储技术领域是多么前瞻的技术,相对于与其他SDS控制平面的产品,它遥遥领先。


VMware vSAN在全球的1万多个用户,都或多或少地受益于VMware SPBM。SPBM在vSAN上,如何起作用的,看下面88秒的视频就知道了。

看88秒的视频,你就知道SDS的本质了


微信公众号 乐生活与爱IT 本次发布文章的主体部分是薛友逢原创的《VVol 2.0新功能详解+多图演示》,非常详细地介绍了VMware Virtual Volumes的实践。如此详尽的内容,估计也是第一次出现在中文读者面前。


提到VMware软件定义存储(简写为VMware SDS),大家马上想到的就是vSAN (Virtual SAN)的简称。确实,vSAN是VMware在软件定义存储领域内最重视的产品。想要了解更多vSAN,可以打开如下链接:

VMware SDS 之一 : 什么是VSAN

VMware SDS 之二 : VSAN用在哪?

VMware SDS 之三 : VSAN的体系结构 (含VSAN 6.0、6.1版的新内容)

VMware SDS 之四: VSAN的技术细节 (含VSAN 6.0、6.1版的新内容)

VMware刚公布第四代VSAN - 超融合软件VSAN 6.2新增了哪九大特性? (VMware SDS之五)

VMware SDS之六:  怎么玩VSAN ?

VMware SDS之七: 谁在用VSAN ?


然而,vSAN其实只是VMware SDS整个存储战略版图的其中一部分。如下图所示,VMware SDS包括控制平面/Control Plane - Storage Policy Based Management (缩写为SPBM, 基于存储策略的管理),和数据平面/Data Plane。


640?wx_fmt=png&wxfrom=5&wx_lazy=1


而数据平面包含三大部分:vSAN、Virtual Volumes(简写为vVols)和云存储。随着虚拟化和云计算的逐渐普及,存储自动化的需求会越来越迫切,这样软件定义存储业界最成熟的产品SPBM将逐渐成为商业软件中事实上的标准。


目前支持VMware vVOL的存储已经超过20多家存储厂商(涵盖传统外置存储、全闪存、混合存储等), 远超100多个不同型号的存储产品。详情可参考:


https://www.vmware.com/resources/compatibility/search.php?deviceCategory=vvols


0?wx_fmt=png


关于VMware SPBM和vVols的详细介绍可以参见:

SDS自动化之实现 –  存储策略之发展 & SPBM是什么(含Virtual Volumes大全)


SPBM如何与vSAN联动,可以参见:

VMware SDS之八:  VSAN助力云管理自动化 (1)

VSAN助力云管理自动化 (2):借助SPBM插件包实现vRA与VSAN的结合

VSAN助力云管理自动化 (3): 五分钟视频演示(无声音)

VSAN助力云管理自动化 (4):如何允许Tenant在VRA里自行更改VSAN SPBM策略


另外剧透一个新消息,大概在2018年1月期间,国内第一本专门阐述VMware软件定义存储的书籍,将在京东、China-Pub (互动出版网) 等上市,是由4位VMware资深专家联合翻译的。届时,大家只要在上述购书网站里键入关键词:VMware软件定义存储,即可搜索到。


薛友逢,是我认识的十多年的朋友,我们曾经一起在EMC公司里共事。他在文章里剖析了NimbleStorage和3PAR对于VMware vVols(也即对于SPBM)支持的细节。早在2、3年前,我对NimbleStorage就有所关注,感觉它的功能强大,并且对于SPBM的支持比较全面。在我撰写SDS系类的6篇文章,以及书籍《软件定义存储:原理、实践与生态》中都有谈及NimbleStorage。


薛友逢《VVol 2.0新功能详解+多图演示》

--- Begin ---


在2014年vSphere 5.5发布时,有两个功能格外引人注目,分别是vSAN和VVols。vSAN用来构建VMware自有的分布式存储的生态路线,而VVols则支持更多的外部存储的高级特性功能和精细化的管理,从而让VMware vSphere与其它虚拟化厂商竞争时拥有了更多优势。


0?wx_fmt=png对于企业级IT市场来看,从性能以及稳定性和易管理上来讲,目前外部存储的占有率仍然更高,大多数用户都希望通过开启外部存储的企业级功能,诸如快照,容灾,压缩,去重等功能来保障数据的安全性和提升效率。但现状是,目前大多数用户使用的是VMFS的部署方式,尽管有VAAI的协助,但虚拟机与存储之间仍然存在多种协议的转换,无法直接有效的进行沟通,企业级存储的这些高级功能也会大部分被VMFS文件系统屏蔽,无法直接发挥作用。虚拟化厂商一直都希望能够以虚拟机为中心,计算、网络、存储都直接为虚拟机提供服务并直接接受虚拟化层的统一管理,以实现更透明,更精细,更高效的运维。

 

VMware其实针对这一问题已经早已给出了答案,这个答案就是Virtual Volumes(简称VVols)。相信大部分读者已经十分了解,所以本篇只是简单解释一下VVol的概念,已经熟悉的同学可以直接看VVol 2.0部分.


什么是VVols


VVols全称VirtualVolumes(), 是VMware用来替换已有NFS和VMFS的全新一代虚拟化平台存储架构,与原有存储方式不同,VVols通过API,允许虚拟机直接与存储进行读写交互,而无需在虚拟化层创建任何文件系统,文件系统由虚拟机直接创建。在部署VVols时,存储只需要映射给虚拟化平台一个或多个Storage Container(存储容器)并限定容量,而无需实际划分存储容量,当创建虚拟机时,每个虚拟机会在存储端自动生成卷(通常一个虚拟机需至少3个卷),用户可以在vCenter界面直接对这些存储卷进行备份,恢复,克隆,数据容灾等操作并通过SPBM设定相应的自动化策略,结果就相当于直接对虚拟机进行类似的操作。负责管理通讯和自动化策略的模块是VASA Provider,由每个存储厂商提供,负责进行实际数据交互操作的称Protocol Endpoint(简称PE),类似于目录挂载点,实际虚拟机的数据会经过PE代理转发给真正的存储卷。(上述为概念理解,非官方定义)


0?wx_fmt=png


 

    VVols对比现有的VMFS文件系统,还是有很多优势的:

 

VVols与传统VMFS的优势


0?wx_fmt=jpeg


例如一个虚机做快照,个VMFS Datastore中的所有虚机将会同时进行快照,即使我只想份其中的一个,其它所有虚机的快照化量也会同被保存,从而浪大量空;同,由于VMFS一个文件系往往比大,里面会包含几十个或上百个虚机,如果想恢复个虚机的操作,也需要先将整个VMFS文件系恢复出来才可以。


VVols虚拟卷技术的出现,就解决了困扰VMware与外部存储多年的“隔阂”,让虚拟机与存储直接对话,从虚拟机中直接调用存储的相关功能和状态参数,换句话说,VVOL可以让存储更懂虚拟机和应用,也可以让虚拟机实现更灵活和更精细化的管理。VVols会成为下一代虚拟化架构的存储关键技术,类似像OpenStack平台早已经采用类似一个虚拟机一个卷的技术,IDC也在前不久发布了一篇文章,阐述VVols技术对于虚拟化平台在应用感知管理和优化方面起到的重要作用。

有兴趣的可以查看原文:

VVols Provides Powerful Application-Aware Management for vSphereEnvironments

 

所以,大部分存储厂商在VVols发布之时都十分兴奋,争先恐后的宣布对VVols的支持,在VVols发布一年之内,基本上所有主流存储厂商都已经宣布支持VVols功能,用户也对这一功能表现出非常浓厚的兴趣,但客观的来说,比起vSAN,VVols实际部署的案例要少得多。

 

笔者正好手里有一些基于HPE 3PAR和Nimble Storage存储,以及支持VVol的Demo演示环境,正好可以借此机会详细解释一下VVols 2.0的主要更新以及部署实现方式。(由于兼容性的问题,目前市场公开的技术资料中,包括VMware的部分KB中的截图也出自HPE 3PAR和Nimble Storage,其余厂商的操作请参见原厂技术文档,本文仅提供思路和概念方面的参考)

 

VVols 2.0 的重要更新

 

VVols 2.0的重要更新主要体在四个方面:

1)  支持VVols 2.0 Array Based Replication(ABR)

2)  在存储策略管理选项中,支持新的SPBM设置方式,称之为Line of  Service

3)  支持OracleRAC基于VVols的方式进行部署并通过Oracle官方认证

4)  同时发布新的API指令集和PowerCLI命令集,可以实现自动式的容灾演练或容灾切换操作。

 

VVols 2.0 Replication

虽然VVols2.0在一年前的2016年11月的vSphere6.5中正式发布,目前已经看到诸如HPE,HDS,Fujitsu等厂商都已经可以支持vSphere6.5版本的VVols功能,在对于VVols Replication功能的支持,目前只有HPE和Nimble Storage,在发布的VASA3.0版本中提供支持(在被HPE收购Nimble Storage之前就已经宣布),并通过VMware官方认证。其它厂家跟进的速度比在VVol 1.0时的跟进速度要慢一些,但相信也不需要太长时间。

 

0?wx_fmt=png

 

 

VVols Replication容灾复制管理的基本单元是VVol,也就是虚拟机,所以更应该说是基于单个或一组虚拟机的复制,从技术上更类似于采用VMware SRM + VR或者Zerto容灾的方案架构,但SRM和Zerto的方案都是需要基于虚拟机购买License的,而像Nimble全系列,Netapp AFA全闪,Unity-F全闪等存储的容灾授权都无需额外采购,VVOL也是VMware的包含在所有级别License中的基本功能,这样就可以近似不限制虚拟机数量的实现虚拟机级的容灾(可能存在最大存储卷复制关系限制和最大同时存储卷复制关系的限制,但大多数场景已经足够),并且大幅节省投资,还可以通过PowerCLI或API实现容灾演练或切换,后续会介绍。

 

0?wx_fmt=png


 

具体需要注意事项包括:

·        VVols Replication的基本管理单元称为“Replication Group”,当需要进行容灾切换时,需要以Replication Group为单位进行切换,每个Replication Group可包含1个或多个VVols;

·        整台存储或存储集群称为Fault Domain,容灾复制需要在两个不同的Fault Domain之间进行;

·        VVols Replication的创建和管理监控等全部操作都是设计在单一的vCenter界面完成,在完成VASA注册和Storage Container挂载完成后,所有的操作都不需要登陆存储,包括容灾切换;

·        VVols Replication还可以支持多Target的复制

·        SPBM需要用户在vCenter上创建,但基于HTML5页面看不到策略和配置文件选项,只有通过Flash的WebClient才能看到

0?wx_fmt=jpeg

 

SPBM和Line of Service

SPBM,全称为Storage Policy-Based Management, 也是我认为整个VVOL的设计体系中最重要的一项功能,通过调用设置好的SPBM策略,可以实现虚拟机根据不同的需求和级别实现自动化部署,典型的场景就是按照不同的业务级别分为白金,金,银,铜等级别,并为每种级别定义不同的资源优先级,保护类型,容灾类型,性能QoS等策略,实现资源的分级部署和自动调配,见下图是一个典型的SPBM的定义分级,还是比较容易理解的。

 

0?wx_fmt=jpeg

但是如果我们需要定义很多Policy,但其中大部分policy都需要开启Thin Provision和Replica,这时与其在每个Policy中都重新定义一遍,不如采用新的Line of Service(的功能。

 

Line of Service,是VASA3.0新加入的功能,主要的用途就是对于可能会被很多Policy用到的属性,我们可以通过创建相应的Lines of  Service,比如创建一个Replica到ArrayA的line,然后在创建Policy时可以直接调用这个service,而无需对每个Policy重新定义。这个功能是SPBM的一个管理界面方面的加强。

0?wx_fmt=jpeg


 

Oracle RAC Support

  

为了继续强化虚拟机应用感知的技术路线,VVOls 2.0已经通过Oracle RAC 11gR2和12cR1的官方认证,相信会进一步提高Oracle在虚拟环境下的部署比例,而VVols2.0配合存储的快照,克隆和容灾功能,可以更方便的实现Oracle的数据备份和高可用保证。

 

0?wx_fmt=jpeg


VVol 2.0  +Replication部署演示

由于环境有限,部署演示大部分内容只能基于Nimble Storage的界面来实现,但大致步骤和顺序对于所有支持的存储厂家都具有参考意义,但由于支持的功能不同,具体操作界面和选项请参考原厂商的相关文档。


1)NimbleStorage进行VASA Provider 3.0的注册比较简单,在图形界面中有注册选项,输入vCenter的信息和对应的用户名密码并选择VASA Provider点击注册即可。

0?wx_fmt=jpeg


对于有些存储厂商,需要通过在vCenter中手动注册的方式输入存储的VASA注册链接:

0?wx_fmt=jpeg


3PAR存储在vCenter中手动注册VASA代理页面:

0?wx_fmt=jpeg



2)注册成功后,就可以在vSphere Web Client中看到Nimble Storage的图标 

0?wx_fmt=jpeg


 3)创建VVols之前需要先创建Storage Container,Nimble是通过Folder的概念来实现StorageContainer的功能,其它存储厂家有些就是叫Storage Container。

在创建Folder时,会提示选择VVols或SMI-S的类型(Hyper-V环境),并且建议设置一个容量的限制,如果不设置,这个VVols将可以使用阵列内所有的存储容量。

0?wx_fmt=jpeg


 

 4)VVols在VMware界面的管理和使用方式上其实与传统的VMFS十分类似,不需要用户改变原有的使用习惯。在Storage Container创建完毕后,就可以在ESXi进行扫描,发现类型为VVol的卷,那个ds://vmfs/volumes/vvol:XXXX的URL就是PE(ProtocolEndpoint)

0?wx_fmt=jpeg


 

5) 在vCenter界面中设定存储策略规则,对于Nimble来说,由于采用独有的3校验RAID算法,并且在VMware默认开启压缩功能,所以在Policy中可定义的项目大部分都是关于数据保护策略的,比如快照可以保存多少,同步的频率等等。

0?wx_fmt=jpeg


与此同时,我找到了一张3PAR存储的支持可定义策略截图,其中的策略更多与Remote Copy软件需要设定的参数关系比较大,但可以对Raid类型,磁盘介质进行定义。

0?wx_fmt=jpeg


通常我们需要定义多种策略,以适应不同虚拟机和不同应用的具体需求 

0?wx_fmt=jpeg


 

6) 当创建虚拟机时,在选择存储的界面就可以直接选择已经设置好的存储策略,并且可以看到与这条策略兼容的VVols存储池。

0?wx_fmt=jpeg


 

7)除了选择存储策略以外,其它创建虚拟机的步骤与原有VMFS一模一样。

0?wx_fmt=jpeg



 8)但当虚拟机创建完毕后,在存储中会对应出现这个虚拟机的VVol,每个虚拟机至少会对应3个卷,分别是 CONFIG,MEM (swap), 和DATA,这与VMFS文件系统中的虚拟机文件也是对应的,由于这台虚拟机当前还没有开机,所以暂时不会生成Swap卷。

0?wx_fmt=jpeg



如果使用虚拟机层的快照,还会生成Memory-VVol,以及多个Data VVol

0?wx_fmt=jpeg


 

9)由于我们策略选择的是vvol tier2 with replication,如果我们在vCenter的存储插件上查看,会发现,不只生产存储已经自动创建了vvol,在NIM-Demo-GRP4的容灾存储中也自动创建了对应的vvol,容量和其它策略如果没有特别设置,都与生产存储保持一致。

0?wx_fmt=jpeg


在容灾存储中也能够看到自动生成的容灾复制关系

0?wx_fmt=jpeg


至此,创建基于VVols的虚拟机操作已经全部结束。

可以看到,使用vvols功能并配合SPBM功能,仅仅靠标准的创建虚拟机的操作就可以直接完成存储资源分级,数据保护策略设定,数据容灾创建与同步,存储性能策略设定(如QOS,数据块大小),存储效率功能设定(如是否开启压缩去重等)所有与存储有关的功能,并且可以统一界面管理和监控,并直接在vCenter界面调用存储的高级功能,管理十分方便。

与此同时,采用VVols的另一个更重要的功能就是可以实现基于虚拟机粒度的备份和恢复功能,以及容灾切换功能,我们继续介绍。

 


VVol 备份恢复与VVol  Replication的切换

 

当虚拟机是以VVols的形式进行部署时,要说最大的好处就是备份和恢复了。

如果存储可以开启快照或克隆功能,我们可以十分简单的通过对相应的VVol进行快照恢复或快照克隆来恢复整个虚拟机,这在VMFS的时代是基本不可能被采用的方案,因为进行快照恢复往往意味着一个Datastore中的所有虚拟机都被恢复了,一定会发生数据丢失。

由于VVols的设计目标就是一切操作都在虚拟化界面上完成,所以虚拟机的快照恢复或克隆操作里所当然的也应该在虚拟化界面统一实现,目前来看,Nimble Storage已经完美的实现了这一功能。

 

通过注册VASA3.0,用户可以在vCenter界面调用Nimble的管理插件,并且在插件内部直接对虚拟机进行恢复操作或克隆操作。用户可以直接点击要恢复的时间点,并选择原位置覆盖恢复或克隆一个新的虚拟机。

0?wx_fmt=jpeg


 

更高级一些,用户可以选择”Show individual disks“选项,只恢复或只克隆虚拟机的某一个磁盘,来进行单文件恢复。所以使用VVols功能以后,日常的虚拟机的恢复和文件的恢复都会变的十分容易。 

对于容灾,VVols目前的功能同样十分强大,在vSphere 6.5中新发布了一个PowerCLI 6.5工具集,通过这个工具集可以实现Test failover,Planned Failover和UnplannedFailover,

PowerCLI主要由ReplicationDiscovery(发现),Disaster Recovery Workflows(同步并切换),Failback(回切)三套命令集组成,并增加了Fault Domain ID的参数输入项。

 

然而,笔者尝试了一下, Powercli仍然需要比较复杂的脚本编辑工作,需要较高的脚本编辑经验,初始的实施工作仍然不小,期待各厂家后续发布适用于各自存储的脚本模板。

0?wx_fmt=jpeg


 

下图可以看到,我们能够通过一个powershell命令就完成一个虚拟机或一组虚拟机从Site A到Site B的一键式Failover,整个过程不需要在切换vCenter或存储进行操作,而且PowerCli贴心的提供了切换测试的脚本,这就意味着我们可以进行常规的模拟演练,不中断业务的情况下,仅仅尝试在容灾端启动虚拟机进行验证。

0?wx_fmt=jpeg



 真正切换的操作还是比较快的,可以实现分钟级RTO的容灾切换。


总结


VVols 在2.0 版本的重大更新,支持最重要的ABR功能,能够让虚拟机直接借用存储的复制功能进行容灾,并且通过增强的PowerCLI或API命令集可实现容灾演练和灾难一键式切换。升级的SPBM功能可实现虚拟机的自动化部署和资源分配,再配合存储的快照备份和克隆,可以十分方便的完成虚拟机的恢复或者批量克隆,基本可以解决用户绝大多数的数据可用性和安全性的需求,并且整体成本会比原有的SRM方案或第三方工具的方案低很多,被保护的虚拟机数量也可以基本不受限制。最重要的是,所有管理和操作体验都是在统一的VMware界面进行,体验确实不错,随着更多的存储厂商加入到支持列表中来,相信更VVols技术会帮助到更多的用户。

 

 薛友逢《VVol 2.0新功能详解+多图演示》

---End---


640?wx_fmt=png


微信公众号平台"乐生活与爱IT"在目前阶段,主要是分享软件定义存储(SDS),及VMware VSAN相关的文章,偶尔也会分享虚拟化、云计算、大数据,甚至生活类的好文章。欢迎投稿,特别是原创文章,我的QQ号:9269216


投稿一经采用并发布,获得的赞赏收入,作者可获得60%。投稿可微信私信我,或者通过QQ号 9269216联系我。


欢迎对SDS感兴趣的朋友,加入软件定义存储讨论 QQ群:122295009,可下载原创的一些文章,及其他有参考价值的文档。可直接搜索群号,或者扫描如下二维码:

640?wx_fmt=png

同时,欢迎您加入 "开放讨论群-SDS&虚拟化" 微信群,并邀请其他对SDS和虚拟化感兴趣的朋友加入此微信群。可以通过添加如下管理员之一的微信号,建议添加管理员时,告知你的公司名和姓名,方便备注保存。

sdg8848

libo9538

yangzhuan

dts0103

欢迎您通过扫描关注微信公众号:“乐生活与爱IT”。

640?wx_fmt=png

关注后,可以通过点击左下角的文章目录,通过输入三位数(记住!是三位数,目前第一位是0或者1)详细了解如何查看历史文章。


点击左下角“阅读原文”,可以看到《来自金融用户的观点:在云的大趋势下,软件定义存储必将在3年内普及》

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页