Go to main content

Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.8.0

退出打印视图

更新时间: 2018 年 11 月
 
 

群集

群集命令用于设置群集和管理群集资源。

表 28  群集命令
请求
附加到路径 /hardware/v1
说明
GET
/cluster
获取群集属性和群集资源列表
GET
/cluster/resources/resource:path
获取指定的群集资源的属性
PUT
/cluster/resources/resource:path
修改指定的群集资源
PUT
/cluster/failback
对分配给群集对等设备的所有资源都执行故障恢复
PUT
/cluster/takeover
接管所有分配给群集对等设备的资源
PUT
/cluster/unconfigure
取消群集设备的单机模式配置
GET
/cluster/links
获取群集卡链路状态
PUT
/cluster/setup
执行初始群集设置

获取群集属性

获取当前的群集配置状态和资源属性。

请求示例:

GET /api/hardware/v1/cluster HTTP/1.1
Authorization: Basic abcd45sMWE=
Host: zfs-storage.example.com:215
Accept: application/json

响应示例:

HTTP/1.1 200 OK
X-Zfssa-Appliance-Api: 1.0
Content-Type: application/json
Content-Length: 529
X-Zfssa-Api: 1.0

{
    "cluster": {
        "description": "Clustering is not configured",
        "peer_asn": "",
        "peer_description": "",
        "peer_hostname": "",
        "peer_state": "",
        "resources": {
            "net/ixgbe0": {
                "details": ["ipaddr-1"],
                "href": "/hardware/v1/cluster/resources/resources/net/ixgbe0",
                "owner": "admin1",
                "type": "singleton",
                "user_label": "Untitled Interface"
            },
            "zfs/zfs-storage-1": {
                "details": ["821G"],
                "href": "/hardware/v1/cluster/resources/resources/zfs/zfs-storage-1",
                "owner": "admin1",
                "type": "singleton",
                "user_label": ""
            }
        },
        "state": "AKCS_UNCONFIGURED"
    }
}

获取群集资源

根据群集资源中的 href 属性,可以获取该单个群集资源的数据。上例中有两个可用资源:/hardware/v1/cluster/resources/resources/zfs/zfs-storage-1 和 /hardware/v1/cluster/resources/resources/net/ixgbe0。

修改群集资源

当系统完成群集设置后,可以使用此命令修改各个群集资源的属性。有关更多信息,请参见 CLI "configuration cluster resources"。

群集命令

群集支持的命令有 failbacktakeoverunconfigure。所有命令都会向群集资源发出 PUT 请求,并附上该命令的名称。成功后,这些命令都返回 HTTP 状态 202 (Accepted)。

故障恢复操作以异步方式执行。当 REST 客户机使用 PUT 命令发送故障恢复请求时,会在成功收到请求之后返回 HTTP 状态 202 (Accepted)。客户机将需要通过侦听警报或轮询群集状态来监视故障恢复进度。

请求示例:

PUT /api/hardware/v1/cluster/failback HTTP/1.1
Authorization: Basic abcd123MWE=
Host: zfs-storage.example.com:215

结果示例:

HTTP/1.1 202 Accepted
X-Zfssa-Appliance-Api: 1.0

如果群集未处于正确状态,无法接受命令,则返回 HTTP 状态 409 (Conflict)。

群集链路

此命令返回群集卡的当前链路状态。输出与 aksh 命令 "configuration cluster links" 的输出相同。建议在运行群集设置之前运行此命令,以确保群集布线没有问题。运行设置之前,所有链路都应处于 AKCIOS_ACTIVE 状态。

请求示例:

GET /api/hardware/v1/cluster/links HTTP/1.1
Authorization: Basic abcd123MWE=
Host: zfs-storage.example.com:215
Accept: application/json

响应示例:

HTTP/1.1 200 OK
X-Zfssa-Appliance-Api: 1.0
Content-Type: application/json
Content-Length: 181

{
    "links": {
        "clustron2_embedded:0/clustron_uart:0 = AKCIOS_TIMEDOUT\n
         clustron2_embedded:0/clustron_uart:1 = AKCIOS_TIMEDOU\n
         clustron2_embedded:0/dlpi:0 = AKCIOS_TIMEDOUT"
    }
}

设置群集

setup cluster 命令可为系统设置初始群集。所有群集链路都应处于 AKCIOS_ACTIVE 状态,且应打开对等设备系统的电源但不进行配置,否则此命令将失败。

请求示例:

PUT /api/hardware/v1/cluster/setup HTTP/1.1
Authorization: Basic abcd123MWE=
Host: zfs-storage.example.com:215
Accept: application/json

{"nodename": "zfs-storage-2", "password": "password"}

结果示例:

HTTP/1.1 202 Accepted
X-Zfssa-Appliance-Api: 1.0