1、创建虚拟机(可选)
此步骤可选。如果要将备份的数据恢复到新的虚拟机上,就首先要创建一个虚拟机。 如果只是在源虚拟机上进行恢复,就不需要创建虚拟机。
创建虚拟机的时候vmConfig(虚拟机配置)这个参数是必填的,vmConfig中包含了本次创建虚拟
机时携带的磁盘个数及大小等配置信息,这些信息的填写需要与本次恢复到的虚拟机备份点时的磁盘配置信息保持一致。
虚拟机创建成功后会返回虚拟机对应的uri。 2、查询指定虚拟机
根据虚拟机的uri查询指定虚拟机的信息。
如果是在源虚拟机上恢复,就用源虚拟机的uri;如果是在新的虚拟机上进行数据恢复,就用创建成
功返回的虚拟机的uri。查询指定虚拟机成功后返回的消息体中会有vmConfig(虚拟机配置)信息,vmConfig信息中会包含虚拟机的disks(磁盘)信息,根据返回信息中的datastoreUrn就可以知道每个磁盘对应的datastoreUri。
3、创建恢复卷(可选)
以下两种情况下不需要创建恢复卷:
? 执行了创建了虚拟机,并且创建虚拟机时填入的磁盘配置和此次恢复到的备份点的磁盘配置完全
一致。
? 没有执行创建新的虚拟机,但是将要恢复到的源虚拟机的磁盘配置和此次恢复到的备份点的磁盘
配置完全一致。
如果要将数据恢复到源虚拟机,但是源虚拟机有磁盘丢失,这时就要创建恢复卷。
创建卷时填入的磁盘信息与恢复到的备份点的磁盘配置保持一致。创建卷成功后会返回卷得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、虚拟存储恢复流程涉及的相关接口
流程 API 说明 恢复前准备 创建虚拟机(可选) 创建虚拟机,用于将备份的数据整机恢复到新的虚拟机上 流程 API 说明 查询指定虚拟机 查询待恢复的虚拟机,获取虚拟机的磁盘信息,用于将恢复数据写入相应磁盘 创建恢复卷(可选) 在待恢复的虚拟机丢失了磁盘的情况下,需要创建恢复卷 交换源卷与目的卷(可选) 在待恢复的虚拟机的磁盘配置信息和备份点虚拟机的磁盘配置信息不一致时,需要调用此接口 查询指定数据存储 查询指定的数据存储,得到每个卷对应的lun wwn列表,用于数据备份与恢复。 验证待恢复的Lun是否存在 检查备份软件与虚拟存储之间的SAN网络传输通路是否畅通,检查待恢复的Lun文件是否存在。 准备备份资源 准备恢复资源(与准备备份资源为同一个接口) 准备虚拟机恢复资源,用于虚拟机恢复。 查询恢复资源(与查询备份资源为同一个接口) 查询恢复资源,用于获取主机的IP、端口号、targetFlie(目标文件)、token 修改恢复资源(与修改备份资源为同一个接口) 修改本次恢复的恢复资源,用于延长资源的有效时间 获取CBT差量位图(可选) 查询虚拟机卷CBT差量位图,用于恢复时向相应的磁盘block中写入数据 打开、写入远端磁盘文件 CFusionSphereSDK::ConnectCNA 连接到主机(需主机名、端口、token) CFusionSphereSDK::OpenDisk 打开远端磁盘文件,获取文件句柄 CFusionSphereSDK::WriteDisk 向远端磁盘文件句柄中写入一定范围的数据 流程 API 说明 CFusionSphereSDK::CloseDisk 关闭远端磁盘文件 释放恢复资源 CFusionSphereSDK::DisConnectCNA 断开与主机的连接 释放恢复资源(与释放备份资源是同一个接口) 每恢复完一个磁盘,就要把此次恢复准备的恢复资源释放。 1、虚拟存储恢复场景说明: 步骤1 恢复前准备 1、创建虚拟机(可选)
此步骤可选。如果要将备份的数据恢复到新的虚拟机上,就首先要创建一个虚拟机。 如果只是在源虚拟机上进行恢复,就不需要创建虚拟机。
创建虚拟机的时候vmConfig(虚拟机配置)这个参数是必填的,vmConfig中包含了本次创建虚拟
机时携带的磁盘个数及大小等配置信息,这些信息的填写需要与本次恢复到的虚拟机备份点时的磁盘配置信息保持一致。
虚拟机创建成功后会返回虚拟机对应的uri。 2、查询指定虚拟机
根据虚拟机的uri查询指定虚拟机的信息。
如果是在源虚拟机上恢复,就用源虚拟机的uri;如果是在新的虚拟机上进行数据恢复,就用创建成
功返回的虚拟机的uri。查询指定虚拟机成功后返回的消息体中会有vmConfig(虚拟机配置)信息,vmConfig信息中会包含虚拟机的disks(磁盘)信息,根据返回信息中的datastoreUrn就可以知道每个磁盘对应的datastoreUri。
3、创建恢复卷(可选)
以下两种情况下不需要创建恢复卷:
? 执行了创建了虚拟机,并且创建虚拟机时填入的磁盘配置和此次恢复到的备份点的磁盘配置完全
一致。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库云计算(5)在线全文阅读。
相关推荐: