? 没有执行创建新的虚拟机,但是将要恢复到的源虚拟机的磁盘配置和此次恢复到的备份点的磁盘
配置完全一致。
如果要将数据恢复到源虚拟机,但是源虚拟机有磁盘丢失,这时就要创建恢复卷。
创建卷时填入的磁盘信息与恢复到的备份点的磁盘配置保持一致。创建卷成功后会返回卷得uri。 4、交换源卷与目的卷(可选)
当没有执行创建虚拟机,将数据恢复到源虚拟机时,如果源虚拟机的磁盘大小等配置与备份点的磁盘
配置不一致时,就需要创建一个与备份点磁盘配置一样的卷,然后调用交换源卷与目的卷接口将源虚拟机的异动到的卷用新创建的卷替换掉。
5、查询指定数据存储
根据查询得到的datastoreUrn,将其转换为每个磁盘的datastoreUri,就可以查询指定的datastore
(数据存储)信息。查询返回的响应主体中会包含storageUnits(存储设备列表),其中每一个存储设备的信息,suName(存储设备名称)用来代替Lun的wwn。
6、检查待恢复的Lun是否存在
调用SDK的CFusionSphereSDK::verifyLUNAttached接口,首先会扫描存储网络中的Lun,然后
传入虚拟磁盘对应的LunWWN列表,验证待恢复的Lun是否存在。如果存在,就继续恢复流程,如果不存在,请检查存储网络是否正确搭建或者采用LAN-Base方式恢复。
步骤2 准备恢复资源
1、准备恢复资源
同准备备份资源,接口都为准备备份资源(同一个); taskType(组网方式为”lan”时taskType
取值为”CBTRestore”, 组网方式为”san”时taskType取值为”SANRestore”)、ip(申请方IP地址)、volCBTCreateTime(本次备份的CBT增量数据创建时间)、transMode(lan传输或lanssl加密传输)。从返回消息中可以得到任务URI中的taskId,根据taskId获取恢复资源uri地址。
2、查询恢复资源
同查询备份资源,接口为同一个,从中得到的恢复资源uri地址查询指定的恢复资源信息。 从返回消息中我们可以得到以下关键信息: ? hostIP(主机IP地址) ? hostPort(主机端口号) ? targetFile(目的文件名)
? token(访问token,用于主机对备份软件的鉴权认证) 3、修改恢复资源
同修改恢复资源,接口为同一个。准备完恢复资源后,恢复过程中要定期请求保留资源,否则资源超
时后会被释放。定期调用FC的修改备份资源接口,设置新的延时时间,就可以延长资源的有效时间。在恢复的过程中要确保资源没有被释放,否则恢复会失败。
4、获取CBT差量位图(可选)
此步骤可选。如果是执行了创建新的虚拟机的步骤,则采用的是整机恢复,此时不需要获取CBT差
量位图,此步骤可以忽略。
如果是在源虚拟机上进行恢复,就需要执行此步骤,获取CBT差量位图。但恢复的时候与备份的时
候查询CBT差量位图传入的参数的值不同。恢复的时候,snapUrn这个参数不填,如果要恢复的磁盘很大,startBlock、blockNum可以分段填写,这样就可以分段获取差量位图。返回信息中的bitMap即为得到的差量位图信息。
步骤3 打开、写入远端磁盘文件
1、连接主机
调用SDK的CFusionSphereSDK::ConnectCNA接口,输入参数中的CNA_IP、PortID、Token均
为查询备份资源接口中得到,EnableSSL参数与查询备份资源接口中传入的transMode参数保持一致。
2、打开远端磁盘文件
调用SDK的CFusionSphereSDK::OpenDisk接口,输入参数中的RawLunWWNList与LunWWN
列表保持一致,strTargetVHDFile为查询指定的虚拟机快照信息 中得到的targetFile(目标文件名),OpenMode应填为READ(备份),输出参数中的diskHandle为返回的文件句柄,用于后续的读取和关闭远端磁盘文件。
3、写远端磁盘文件
调用SDK的CFusionSphereSDK:: WriteDisk接口,输入参数中的diskHandle为打开远端磁盘文
件接口中返回的文件句柄,VMOffset为本次写入的偏移地址,VMLength为本次写入的长度, pBuffer为待恢复数据的缓冲区,将pBuffer中的数据写入Lun设备。
4、关闭远端磁盘文件
调用SDK的CFusionSphereSDK::CloseDisk接口,输入参数中的diskHandle为打开远端磁盘文件
接口中返回的文件句柄。此步骤为恢复完之后清理主机上的资源。
5、断开与主机连接
调用SDK的CFusionSphereSDK::DisConnectCNA接口,断开与CNA主机的登录连接。
步骤4 释放恢复资源
恢复完一个磁盘后,就要释放相应的资源,然后开始恢复下一个磁盘。
2.3 被第三方防病毒软件等安全产品集成 2.3.1 集成场景概述
为了对主机中所有虚拟机进行病毒防护,若采用传统防病毒产品,则需要在每台虚拟机本地安装防病毒产品,
这样不仅会占用较多资源,而且在全盘扫描、病毒更新等场景下会造成病毒风暴,因此,华为虚拟化平台提供了防病毒所需API,防病毒厂家可基于API进行二次开发,形成虚拟化防病毒解决方案,做到仅需在一台特殊的安全虚拟机中部署防病毒引擎,在用户虚拟机本地安装轻量级驱动即可完成杀毒,且能解决传统防病毒产品的上述问题。通过该机制可有效避免杀毒风暴,降低维护成本,降低杀毒功能的总体资源消耗。
虚拟化防病毒总体架构图
2.3.2 典型应用场景
一、应用场景:
对用户虚拟机进行病毒防护,包括:
? 对文件的实时监控,即当用户实时访问某文件时,若有病毒则能及时发现;
? 全盘扫描,即能对磁盘中所有文件发起全盘扫描,包括管理员手工发起或管理员制定扫描的定时任务。
二、场景说明:
1、在每台主机中,将新增一台安全虚拟机,这是基于linux的虚拟机,负责这台主机中所有虚拟机的病毒扫描,
这样就无需在每台用户虚拟机本地部署杀毒引擎了,这样做的好处是:a、病毒库管理上的优势,即无需对每台虚拟机的病毒库安装、更新等进行管理,而是仅需对安全虚拟机进行管理;b、病毒扫描结果在整个主机中所有虚拟机范围内共享,而不是如传统防病毒仅一台虚拟机内部共享,提升扫描效率。
2、在用户虚拟机本地需要部署轻量级模块,负责拦截用户虚拟机内的文件操作并发送给安全虚拟机进行扫描,
用户虚拟机与安全虚拟机间采用共享内存驱动方式通信,提升扫描效率。
3、防病毒管理中心:负责发起扫描、制定扫描策略等,其上将呈现所有主机、虚拟机的对应视图,以便对所有
虚拟机进行管理。
2.4 被CloudStack集成 2.4.1 集成场景概述
● CloudStack采用了“框架 + 插件”的系统构架,通过不同的插件来提供对不同虚拟化技术的支持。 ● 接入华为虚拟化需要对CloudStack的JS页面/框架代码做少许适配,业务功能通过插件提供 。
2.4.2 典型应用场景
一、CloudStack对接架构
Huawei Plug-in封装Hypervisor/Network/Storage/Image/Snapshot resources,将华为虚拟化平台接入
CloudStack,提供如下差异化竞争力:
● 针对电信云的虚拟化组件:包含高级资源调度策略、故障实时性检测、异构热迁移等。 ● 大规模分布式存储虚拟化组件和高性能的存储卸载vVOL,同时支持scsi和nfs的存储瘦分配 ● 提供数据中心SDN解决方案,提供网络自动化能力