复制数据包
         本节详述了复制数据包和源命令。
         
表 65  复制数据包命令
 | 
 | 
 | 
 
| 
 GET 
 | 
 /packages 
 | 
 列出所有复制数据包 
 | 
 
| 
 GET 
 | 
 /packages/package 
 | 
 获取指定的复制数据包 
 | 
 
| 
 PUT 
 | 
 /packages/package 
 | 
 修改指定的复制数据包 
 | 
 
| 
 DELETE 
 | 
 /packages/package 
 | 
 销毁指定的复制数据包 
 | 
 
| 
 PUT 
 | 
 /packages/package/cancelupdate 
 | 
 对指定的数据包运行 cancelupdate 
 | 
 
| 
 PUT 
 | 
 /packages/package/sever 
 | 
 对指定的数据包运行 sever 
 | 
 
| 
 PUT 
 | 
 /packages/package/pkgreverse 
 | 
 对指定的数据包运行 reverse 
 | 
 
| 
 PUT 
 | 
 /packages/package/clone 
 | 
 克隆指定的数据包 
 | 
 
| 
 GET 
 | 
 /packages/package/clone/conflicts 
 | 
 列出共享资源属性冲突 
 | 
 
| 
 GET 
 | 
 /packages/package/projects 
 | 
 列出数据包项目 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project 
 | 
 获取数据包项目 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project 
 | 
 修改数据包项目 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/usage/groups 
 | 
 获取数据包项目组的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/usage/users 
 | 
 获取数据包项目用户的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 DELETE 
 | 
 /packages/package/projects/project/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project/snapshots/snapshot 
 | 
 重命名数据包项目快照 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/automatic 
 | 
 列出所有数据包项目自动快照对象 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/automatic/automatic 
 | 
 获取指定的数据包项目自动快照属性 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems 
 | 
 列出数据包文件系统 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem 
 | 
 获取数据包文件系统 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project/filesystems/filesystem 
 | 
 修改数据包文件系统 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/usage/groups 
 | 
 获取数据包文件系统组的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/usage/users 
 | 
 获取数据包文件系统用户的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 DELETE 
 | 
 /packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 重命名数据包文件系统快照 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/automatic 
 | 
 列出所有数据包文件系统自动快照对象 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/filesystems/filesystem/automatic/automatic 
 | 
 获取指定的数据包文件系统自动快照属性 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns 
 | 
 列出数据包 LUN 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun 
 | 
 获取数据包 LUN 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project/luns/lun 
 | 
 修改数据包 LUN 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/usage/groups 
 | 
 获取数据包 LUN 组的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/usage/users 
 | 
 获取数据包 LUN 用户的使用情况 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 DELETE 
 | 
 /packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 重命名数据包 LUN 快照 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/automatic 
 | 
 列出所有数据包 LUN 自动快照对象 
 | 
 
| 
 GET 
 | 
 /packages/package/projects/project/luns/lun/automatic/automatic 
 | 
 获取指定的数据包 LUN 自动快照属性 
 | 
 
  | 
         复制源及其相应的数据包还可以使用下面的命令来访问。
         
表 66  复制源命令
 | 
 | 
 | 
 
| 
 GET 
 | 
 仅使用 /api/storage/v{1|2}/replication/sources 
 | 
 列出复制源 
 | 
 
| 
 GET 
 | 
 /source 
 | 
 列出复制源详细信息 
 | 
 
| 
 GET 
 | 
 /source/packages/package 
 | 
 获取指定的复制数据包 
 | 
 
| 
 PUT 
 | 
 /source/packages/package 
 | 
 修改指定的复制数据包 
 | 
 
| 
 DELETE 
 | 
 /source/packages/package 
 | 
 销毁指定的复制数据包 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/cancelupdate 
 | 
 对指定的数据包运行 cancelupdate 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/sever 
 | 
 对指定的数据包运行 sever 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/pkgreverse 
 | 
 对指定的数据包运行 reverse 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/clone 
 | 
 克隆指定的数据包 
 | 
 
| 
 GET 
 | 
 /source/packages/package/clone/conflicts 
 | 
 列出共享资源属性冲突 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects 
 | 
 列出数据包项目 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project 
 | 
 获取数据包项目 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project 
 | 
 修改数据包项目 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/usage/groups 
 | 
 获取数据包项目组的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/usage/users 
 | 
 获取数据包项目用户的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 DELETE 
 | 
 /source/packages/package/projects/project/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project/snapshots/snapshot 
 | 
 重命名数据包项目快照 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/automatic 
 | 
 列出所有数据包项目自动快照对象 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/automatic/automatic 
 | 
 获取指定的数据包项目自动快照属性 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems 
 | 
 列出数据包文件系统 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem 
 | 
 获取数据包文件系统 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project/filesystems/filesystem 
 | 
 修改数据包文件系统 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/usage/groups 
 | 
 获取数据包文件系统组的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/usage/users 
 | 
 获取数据包文件系统用户的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 DELETE 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot 
 | 
 重命名数据包文件系统快照 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/automatic 
 | 
 列出所有数据包文件系统自动快照对象 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/filesystems/filesystem/automatic/automatic 
 | 
 获取指定的数据包文件系统自动快照属性 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns 
 | 
 列出数据包 LUN 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun 
 | 
 获取数据包 LUN 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project/luns/lun 
 | 
 修改数据包 LUN 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/usage/groups 
 | 
 获取数据包 LUN 组的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/usage/users 
 | 
 获取数据包 LUN 用户的使用情况 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 获取指定的快照属性 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/snapshots 
 | 
 列出所有快照对象 
 | 
 
| 
 DELETE 
 | 
 /source/packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 销毁指定的快照对象 
 | 
 
| 
 PUT 
 | 
 /source/packages/package/projects/project/luns/lun/snapshots/snapshot 
 | 
 重命名数据包 LUN 快照 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/automatic 
 | 
 列出所有数据包 LUN 自动快照对象 
 | 
 
| 
 GET 
 | 
 /source/packages/package/projects/project/luns/lun/automatic/automatic 
 | 
 获取指定的数据包 LUN 自动快照属性 
 | 
 
  | 
         
            列出复制源
            列出所有可用的复制源。
            请求示例:
            GET /api/storage/v2/replication/sources HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json
            输出示例:
            HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529
{
    "sources": [{
        "asn": "314d252e-c42b-e844-dab1-a3bca680b563",
        "href": "/api/storage/v2/replication/sources/zfs-repl-host",
        "ip_address": "ipaddr-1",
        "name": "zfs-repl-host",
        "source": "source-000"
    }]
}
         
         
            列出复制数据包
            列出所有复制数据包。
            请求示例:
            GET /api/storage/v2/replication/packages HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json
            结果示例:
            HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529
{
  "packages": [
    {
      "href": "/api/storage/v2/replication/packages/0efaab49-7b22-4d4a-def8-813c27780894",
      "id": "0efaab49-7b22-4d4a-def8-813c27780894",
      "source_name": "sourceA",
      "source_asn": "8a22f6e0-4ee4-4b85-f141-e152f5fac961",
      "source_ip": "ipaddr-1",
      "source_pool": "poolA",
      "target_pool": "poolA",
      "replica_of": "projTest",
      "enabled": true,
      "state": "idle",
      "state_description": "Idle (no update in progress)",
      "offline": false,
      "import_path": "",
      "data_timestamp": "2017-03-09T22:36:12Z",
      "last_sync": "2017-03-09T22:36:22Z",
      "last_try": "2017-03-09T22:36:22Z",
      "last_result": "success"
    }
  ]
}
         
         
            修改数据包
            修改数据包属性。
            
               
               
                  
                  
                  
                  
                     
                         | 
                         | 
                         | 
                      
                  
                  
                     
                        | 
                            enabled 
                         | 
                        
                            boolean 
                         | 
                        
                            复制更新的当前状态 
                         | 
                      
                  
                 | 
            
            请求示例:
            PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json
{"enabled": false}
            结果示例:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
            请求示例:
            PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/pkgreverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json
{"new_project_name":"restrev", "enable_action_upon_reversal":"true"}
            结果示例:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
         
         
            删除数据包
            销毁复制数据包。
            请求示例:
            DELETE /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
            成功删除后将返回 HTTP 状态 204 (No Content)。
            结果示例:
            HTTP/1.1 204 No-Content
X-Zfssa-Replication-Api: 1.0
         
         
            取消更新
            取消此数据包正在进行的更新。
            请求示例:
            PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/cancelupdate HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
            如果未进行更新,将返回 HTTP 状态 409 (Conflict)。
            结果示例:
            HTTP/1.1 409 Conflict
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 137
{
    "cancelupdate": {
        "AKSH_ERROR": "EAK_NAS_REPL_BADSTATE",
        "message": "operation illegal for state"
    }
}
            结果示例:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
         
         
            克隆数据包
            克隆数据包项目。
            请求示例:
            PUT /api/v2/storage/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
            结果示例:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
            克隆成功返回 HTTP 状态 202 (Accepted)。帮助命令可用于确定克隆操作是否出现冲突。
            克隆冲突请求示例:
            GET /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone/conflicts HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
            克隆/冲突返回冲突:
            HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 58
{
    "conflicts": "There are no conflicts."
}
            属性:
            Default settings:
            target_project = (unset)
       original_mountpoint = /export
       override_mountpoint = false
                mountpoint =
         
         
            提供数据包
            提供复制连接并将数据包内容移到新项目中。此操作永久性提供此数据包以及其在源系统中的复制的共享资源,使它们成为此系统上的本地项目。任何方向的后续复制更新都需要定义新操作和发送完整更新。
            请求示例:
            PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/sever HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
{"projname":"restsev"}
            成功响应:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
         
         
            反转数据包
            反转复制方向。此操作禁用此数据包的复制,并将此数据包内容移到配置用于复制回源的新本地项目。当新项目首次复制回源后,自上次成功更新后对源所做的所有元数据或数据更改都将丢失。
            请求示例:
            PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/reverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
{"projname":"restrev"}
            成功响应:
            HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0