此操作用來創建卷。創建卷時,如果指定的target名稱不存在,則同時創建target。
說明
- HBlock上target IQN的數量最多32766個。一個target最多可以關聯256個卷,但是一個卷只能被一個target關聯。
- 卷創建成功后,僅下列參數可以修改:容量、寫策略、最小副本數(僅集群版支持)、折疊副本數(僅集群版支持)、Endpoint、上云簽名認證版本、區域、AK/SK、是否壓縮數據。
請求語法
本地卷
單機版
POST /rest/v1/block/lun HTTP/1.1
Date:date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"lunName": lunName,
"targetName": targetName,
"capacity": capacity,
"storageMode": storageMode,
"config": {
"sectorSize": sectorSize,
"writePolicy": writePolicy,
"qosPolicy": {
"qosName": qosName,
"IOPS": IPOS,
"readIOPS": readIOPS,
"writeIOPS": writeIOPS,
"Bps": Bps,
"readBps": readBps,
"writeBps": writeBps,
"IOPSBurst": IOPSBurst,
"readIOPSBurst": readIOPSBurst,
"writeIOPSBurst": writeIOPSBurst,
"BpsBurst": BpsBurst,
"readBpsBurst": readBpsBurst,
"writeBpsBurst": writeBpsBurst,
"IOPSBurstSecs": IOPSBurstSecs,
"readIOPSBurstSecs": readIOPSBurstSecs,
"writeIOPSBurstSecs": writeIOPSBurstSecs,
"BpsBurstSecs": BpsBurstSecs,
"readBpsBurstSecs": readBpsBurstSecs,
"writeBpsBurstSecs": writeBpsBurstSecs
},
"path": path
}
}集群版
POST /rest/v1/block/lun HTTP/1.1
Date:date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"lunName": lunName,
"targetName": targetName,
"capacity": capacity,
"storageMode": storageMode,
"config": {
"localStorageClass": localStorageClass,
"minReplica": minReplica,
"ECfragmentSize": ECfragmentSize,
"redundancyOverlap": redundancyOverlap,
"sectorSize": sectorSize,
"cachePool": poolName,
"pool": poolName,
"highAvailability": highAvailability,
"writePolicy": writePolicy,
"serverAffinity": {
"autoFailback": autoFailback,
"priority": [
SeverID,ServerID…
]
},
"qosPolicy": {
"qosName": qosName,
"IOPS": IPOS,
"readIOPS": readIOPS,
"writeIOPS": writeIOPS,
"Bps": Bps,
"readBps": readBps,
"writeBps": writeBps,
"IOPSBurst": IOPSBurst,
"readIOPSBurst": readIOPSBurst,
"writeIOPSBurst": writeIOPSBurst,
"BpsBurst": BpsBurst,
"readBpsBurst": readBpsBurst,
"writeBpsBurst": writeBpsBurst,
"IOPSBurstSecs": IOPSBurstSecs,
"readIOPSBurstSecs": readIOPSBurstSecs,
"writeIOPSBurstSecs": writeIOPSBurstSecs,
"BpsBurstSecs": BpsBurstSecs,
"readBpsBurstSecs": readBpsBurstSecs,
"writeBpsBurstSecs": writeBpsBurstSecs
}
}
}上云卷
單機版
POST /rest/v1/block/lun HTTP/1.1
Date:date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"lunName": lunName,
"targetName": targetName,
"capacity": capacity,
"storageMode": storageMode,
"config": {
"sectorSize": sectorSize,
"writePolicy": writePolicy,
"qosPolicy": {
"qosName": qosName,
"IOPS": IPOS,
"readIOPS": readIOPS,
"writeIOPS": writeIOPS,
"Bps": Bps,
"readBps": readBps,
"writeBps": writeBps,
"IOPSBurst": IOPSBurst,
"readIOPSBurst": readIOPSBurst,
"writeIOPSBurst": writeIOPSBurst,
"BpsBurst": BpsBurst,
"readBpsBurst": readBpsBurst,
"writeBpsBurst": writeBpsBurst,
"IOPSBurstSecs": IOPSBurstSecs,
"readIOPSBurstSecs": readIOPSBurstSecs,
"writeIOPSBurstSecs": writeIOPSBurstSecs,
"BpsBurstSecs": BpsBurstSecs,
"readBpsBurstSecs": readBpsBurstSecs,
"writeBpsBurstSecs": writeBpsBurstSecs
},
"path": path
},
"cloud": {
"provider": provider,
"bucketName": bucketName,
"prefix": prefix,
"accessKey": accessKey,
"secretKey": secretKey,
"endpoint": endpoint,
"signVersion": signVersion,
"region": region,
"objectSize": objectSize,
"storageClass": storageClass,
"compression": compression
}
}集群版
POST /rest/v1/block/lun HTTP/1.1
Date:date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"lunName": lunName,
"targetName": targetName,
"capacity": capacity,
"storageMode": storageMode,
"config": {
"localStorageClass": localStorageClass,
"minReplica": minReplica,
"ECfragmentSize": ECfragmentSize,
"redundancyOverlap": redundancyOverlap,
"sectorSize": sectorSize,
"cachePool": poolName,
"pool": poolName,
"highAvailability": highAvailability,
"writePolicy": writePolicy,
"serverAffinity": {
"autoFailback": autoFailback,
"priority": [
SeverID,ServerID…
]
},
"qosPolicy": {
"qosName": qosName,
"IOPS": IPOS,
"readIOPS": readIOPS,
"writeIOPS": writeIOPS,
"Bps": Bps,
"readBps": readBps,
"writeBps": writeBps,
"IOPSBurst": IOPSBurst,
"readIOPSBurst": readIOPSBurst,
"writeIOPSBurst": writeIOPSBurst,
"BpsBurst": BpsBurst,
"readBpsBurst": readBpsBurst,
"writeBpsBurst": writeBpsBurst,
"IOPSBurstSecs": IOPSBurstSecs,
"readIOPSBurstSecs": readIOPSBurstSecs,
"writeIOPSBurstSecs": writeIOPSBurstSecs,
"BpsBurstSecs": BpsBurstSecs,
"readBpsBurstSecs": readBpsBurstSecs,
"writeBpsBurstSecs": writeBpsBurstSecs
}
},
"cloud": {
"provider": provider,
"bucketName": bucketName,
"prefix": prefix,
"accessKey": accessKey,
"secretKey": secretKey,
"endpoint": endpoint,
"signVersion": signVersion,
"region": region,
"objectSize": objectSize,
"storageClass": storageClass,
"compression": compression
}
}請求參數
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| lunName | String | 卷名稱。 取值:長度范圍是1~16,只能由字母、數字和短橫線(-)組成,字母區分大小寫,且僅支持以字母或數字開頭。 | 是 |
| targetName | String | target名稱。 說明 創建卷時,如果指定的target名稱不存在,那么同時創建iSCSI target,新創建iSCSI target的回收策略默認為Delete。 取值:長度范圍是1~16,可以由小寫字母、數字、句點(.)和短橫線(-)組成,且僅支持以字母或數字開頭。 | 是 |
| capacity | Integer | 卷容量。 取值:[1,1048576],單位是GiB。 | 是 |
| storageMode | String | 卷的存儲類型。 取值:
存儲類型默認為Local。 | 否 |
| config.localStorageClass | String | 卷冗余模式(僅集群版支持)。 取值:
默認值為EC 2+1。 說明 以下場景均為集群可用的前提下:
| 否 |
| config.minReplica | Integer | 最小副本數(僅集群版支持)。 對于副本模式的卷,假設卷副本數為X,最小副本數為Y(Y必須≤X),該卷每次寫入時,至少Y份數據寫入成功,才視為本次寫入成功。對于EC N+M模式的卷,假設該卷最小副本數設置為Y(必須滿足N≤Y≤N+M),必須滿足總和至少為Y的數據塊和校驗塊寫入成功,才視為本次寫入成功。 取值:對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數,默認值為1。對于EC卷,取值范圍是[N, N+M],默認值為N。 | 否 |
| config.ECfragmentSize | Integer | 糾刪碼模式分片大小(僅集群版支持)。 config.localStorageClass為EC模式時,此設置才生效,否則忽略。 取值:1、2、4、8、16、32、64、128、256、512、1024、2048、4096,單位是KiB。默認值為16。 | 否 |
| config.redundancyOverlap | Integer | 指定卷的折疊副本數(僅集群版支持)。在數據冗余模式下,同一份數據的不同副本/分片默認分布在不同的故障域,當故障域損壞時,允許根據卷的冗余折疊原則,將多份數據副本放在同一個故障域中,但是分布在不同的path上。 注意 如果存儲池故障域級別為path,此參數不生效。 取值:對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數,默認值為1;對于EC模式,取值范圍是[1, N+M],默認值為1。 | 否 |
| config.sectorSize | Integer | 扇區大小。 取值:512、4096,單位為字節。默認值為4096。 說明 扇區大小的選取:根據自身業務場景,一般情況下,單次I/O操作的數據大小大于或接近4KiB,則推薦選擇4096;單次I/O操作的數據大小接近512Bytes,則推薦選擇512。如果對接VMware等虛擬化平臺,則推薦選擇512。 | 否 |
| config.cachePool | String | 指定緩存存儲池(僅集群版支持)。如果指定了緩存存儲池,卷數據首先寫入緩存存儲池,然后再存入存儲池。 注意 存儲池與緩存存儲池不能是同一個存儲池。 取值:長度范圍是1~16,只能由字母、數字和短橫線(-)、下劃線(_)組成,字母區分大小寫,且僅支持以字母和數字開頭。 | 否 |
| config.pool | String | 指定存儲池(僅集群版支持),表示最終存儲池,卷數據最終落在該存儲池內。默認使用集群的基礎存儲池。 取值:長度范圍是1~16,只能由字母、數字和短橫線(-)、下劃線(_)組成,字母區分大小寫,且僅支持以字母和數字開頭。默認使用基礎存儲池。 | 否 |
| config.highAvailability | String | 是否開啟高可用模式(僅集群版支持)。 取值:
默認值為ActiveStandby。 | 否 |
| config.writePolicy | String | 卷的寫策略。 取值:
默認值為WriteBack。 | 否 |
| config.serverAffinity | Object | 卷主備分布優先級設置(僅集群版支持),詳見“表1 請求參數serverAffinity說明(僅集群版支持)”。 | 否 |
| config.qosPolicy | Object | 卷關聯的QoS策略信息,詳見“表2 請求參數config.qosPolicy說明”。 | 否 |
| config.path | String | 創建卷時,指定存儲卷數據的數據目錄(僅單機版支持)。 取值:只能包含字母、數字、漢字和特殊字符(~ ! @ $ ( ) _ + - ; . :)。如果創建卷時不指定數據目錄,使用服務器設置的默認數據目錄。 | 否 |
| cloud.provider | String | 對象存儲服務名稱:
默認值為OOS。 | 否 |
| cloud.bucketName | String | 已存在的存儲桶的名稱。 注意 請勿開啟Bucket的生命周期設定和合規保留。 | 上云卷必填 |
| cloud.prefix | String | 設置對象存儲的前綴名稱,設置前綴名稱后,卷數據會存在存儲桶以前綴命名的類文件夾中。如果未指定前綴,則直接存儲在以卷名稱命名的類文件夾中。 取值:長度范圍是1~256。 | 否 |
| cloud.accessKey | String | 對象存儲服務的AccessKeyID。 | 上云卷必填 |
| cloud.secretKey | String | 對象存儲服務的SecretAccessKey。 | 上云卷必填 |
| cloud.endpoint | String | 設置對象存儲服務的Endpoint。 注意
OOS Endpoint詳見OOS Endpoint和區域。 | 上云卷必填 |
| cloud.signVersion | String | 指定上云簽名認證的類型。 取值:
默認值為v2。 | 否 |
| cloud.region | String | 表示對象存儲服務的Endpoint資源池所在區域。 OOS region詳見OOS Endpoint和區域。 V4簽名時,此項必填。 | 否 |
| cloud.objectSize | Integer | 數據存儲在對象存儲中的大小。 取值:128、256、512、1024、2048、4096、8192,單位是KiB。默認值為1024。 | 否 |
| cloud.storageClass | String | 設置對象存儲的存儲類型。 取值:
默認為STANDARD。 | 否 |
| cloud.compression | String | 是否壓縮數據上傳至對象存儲。 取值:
默認值為Enabled。 | 否 |
表1 請求參數serverAffinity(僅集群版支持)說明
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| autoFailback | String | 是否根據指定的卷主備分布優先級自動進行主備切換(僅集群版支持),即針對卷主備狀態,當高優先級的服務器恢復正常后,是否自動進行主備狀態切換。 取值:
默認值為Enabled。 | 否 |
| priority | Array of string | 指定卷主備分布優先級的服務器ID(僅集群版支持),系統根據指定的服務器ID順序來選擇卷的主備IQN。可以指定一個或者多個服務器ID,以英文逗號分開。 前置條件:iSCSI target名稱已經存在,且指定的服務器必須是iSCSI target所在的服務器。 取值:服務器ID。 | 否 |
表2 請求參數config.qosPolicy說明
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| qosName | String | 指定QoS策略名稱。 說明 創建卷時,如果指定QoS策略名稱不存在,那么同時創建QoS策略,新創建的QoS策略的回收策略默認為Delete。 對于集群版,不指定QoS策略時:
取值:長度范圍1~64,只能由字母、數字和短橫線(-)組成,區分大小寫,且僅支持以字母或數字開頭。 注意
| 是 |
| IOPS | Long | 每秒能夠進行讀寫操作次數的最大值。 取值:取值范圍為[-1, 999999999],默認值為-1。-1表示不限制。 | 否 |
| readIOPS | Long | 每秒能夠進行讀操作次數的最大值。 取值:取值范圍為[-1, 999999999],默認值為-1。-1表示不限制。 | 否 |
| writeIOPS | Long | 每秒能夠進行寫操作次數的最大值。 取值:取值范圍為[-1, 999999999],默認值為-1。-1表示不限制。 | 否 |
| Bps | Long | 每秒可傳輸數據量的最大值。 取值:取值范圍為[-1, 4096000000000],默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| readBps | Long | 讀帶寬上限。 取值:取值范圍為[-1, 4096000000000],默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| writeBps | Long | 寫帶寬上限。 取值:取值范圍為[-1, 4096000000000],默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| IOPSBurst | Long | 使用Burst功能時,每秒能夠進行讀寫操作次數的最大值。 取值:只有當IOPS大于等于1時,此項設置為-1或(IOPS, 999999999]內的正整數方可生效。默認值為-1,表示不限制。 | 否 |
| readIOPSBurst | Long | 使用Burst功能時,每秒能夠進行讀操作次數的最大值。 取值:只有當readIOPS大于等于1時,此項設置為-1或(readIOPS, 999999999]內的正整數方可生效。默認值為-1,表示不限制。 | 否 |
| writeIOPSBurst | Long | 使用Burst功能時,每秒能夠進行寫操作次數的最大值。 取值:只有當writeIOPS大于等于1時,此項設置為-1或(writeIOPS, 999999999]內的正整數方可生效。默認值為-1,表示不限制。 | 否 |
| BpsBurst | Long | 使用Burst功能時,每秒可傳輸的數據量最大值。 取值:只有當Bps大于等于1時,此項設置為-1或(Bps, 4096000000000]內的正整數方可生效,默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| readBpsBurst | Long | 使用Burst功能時,讀帶寬上限。 取值:只有當readBps大于等于1時,此項設置為-1或(readBps, 4096000000000]內的正整數方可生效,默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| writeBpsBurst | Long | 使用Burst功能時,寫帶寬上限。 取值:只有當writeBps大于等于1時,此項設置為-1或(writeBps, 4096000000000]內的正整數方可生效,默認值為-1,單位是Bytes/s。-1表示不限制。 | 否 |
| IOPSBurstSecs | Long | 使用Burst功能時,按照Burst上限的能力進行讀寫操作所能持續的時間。 注意 只有在IOPS Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
| readIOPSBurstSecs | Long | 使用Burst功能時,按照Burst上限的能力進行讀操作所能持續的時間。 注意 只有在read IOPS Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
| writeIOPSBurstSecs | Long | 使用Burst功能時,按照Burst上限的能力進行寫操作所能持續的時間。 注意 只有在write IOPS Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
| BpsBurstSecs | Long | 使用Burst功能時,按照Burst上限的流量能力所能持續的時間。 注意 只有在Bps Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
| readBpsBurstSecs | Long | 使用Burst功能時,按照Burst上限的讀流量能力所能持續的時間,單位是秒。 注意 只有在read Bps Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
| writeBpsBurstSecs | Long | 使用Burst功能時,按照Burst上限的寫流量能力所能持續的時間。 注意 只有在write Bps Burst功能啟用時,此配置才生效。 取值:取值范圍為[1, 999999999],默認值為1,單位是秒。 | 否 |
響應結果
| 名稱 | 類型 | 描述 |
|---|---|---|
| iSCSITargets | Array of iSCSITarget | iSCSI target屬性集合,詳見“表3 響應參數iSCSITarget說明”。 |
| message | String | 如果storageMode設置為Local,但是請求體包含了上云參數,會返回此信息:"message": "Ignore cloud property when LUN storage mode is local."。 |
表3 響應參數iSCSITarget說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| iqn | String | iSCSI target IQN。 |
| status | String | 卷對應的target的狀態:
|
| ips | Array of ip | iSCSI target的IP屬性集合,詳見“表4 響應參數ip說明”。 |
| serverId | String | 服務器ID。 |
表4 響應參數ip說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| ip | String | iSCSI target的IP。 |
| port | Integer | iSCSI target的端口號。 |
請求示例1
單機版本地卷:創建卷lun8。
POST /rest/v1/block/lun HTTP/1.1
Date: Wed, 18 Oct 2023 02: 56: 09 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 210
Host: 192.168.0.69: 1443
{
"lunName": "lun8",
"targetName": "target8",
"capacity": 500,
"config": {
"sectorSize": 512,
"writePolicy": "WriteThrough",
"path": "/mnt/storage01"
}
}響應示例1
HTTP/1.1 200 OK
x-hblock-request-id: c79736f32fe249cc8c40af6d90d3fd68
Connection: keep-alive
Content-Length: 158
Date: Wed, 18 Oct 2023 02: 56: 09 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target8.2",
"status": "Active",
"ips": [
{
"ip": "192.168.0.202",
"port": 3260
}
],
"serverId": "hblock_1"
}
]
}
}請求示例2
集群版本地卷:創建卷lun08a。
POST /rest/v1/block/lun HTTP/1.1
Date: Thu, 5 Dec 2024 09:11:40 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 529
Host:192.168.0.192:1443
{
"lunName": "lun08a",
"targetName": "target08",
"capacity": 500,
"config": {
"localStorageClass": "EC 2+1",
"minReplica": 3,
"ECfragmentSize": 1024,
"sectorSize": 512,
"cachePool": "default",
"pool": "pool2",
"highAvailability": "ActiveStandby",
"writePolicy": "WriteThrough",
"serverAffinity": {
"autoFailback": "Enabled",
"priority": [
"hblock_1"
]
}
}
}響應示例2
HTTP/1.1 200 OK
x-hblock-request-id: 9430c50b4152442c8401d3fc8f4ced1b
Connection: keep-alive
Content-Length: 303
Date: Thu, 5 Dec 2024 09:11:40 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target08.11",
"status": "Unavailable",
"ips": [
{
"ip": "192.168.0.192",
"port": 3260
}
],
"serverId": "hblock_1"
},
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target08.12",
"status": "Unavailable",
"ips": [
{
"ip": "192.168.0.117",
"port": 3260
}
],
"serverId": "hblock_2"
}
]
}
}請求示例3
單機版上云卷:創建卷luna9。
POST /rest/v1/block/lun HTTP/1.1
Date: Mon, 13 May 2024 09: 50: 20 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 617
Host: 192.168.0.32: 1443
{
"lunName": "luna9",
"targetName": "targeta",
"storageMode": "Storage",
"capacity": 500,
"config": {
"sectorSize": 512,
"writePolicy": "WriteThrough"
},
"cloud": {
"bucketName": "hblocktest3",
"prefix": "hblock1",
"accessKey": "cb22b08b1f9229f85874",
"secretKey": "****************************",
"endpoint": "oos-cn.ctyunapi.cn",
"signVersion": "v4",
"region": "cn",
"objectSize": 1024,
"storageClass": "STANDARD",
"compression": "Enabled"
}
}響應示例3
HTTP/1.1 200 OK
x-hblock-request-id: 2019e40fcec64256b68983a9b03e844e
Connection: keep-alive
Content-Length: 157
Date: Mon, 13 May 2024 09: 50: 20 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:targeta.2",
"status": "Active",
"ips": [
{
"ip": "192.168.0.32",
"port": 3260
}
],
"serverId": "hblock_1"
}
]
}
}請求示例4
集群版上云卷:創建卷lun03a。
POST /rest/v1/block/lun HTTP/1.1
Date: Thu, 9 May 2024 07: 15: 36 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 749
Host: 192.168.0.192: 1443
{
"lunName": "lun03a",
"targetName": "target03",
"capacity": 300,
"storageMode": "Cache",
"config": {
"localStorageClass": "EC 2+1",
"minReplica": 3,
"ECfragmentSize": 1024,
"sectorSize": 512,
"highAvailability": "ActiveStandby",
"writePolicy": "WriteThrough"
},
"cloud": {
"bucketName": "hblocktest2",
"prefix": "hblock",
"accessKey": "d0434d3e9e8dd462d6e0",
"secretKey": "***************************",
"endpoint": "oos-cn.ctyunapi.cn",
"signVersion": "v4",
"region": "cn",
"objectSize": 1024,
"storageClass": "STANDARD",
"compression": "Enabled"
}
}響應示例4
HTTP/1.1 200 OK
x-hblock-request-id: 3d4faf99cb9447bfaa337fd2a63187eb
Connection: keep-alive
Content-Length: 296
Date: Thu, 9 May 2024 07: 15: 36 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target03.7",
"status": "Active",
"ips": [
{
"ip": "192.168.0.192",
"port": 3260
}
],
"serverId": "hblock_2"
},
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target03.8",
"status": "Unavailable",
"ips": [
{
"ip": "192.168.0.102",
"port": 3260
}
],
"serverId": "hblock_3"
}
]
}
}