云计算(4)

2019-06-10 23:55

每个虚拟机最多创建32个普通虚拟机快照和32个备份虚拟机快照。

创建虚拟机快照时type参数应填为“CBTbackup”。快照创建完成后返回的响应如下: 3、查询指定的虚拟机快照信息

备份软件根据快照的uri查询指定虚拟机快照信息,返回的消息中包含卷快照列表信息。若得到的卷

快照列表中有多个卷,则每次只能备份一个卷,分多次备份即可。其中每一个卷快照包含的信息如下:

4、查询指定数据存储

根据查询虚拟机快照信息接口得到的数据存储URN,将其转换为数据存储的URI,查询指定的数据

存储。

查询返回的响应主体中包含storageUnits(存储设备列表),其中每一个存储设备的信息如下: 5、验证待备份的Lun是否存在

调用虚拟磁盘管理C++ SDK的CFusionSphereSDK::verifyLUNAttached接口,先扫描存储网络中

的Lun,再传入虚拟磁盘对应的LunWWN列表(查询指定数据存储接口 中的suName)。

验证待备份的Lun是否存在。若存在,继续下一步备份流程,若不存在,请检查存储网络是否正确

搭建或者采用LAN-Base方式备份。

步骤2 准备备份资源

1、准备备份资源

准备虚拟机备份资源,用于虚拟机备份。

传入的参数有taskType(LANBASE场景为:CBTBackup,LANFREE场景为:SANBackup)、ip

(申请方IP地址)、snapUrn1(起始快照URN)、snapUrn2(结束快照URN)、volCBTCreateTime(本次备份的CBT增量数据创建时间)、transMode(lan传输或lanssl加密传输)。准备备份资源接口调用成功后,返回的消息体可以得到备份资源URI地址。

2、查询备份资源

根据调用准备备份资源接口得到的备份资源uri地址查询指定的备份资源信息。 3、修改备份资源

准备完备份资源后,备份与恢复过程中要定期请求保留资源,否则资源超时后会被释放。

定期调用FC的修改备份资源接口,设置新的延时时间,就可以延长资源的有效时间。在备份与恢复

的过程中要确保资源没有被释放,否则备份会失败。

步骤3 获取CBT差量位图

查询虚拟机卷CBT差量位图。

当采用CBT备份的时候,我们只会备份虚拟磁盘中有改动的部分,我们用差量位图来表示磁盘哪些

地方有改动。

差量位图类似“10110100”,至少为一个字节,每个字节中的低位bit代表磁盘中序号小的block

(一个block 2M字节),高位表示序号大的block,1代表这个block的数据有改动,需要将其备份,0代表这个block数据没有改动,无需备份。这样就需要将当前快照的CBT与上一次备份的CBT作对比查询得到此次需要备份的差量位图,从而备份相应的数据。

传入的参数有type(获取差量位图类型)、snapUrn(当前快照urn)、volCBTCreateTime(CBT

初始全量文件创建时间)、chgID(起始chgID版本信息)、startBlock(起始block信息)、blockNum(block数量)。其中snapUrn备份时填当前快照urn( 创建快照成功时返回的快照urn),恢复时不填。

如果要备份的磁盘很大,startBlock、blockNum可以分段填写,这样就可以分段获取差量位图。

步骤4 打开、读取远端磁盘文件

1、连接主机

调用SDK的CFusionSphereSDK::ConnectCNA接口,输入参数中的CNA_IP、PortID、Token均

从查询备份资源接口中得到,EnableSSL参数与查询备份资源接口中传入的transMode参数保持一致。

2、打开远端磁盘文件

调用SDK的CFusionSphereSDK::OpenDisk接口,输入参数中的RawLunWWNList与LunWWN

列表保持一致,strTargetVHDFile为查询指定的虚拟机快照信息 中得到的targetFile(目标文件名),OpenMode应填为READ(备份),输出参数中的diskHandle为返回的文件句柄,用于后续的读取和关闭远端磁盘文件。

3、读远端磁盘文件

调用SDK的CFusionSphereSDK::ReadDisk接口,输入参数中的diskHandle为打开远端磁盘文件

接口 中返回的文件句柄,VMOffset为本次读取的偏移地址,VMLength为本次读取的长度,输出参数pBuffer为读取的备份数据的缓冲区,将pBuffer中的数据备份到备份存储。其中VMOffset、VMLength这两个参数根据 得到的差量位图正确填写。

4、关闭远端磁盘文件

调用SDK的CFusionSphereSDK::CloseDisk接口,输入参数中的diskHandle为打开远端磁盘文件

接口 中返回的文件句柄。此步骤为备份完之后清理主机上的资源。

5、断开与主机连接

调用SDK的CFusionSphereSDK::DisConnectCNA接口,断开与CNA主机的登录连接。

步骤5 释放备份资源

1、释放备份资源

备份完一个磁盘后,就要释放相应的资源,然后开始备份下一个磁盘。 2、删除指定虚拟机快照

所有磁盘都备份结束后,删除此次备份的虚拟机快照,此次备份结束。

1、虚拟存储备份流程涉及的相关接口

流程 API 说明 备份前准备 备份前 SDK 初始化SDK API,传入日志回调函数。 创建虚拟机快照 createVmSnapshot,创建当前时间点该虚拟机快照。此快照的磁盘数据用于备份。 查询指定的虚拟机快照信息 查询当前时间点虚拟机快照信息,得到虚拟机快照卷对应的数据存储。 查询指定数据存储 查询指定的数据存储,得到每个卷对应的lun wwn列表,用于数据备份与恢复。 验证待备份的Lun是否存在 检查备份软件与虚拟存储之间的SAN网络传输通路是否畅通,检查待备份的Lun文件是否存在。 流程 API 说明 准备备份资源 准备备份资源 准备虚拟机备份资源,用于虚拟机备份、虚拟机恢复等。 查询备份资源 查询备份资源,用于获取主机的IP、端口号、targetFlie(目标文件)、token 修改备份资源 修改本次备份的备份资源,用于延长资源的有效时间 获取CBT差量位图 查询虚拟机卷CBT差量位图,用于备份时读取磁盘中相应block的数据 打开、读取远端磁盘文件 CFusionSphereSDK::ConnectCNA 连接到主机(需主机名、端口、token) CFusionSphereSDK::OpenDisk 打开远端磁盘文件,获取文件句柄 CFusionSphereSDK::ReadDisk 从远端磁盘文件句柄中读取一定范围的数据 CFusionSphereSDK::CloseDisk 关闭远端磁盘文件 CFusionSphereSDK::DisConnectCNA 断开与主机的连接 释放恢复资源 释放备份资源 每备完一个磁盘,就要把此次备份准备的备份资源释放。 删除虚拟机快照 备份完成后删除指定的虚拟机快照。 恢复场景

1、虚拟存储恢复场景说明:

步骤1 恢复前准备


云计算(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2007年版 湖北省建设工程施工合同

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: