修改单个卷 本节主要介绍如何使用API修改单个卷。 此操作用来修改单个卷的配置。 说明 卷处于启用或禁用状态时可以修改(HBlock 3.9之前版本);卷处于“删除中”、“回滚中”,不能修改卷的配置。 请求语法 本地卷 plaintext PUT /rest/v1/block/lun/lunName HTTP/1.1 Date: date Host: ip:port Authorization: authorization { "config": { "minReplica": minReplica, "redundancyOverlap": redundancyOverlap, "writePolicy": writePolicy, "serverAffinity": { "autoFailback": autoFailback, "priority": [ SeverID,ServerID… ] } } } 上云卷 plaintext PUT /rest/v1/block/lun/lunName HTTP/1.1 Date: date Host: ip:port Authorization: authorization { "config": { "minReplica": minReplica, "redundancyOverlap": redundancyOverlap, "writePolicy": writePolicy, "serverAffinity": { "autoFailback": autoFailback, "priority": [ SeverID,ServerID… ] } }, "cloud": { "compression": compression, "accessKey": accessKey, "secretKey": secretKey, "endpoint": endpoint, "signVersion": signVersion, "region": region } } 请求参数 参数 类型 描述 是否必须 lunName String 卷名称。 取值:长度范围是1~16,只能由字母、数字和短横线()组成,字母区分大小写,且仅支持以字母或数字开头。 是 config.minReplica Integer 最小副本数(仅集群版支持)。 对于副本模式的卷,假设卷副本数为X,最小副本数为Y(Y必须≤X),该卷每次写入时,至少Y份数据写入成功,才视为本次写入成功。对于EC N +M模式的卷,假设该卷最小副本数设置为Y(必须满足N≤Y≤N+M),必须满足总和至少为Y的数据块和校验块写入成功,才视为本次写入成功。 取值:对于副本卷,取值范围是[1, N],N为副本模式卷的副本数;对于EC卷,取值范围是[N, N+M]。 否 config.redundancyOverlap Integer 修改卷的折叠副本数(仅集群版支持)。在数据冗余模式下,同一份数据的不同副本/分片默认分布在不同的故障域,当故障域损坏时,允许根据卷的冗余折叠原则,将多份数据副本放在同一个故障域中,但是分布在不同的path上。 注意 如果存储池故障域级别为path,此参数不生效。 取值:对于副本卷,取值范围是[1, N],N为副本模式卷的副本数;对于EC模式,取值范围是[1, N+M]。 否 config.writePolicy String 卷的写策略。 取值: WriteBack:回写,指数据写入到内存后即返回客户端成功,之后再异步写入磁盘。适用于对性能要求较高,稳定性要求不高的场景。 WriteThrough:透写,指数据同时写入内存和磁盘,并在都写成功后再返回客户端成功。适用于稳定性要求较高,写性能要求不高,且最近写入的数据会较快被读取的场景。 WriteAround:绕写,指数据直接写到磁盘,不写入内存。适用于稳定性要求较高,性能要求不高,且写多读少的场景。 否 config.serverAffinity.autoFailback Object 卷主备分布优先级设置,详见“表1 请求参数config.serverAffinity说明”。 否 cloud.compression String 是否压缩数据上传至对象存储。 取值: Enabled:压缩数据上传至对象存储。 Disabled:不压缩数据上传至对象存储。 否 cloud.accessKey String 对象存储服务的Access Key。 注意 Access Key和Secret Access Key如果要修改,必须同时修改。 否 cloud.secretKey String 对象存储服务的Secret Access Key。 注意 Access Ke和Secret Access Key如果要修改,必须同时修改。 否 cloud.endpoint String 设置对象存储服务的Endpoint。 注意 Endpoint必须与所使用的对象存储服务一一对应:若使用OOS对象存储服务,需填写OOS的Endpoint;若使用兼容S3的其他对象存储服务,则需填写它的Endpoint。 如果仅输入域名将会使用HTTPS协议进行访问。 否 cloud.signVersion String 指定上云签名认证的类型。 取值: v2:V2签名认证。 v4:V4签名认证。 否 cloud.region String 表示Endpoint资源池所在区域。 V4签名时,此项必填。 否 表1 请求参数config.serverAffinity说明 参数 类型 描述 是否必须 autoFailback String 修改是否根据指定的卷主备分布优先级自动进行主备切换(仅集群版支持),即针对卷主备状态,当高优先级的服务器恢复正常后,是否自动进行主备状态切换。 取值: Enabled:自动进行主备切换。 Disabled:不自动进行主备切换。 否 priority Array of priority 修改卷主备分布优先级的服务器ID(仅集群版支持),系统根据指定的服务器ID顺序来选择卷的主备IQN。可以指定一个或者多个服务器ID,以英文逗号分开。 注意 如果为空数组,即[ ],表示清空优先级设置。 取值:服务器ID。 否