1.获取SessionID
1.1从Zerto中获取SessionID
通过CURL命令方式取Zerto环境中的SessionID:
curl -s -k -D responseHeader.txt -H "Content-Type: application/json" -H "Accept: application/json" --user admin@vsphere.local:2018@pwd https://10.7.66.101:9669/v1/session/add -d "{\"AuthenticationMethod\":1}"
1.2找出SessionID
命令执行没有出错,在当前目录中会有一个responseHeader.txt,查看文件内容:
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44
X-Content-Type-Options: nosniff
Date: Mon, 12 Nov 2018 07:13:48 GMT
x-zerto-session的值是SessionID
2.查询VPG
2.1获取所有VPG
curl -k -D responseHeader.txt -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs
命令执行成功返回所有VPG的JSON字符串,这里只列出其中一个VPG信息的片断:
{
"ServiceProfile": null,
"ServiceProfileIdentifier": null,
"ServiceProfileName": "",
"SourceSite": "ZVM-ZDSW",
"Status": 1,
"SubStatus": 0,
"TargetSite": "drzdzvm01",
"ThroughputInMB": 0.00048828125,
"UsedStorageInMB": 29063,
"VmsCount": 2,
"VpgIdentifier": "692e91d9-4b7c-4434-9a87-cb35a650daa3",
"VpgName": "zerto-test-vpg",
"Zorg": {
"href": "https:\/\/10.7.66.101:9669\/v1\/zorgs\/00000000-0000-0000-0000-000000000000",
"identifier": "00000000-0000-0000-0000-000000000000",
"rel": null,
"type": "ZorgApi"
}
}
其中 "VpgIdentifier": "692e91d9-4b7c-4434-9a87-cb35a650daa3", "VpgName": "zerto-test-vpg",
是这次测试用的VPG的ID和名称。
2.2查询单个VPG
查指定VpgId:692e91d9-4b7c-4434-9a87-cb35a650daa3 的信息:
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3
命令执行成功返回的是这个ID的VPG信息
2.3取VPG的检查点
查指定VpgId:692e91d9-4b7c-4434-9a87-cb35a650daa3 的检查点:
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/checkpoints?startDate=2018-11-12T10:59:50&endDate=2018-11-12T11:00:00
URL中的参数是查询10秒内的检查点,查出的数据非常多,只列出其中一个检查点信息:
{
"CheckpointIdentifier": "444946",
"Tag": null,
"TimeStamp": "\/Date(1542010442000)\/",
"Vss": false
}
查指定VpgId:692e91d9-4b7c-4434-9a87-cb35a650daa3 的最早和最近的检查点:
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/checkpoints/status
{"CheckpointIdentifier":"427776","Tag":null,"TimeStamp":"\/Date(1541924343000)\/","Vss":false}
3.执行Failover
3.1恢复到检查点测试
指定VpgId:692e91d9-4b7c-4434-9a87-cb35a650daa3 的VPG,恢复到CheckpointIdentifier是444946的时间点:
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/FailoverTest -d "{\"CheckpointIdentifier\": \"427776\"}"
命令执行后没有错误,这时查看Zerto界面中这个VPG在进行恢复操作
3.2停止恢复测试
指定VpgId:692e91d9-4b7c-4434-9a87-cb35a650daa3 的VPG,停止恢复:
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/FailoverTestStop
3.3恢复的真实操作
恢复一个VPG到指定检查点
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/Failover -d "{\"CheckpointIdentifier\":\"445241\",\"CommitPolicy\":0, \"IsReverseProtection\":false,\"ShutdownPolicy\":0,\"TimeToWaitBeforeShutdownInSec\":3600}"
恢复一个VPG到指定检查点后的提交
curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "x-zerto-session: 43acf8c89a5e25be6c62351454bced8fb292de44" https://10.7.66.101:9669/v1/vpgs/692e91d9-4b7c-4434-9a87-cb35a650daa3/FailoverCommit -d "{\"IsReverseProtection\":\"true\"}"