此操作用來創建iSCSI Target。
說明
HBlock上target IQN的數量最多32766個。一個target最多可以關聯256個卷,但是一個卷只能被一個target關聯。
請求語法
單機版
POST /rest/v1/block/target HTTP/1.1
Date: date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"targetName": targetName,
"maxSessions": value,
"reclaimPolicy": reclaimPolicy,
"chap":{
"name": name,
"password": password,
"status": status
},
"allowlist": {
"initiator": [
{
"IPs": [ip,ip,...],
"names": [name,name,...]
},
{
"IPs": [ip,ip,...],
"names": [name,name,...]
},
......
],
"target": [
{
"IPs": [ip,ip,...],
"NICs": [NIC,NIC,...]
},
{
"IPs": [ip,ip,...],
"NICs": [NIC,NIC,...]
},
......
]
}
}集群版
POST /rest/v1/block/target HTTP/1.1
Date: date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"targetName": targetName,
"maxSessions": value,
"reclaimPolicy": reclaimPolicy,
"chap":{
"name": name,
"password": password,
"status": status
},
"serverNumbers": value,
"server":["server_ID",…],
"allowlist": {
"initiator": [
{
"IPs": [ip,ip,...],
"names": [name,name,...]
},
{
"IPs": [ip,ip,...],
"names": [name,name,...]
},
......
],
"target": [
{
"IPs": [ip,ip,...],
"NICs": [NIC,NIC,...]
},
{
"IPs": [ip,ip,...],
"NICs": [NIC,NIC,...]
},
......
]
}
}請求參數
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| targetName | String | iSCSI target名稱。 取值:長度范圍是1~16,可以由小寫字母、數字、句點(.)和短橫線(-)組成,且僅支持以字母或數字開頭。 | 是 |
| maxSessions | Integer | iSCSI target下每個IQN允許建立的最大會話數。 取值:取值范圍是[0, 1024],默認值為1。0表示客戶端無法發現該target。 注意 如果多個客戶端連接同一target IQN,客戶端可以同時讀,但不能同時寫。 | 否 |
| reclaimPolicy | String | 指定iSCSI target的回收策略。 取值:
默認值為Retain。 說明 如果創建卷時指定不存在的iSCSI target,那么同時創建iSCSI target,新創建iSCSI target的回收策略默認為Delete。 | 否 |
| chap.name | String | CHAP名稱。 取值:長度范圍是3~64,可以由字母、數字、句點(.)、短橫線(-)、下劃線(_)和冒號(:)組成,字母區分大小寫,且僅支持以字母或數字開頭。 | 否 |
| chap.password | String | CHAP密碼。 取值:長度范圍是12~16,必須包含大寫字母、小寫字母、數字、下劃線(_)中的至少兩種字符,字母區分大小寫。 | 否 |
| chap.status | String | 是否啟用CHAP認證。 取值:
注意 如果啟用CHAP認證,name和password必須設置。 | 是 |
| serverNumbers | Integer | target所在的服務器數量(僅集群版支持)。 取值:[2, n],n為集群內服務器的數量。默認值是2。 | 否 |
| server | Array of string | 指定iSCSI target對應的服務器ID(僅集群版支持)。 最多可以指定n個服務器ID,以英文逗號隔開。n為集群內服務器的數量。 | 否 |
| allowlist.initiator | Array of initiator | 對target下所有IQN指定iSCSI發起方(initiator)允許訪問列表。可以設置多組initiator允許訪問列表,各組允許訪問列表之間為“或”的關系。每組允許訪問列表可以同時指定IP和initiator名稱,二者為“與”的關系。詳見“表1 參數initiator說明”。 說明 如果不設置,則表示允許所有訪問。 | 否 |
| allowlist.target | Array of target | 對target下所有IQN指定目標端(target)的允許訪問列表。可以設置多組target允許訪問列表,各組允許訪問列表之間為“或”的關系。每組允許訪問列表可以同時指定IP和NIC名稱,二者為“與”的關系。詳見“表2 參數target說明”。 說明 如果不設置,則表示允許所有訪問。 | 否 |
表1 參數initiator說明
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| IPs | Array of ip | 根據initiator IP地址設置iSCSI發起方的允許訪問列表。 取值:IPv4、IPv6、CIDR子網,可以設置多個,以英文逗號分隔。如果設置"IPs":[],表示禁止所有發起端進行訪問。 注意 IP不能為localhost。 | 否 |
| names | Array of name | 根據initiator名稱設置iSCSI發起方的允許訪問列表。 取值:字符串形式,長度范圍是1~223,只能由字母、數字、句點( . )、短橫線( - )、冒號( : )組成,字母區分大小寫。支持通配符*和?。可以設置多個,以英文逗號分隔。如果設置"names":[],表示禁止所有發起端進行訪問。 | 否 |
表2 參數target說明
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| IPs | Array of ip | 通過target端IP進行設置target允許訪問列表,表示只允許通過target端的指定IP訪問target。 取值:IPv4、IPv6、CIDR子網,可以設置多個,以英文逗號分隔。如果設置"IPs":[],表示禁止通過target端進行訪問。 注意 IP不能為localhost。 | 否 |
| NICs | Array of NIC | 通過target端的網卡名稱設置target允許訪問列表,表示只允許通過target端的指定網卡訪問target。 取值:target端的網卡名稱,可包含字母、數字、句點(.)、短橫線(-)和下劃線(_),最多100個字符。支持通配符*和?。可以設置多個,以英文逗號分隔。如果設置"NICs":[],表示禁止通過target端進行訪問。 | 否 |
響應結果
| 名稱 | 類型 | 描述 |
|---|---|---|
| iSCSITargets | Array of iSCSITarget | iSCSI target屬性集合,詳見“表3 響應參數iSCSITarget說明”。 |
表3 響應參數iSCSITarget說明
| 名稱 | 類型 | 名稱 |
|---|---|---|
| iqn | String | iSCSI target IQN。 |
| ips | Array of ip | iSCSI target的IP屬性集合,詳見“表4 響應參數ip說明”。 |
| allowlist.initiator | Array of initiator | iSCSI發起方(initiator)允許訪問列表。詳見“表5 響應參數initiator說明”。 |
| allowlist.target | Array of target | 目標端(target)的允許訪問列表。詳見“表6 響應參數target說明”。 |
表4 響應參數ip說明
| 名稱 | 類型 | 名稱 |
|---|---|---|
| ip | String | iSCSI target的IP。 |
| port | Integer | iSCSI target的端口號。 |
表5 響應參數initiator說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| IPs | Array of ip | 根據initiator IP地址設置的iSCSI發起方允許訪問列表。 |
| names | Array of name | 根據initiator名稱設置的iSCSI發起方允許訪問列表。 |
表6 響應參數target說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| IPs | Array of ip | 通過target端IP進行設置的target允許訪問列表,表示只允許通過target端的指定IP訪問target。 |
| NICs | Array of NIC | 通過target端的網卡名稱設置的target允許訪問列表,表示只允許通過target端的指定網卡訪問target。 |
請求示例1
單機版:創建一個名稱為targete的target。
POST /rest/v1/block/target HTTP/1.1
Date: Tue, 14 Feb 2023 07: 58: 44 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 155
Host: 192.168.0.32: 1443
{
"targetName": "targete",
"chap": {
"name": "test",
"password": "12345678901a",
"status": "Enabled"
}
}響應示例1
HTTP/1.1 200 OK
x-hblock-request-id: 8c2a6566e6d84b5e82ac26387c6a50ac
Connection: keep-alive
Content-Length: 217
Date: Tue, 14 Feb 2023 07: 58: 44 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:targete.6",
"ips": [
{
"ip": "192.168.0.32",
"port": 3260
}
]
}
]
}
}請求示例2
單機版:創建一個名稱為targetf的target。
POST /rest/v1/block/target HTTP/1.1
Date: Mon, 18 Aug 2025 02:25:34 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 571
Host: 192.168.0.66:1443
{
"targetName": "targetf",
"allowlist": {
"initiator": [
{
"IPs": [
"192.168.0.70"
],
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
]
},
{
"IPs": [
"192.168.0.67"
]
}
],
"target": [
{
"IPs": [
"192.168.0.66"
]
}
]
}
}響應示例2
HTTP/1.1 200 OK
x-hblock-request-id: ca3aa28f0807489fa4af85833c4de8a7
Connection: keep-alive
Content-Length: 280
Date: Mon, 18 Aug 2025 02:25:34 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:targetf.4",
"ips": [
{
"ip": "192.168.0.66",
"port": 3260
}
],
"allowlist": {
"initiator": [
{
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
],
"IPs": [
"192.168.0.70"
]
},
{
"IPs": [
"192.168.0.67"
]
}
],
"target": [
{
"IPs": [
"192.168.0.66"
]
}
]
}
}
]
}
}請求示例3
集群版:創建一個名稱為target09的target。
POST /rest/v1/block/target HTTP/1.1
Date: Mon, 18 Aug 2025 02:19:06 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 910
Host: 192.168.0.64:1443
{
"targetName": "target09",
"maxSessions": 6,
"serverNumbers": 3,
"server": [
"hblock_1",
"hblock_3"
],
"allowlist": {
"initiator": [
{
"IPs": [
"192.168.0.70"
],
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
]
},
{
"IPs": [
"192.168.0.66"
]
}
],
"target": [
{
"IPs": [
"192.168.0.64",
"192.168.0.67"
]
},
{
"IPs": [
"192.168.0.65"
],
"NICs": [
"eth0"
]
}
]
}
}響應示例3
HTTP/1.1 200 OK
x-hblock-request-id: 1f7fe9f8cd054d629a88f618fac0a878
Connection: keep-alive
Content-Length: 960
Date: Mon, 18 Aug 2025 02:19:06 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target09.17",
"ips": [
{
"ip": "192.168.0.64",
"port": 3260
}
],
"allowlist": {
"initiator": [
{
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
],
"IPs": [
"192.168.0.70"
]
},
{
"IPs": [
"192.168.0.66"
]
}
],
"target": [
{
"IPs": [
"192.168.0.64",
"192.168.0.67"
]
},
{
"IPs": [
"192.168.0.65"
],
"NICs": [
"eth0"
]
}
]
}
},
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target09.18",
"ips": [
{
"ip": "192.168.0.65",
"port": 3260
}
],
"allowlist": {
"initiator": [
{
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
],
"IPs": [
"192.168.0.70"
]
},
{
"IPs": [
"192.168.0.66"
]
}
],
"target": [
{
"IPs": [
"192.168.0.64",
"192.168.0.67"
]
},
{
"IPs": [
"192.168.0.65"
],
"NICs": [
"eth0"
]
}
]
}
},
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target09.19",
"ips": [
{
"ip": "192.168.0.67",
"port": 3260
}
],
"allowlist": {
"initiator": [
{
"names": [
"iqn.1991-05.com.microsoft:songt-0001"
],
"IPs": [
"192.168.0.70"
]
},
{
"IPs": [
"192.168.0.66"
]
}
],
"target": [
{
"IPs": [
"192.168.0.64",
"192.168.0.67"
]
},
{
"IPs": [
"192.168.0.65"
],
"NICs": [
"eth0"
]
}
]
}
}
]
}
}