此操作用來升級HBlock。
說明
可以通過查詢升級進度接口查詢升級服務是否完成。
升級過程中系統會做檢查,如果不符合升級條件,可能會導致升級失敗,升級失敗的原因可以在執行升級操作的服務器上查看日志upgrade.log(日志路徑:HBlock安裝目錄/logs/ops/upgrade.log)。建議升級之前對系統進行檢查,確保:
所有狀態正常:
所有HBlock服務器連接正常,沒有處于刪除狀態的服務器。
HBlock處于working、upgrading狀態。
軟件許可證證書在有效期內,且本地卷總容量未超過許可證容量限制;或者試用期未結束。
如果卷是高可用類型,至少保證卷的主備連接正常。
沒有處于失敗或者任務進行中狀態的卷。
系統整體數據冗余度不降級,正常數據百分比為100%。并且,可用故障域數量和健康數量大于所有卷的寫入需求。
升級監聽服務(stor:ua)正常。
協議解析服務(stor:ps)正常。
基礎服務正常:元數據管理服務(stor:mdm)、日志服務(stor:ls)、協調服務(stor:cs)。
HBlock使用的磁盤不存在Error狀態。
注意
執行升級HBlock前,確保每個服務器的HBlock安裝路徑對應的文件系統,存在至少1 GiB的可用空間。
如果集群由不同架構服務器組成,請添加所有架構的升級文件,并保持版本一致。
請求語法
同架構升級:
PUT /rest/v1/system/upgrade HTTP/1.1
Date: date
Content-Type: application/zip
Content-Length: length
x-update-parameter: key1=value1;key2=value2
Host: ip:port
Authorization: authorization
<upgradeFile>混合部署升級(僅集群版支持):
POST /rest/v1/system/upgrade HTTP/1.1
Date: date
Content-Type: multipart/form-data; boundary=value
Content-Length: length
Content-MD5: MD5
x-update-parameter: key1=value1;key2=value2
Host: ip:port
Authorization: authorization
upgradeFile1name:upgradeFile1
upgradeFile2name:upgradeFile2
……請求頭
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| Content-Type | String | 請求體MIME類型。 取值:
boundary是一個分隔符,用于分隔表單中的不同字段,它的值由瀏覽器或客戶端生成,通常是隨機的。 | 否 |
| x-update-parameter | String | 升級至HBlock目標版本時,若該版本需導入參數,則須設置此項。具體參數設置應依據目標版本而定。若目標版本需多個參數,按key1=value1;key2=value2….的形式添加多個即可。 key為參數名,value為參數值,以“;”分割。 | 否 |
請求參數
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| upgradeFile | 無 | 升級安裝包的文件流。 如果集群使用的混合部署,需要上傳集群中所有架構的升級安裝包。 | 是 |
請求示例
升級HBlock服務。
PUT /rest/v1/system/upgrade HTTP/1.1
Date: Wed, 16 Apr 2025 02:33:55 GMT
Content-Type: multipart/form-data; boundary=--------------------------376560147304188301045278
Authorization: HBlock userName:signature
Content-Length: 187960472
Host: 192.168.0.665:1443
upgradeFile: upgradeFile響應示例
HTTP/1.1 202 Accepted
Date: Wed, 16 Apr 2025 02:33:55 GMT
Content-Length: 0
Connection: keep-alive
x-hblock-request-id: c745e6cdd7264125841cf8be09571aa2
Server: HBlock