此操作用來遷移iSCSI target,修改iSCSI target對應的服務器。
說明
一次只允許遷移iSCSI target對應的一個服務器。
注意
執行遷移iSCSI target之前,需要保證集群處于working狀態,同時目的服務器需要處于正常已連接狀態。
目前僅支持強制遷移iSCSI target,強制遷移iSCSI target可能會造成數據丟失。
如果被遷移的iSCSI target已被卷連接,且該卷已經被客戶端掛載,遷移iSCSI target前,需要客戶端與原iSCSI target IQN斷開;遷移后,確保原iSCSI target IQN不能被發現,客戶端重新連接遷移后的iSCSI target IQN。
遷移完成后,請檢查并調整target允許訪問列表配置,確保符合訪問控制要求。
請求語法
PUT /rest/v1/block/target/targetName/migrate?force=force HTTP/1.1
Date: date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"server": [
{
"source": source_server_ID,
"dest": dest_server_ID
}
]
}請求參數
| 參數 | 類型 | 描述 | 是否必填 |
|---|---|---|---|
| targetName | String | iSCSI target名稱。 取值:長度范圍是1~16,可以由小寫字母、數字、句點(.)和短橫線(-)組成,且僅支持以字母或數字開頭。 | 是 |
| force | Boolean | 是否強制遷移iSCSI target。 注意 目前僅支持強制遷移iSCSI target,強制遷移iSCSI target可能會造成數據丟失。 取值:true:強制遷移iSCSI target。 | 是 |
| server | Array of server | 遷移的源和目的服務器集合,詳見“表1 請求參數server說明”。 | 是 |
表1 請求參數server說明
| 參數 | 類型 | 描述 | 是否必填 |
|---|---|---|---|
| source | String | iSCSI target的源服務器ID。 | 是 |
| dest | String | iSCSI target的目標服務器ID。 | 是 |
響應結果
| 名稱 | 類型 | 描述 |
|---|---|---|
| luns | Array of lun | 卷的屬性集合,詳見“表2響應參數lun說明”。 |
表2 響應參數lun說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| lunName | String | 關聯卷的名稱。 |
| iSCSITargets | Array of iSCSITarget | iSCSI target屬性集合,詳見“表3 響應參數iSCSITarget說明”。 |
表3 響應參數iSCSITarget說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| iqn | String | iSCSI target IQN。 |
| status | String | 卷對應的iSCSI target的狀態:
|
| ips | Array of ip | iSCSI target的IP屬性集合,詳見“表4 響應參數ip說明”。 |
| targetPortalIP | Object | iSCSI目標門戶,詳見“表5 響應參數targetPortalIP說明”。 |
表4 響應參數ip說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| ip | String | iSCSI target的IP。 |
| port | Integer | iSCSI target的端口號。 |
表5 響應參數targetPortalIP說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| ips | Array of ip | iSCSI目標門戶的IP屬性集合,詳見“表6 響應參數targetPortalIP.ip說明”。 |
| status | String | iSCSI目標門戶的狀態:
|
表6 響應參數targetPortalIP.ip說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| ip | String | iSCSI目標門戶的IP地址。 |
| port | Integer | iSCSI目標門戶的端口號。 |
請求示例
遷移target01。
PUT /rest/v1/block/target/target01/migrate?force=true HTTP/1.1
Date: Thu, 4 Jul 2024 03: 23: 39 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 95
Host: 192.168.0.192: 1443
{
"server": [
{
"source": "hblock_1",
"dest": "hblock_2"
}
]
}響應示例
HTTP/1.1 200 OK
x-hblock-request-id: 4e88a225b1114c4ca3f2611e336ac431
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Content-Length: 282
Date: Thu, 4 Jul 2024 03: 23: 39 GMT
Server: HBlock
{
"data": {
"luns": [
{
"lunName": "lun01a",
"iSCSITargets": [
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target01.1",
"status": "Active",
"ips": [
{
"ip": "192.168.0.102",
"port": 3260
}
]
},
{
"iqn": "iqn.2012-08.cn.ctyunapi.oos:target01.2",
"status": "Unavailable",
"ips": [
{
"ip": "192.168.0.192",
"port": 3260
}
]
}
]
}
]
}說明
卷關聯的iSCSI target處于Unavailable狀態,表示iSCSI target正在從一個服務器遷移到集群其他服務器上,遷移過程,該iSCSI target處于Unavailable狀態。遷移完成后,iSCSI target將變為Active或者Standby狀態。