此操作用来升级HBlock。
说明
可以通过查询升级进度接口查询升级服务是否完成。
升级过程中系统会做检查,如果不符合升级条件,可能会导致升级失败,升级失败的原因可以在执行升级操作的服务器上查看日志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 | 请求体MIME类型。如果是同架构升级,取值为application/zip;如果混合部署升级,取值为multipart/form-data; boundary=value,其中boundary是一个分隔符,用于分隔表单中的不同字段,它的值由浏览器或客户端生成,通常是随机的。 | 否 |
x-update-parameter | 升级至HBlock目标版本时,若该版本需导入参数,则须设置此项。具体参数设置应依据目标版本而定。若目标版本需多个参数,按key1=value1;key2=value2….的形式添加多个即可。 key为参数名,value为参数值,以“;”分割。 | 否 |
upgradeFile | 升级安装包的文件流。 如果集群使用的混合部署,需要上传集群中所有架构的升级安装包。 | 是 |
请求示例
升级HBlock服务。
PUT /rest/v1/system/upgrade HTTP/1.1
Date: Tue, 14 Jan 2025 09:40:35 GMT
Content-Type: application/zip
Authorization: HBlock userName:signature
Content-Length: 186862084
Host: 192.168.0.192:1443
upgradeFile: undefined
响应示例
HTTP/1.1 202 Accepted
Date: Tue, 14 Jan 2025 09:40:35 GMT
Content-Length: 0
Connection: keep-alive
Content-Type: application/json; charset=utf-8
x-hblock-request-id: c745e6cdd7264125841cf8be09571aa2
Server: HBlock