故障域配置及管理

升级及配置项

Cluster级别配置

启用故障域需要增加cluster级别的配置,否则无法区分,新增zone是故障域zone还是归属于原有cross_zone

FaultDomain               bool  // 默认false

Volume级别配置

保留:

crossZone        bool  # 跨zone

新增:

default_priority  bool  # true优先选择原有的zone,而不是从故障域里面分配

配置小结

  1. 现有的cluster,无论是自建的,还是社区的,无论是单个zone,还是跨zone,如果需要故障域启用,需要cluster支持,master重启,配置更新,同时管控更新现有volume的策略。否则继续沿用原有策略。
  2. 如果cluster支持,volome不选择使用,则继续原有volome策略,需要在原有zone中按原有策略分配。原有资源耗尽再使用新的zone资源,
  3. 如果cluster不支持,volome无法自己启用的故障域策略
Cluster:faultDomainVol:crossZoneVol:normalZonesFirstRules for volume to use domain
NN/AN/ADo not support domain
YNN/AWrite origin resources first before fault domain until origin reach threshold
YYNWrite fault domain only
YYYWrite origin resources first before fault domain until origin reach threshold

注意事项

故障域解决多zone场景下copysets分布没有规划影响了数据的耐久性的问题,但原有数据不能自动迁移

1.启用故障域后,新区域中的所有设备都将加入故障域

2.创建的volume会优先选择原zone的资源

3.新建卷时需要根据上表添加配置项使用域资源。默认情况下,如果可用,则首先使用原始zone资源

管理命令

创建使用故障域的volume

curl "http://192.168.0.11:17010/admin/createVol?name=volDomain&capacity=1000&owner=cfs&crossZone=true&normalZonesFirst=false"

参数列表

参数类型描述
crossZonestring是否跨zone
normalZonesFirstbool非故障域优先

查看故障域是否启用

curl "http://192.168.0.11:17010/admin/getIsDomainOn"

查看故障域使用情况

curl -v  "http://192.168.0.11:17010/admin/getDomainInfo"

查看故障域copyset group的使用情况

curl "http://192.168.0.11:17010/admin/getDomainNodeSetGrpInfo?id=37"

更新非故障域数据使用上限

curl "http://192.168.0.11:17010/admin/updateZoneExcludeRatio?ratio=0.7"
在github上编辑