故障域配置及管理
升级及配置项
Cluster级别配置
启用故障域需要增加cluster级别的配置,否则无法区分,新增zone是故障域zone还是归属于原有cross_zone
FaultDomain bool // 默认false
Volume级别配置
保留:
crossZone bool # 跨zone
新增:
default_priority bool # true优先选择原有的zone,而不是从故障域里面分配
配置小结
- 现有的cluster,无论是自建的,还是社区的,无论是单个zone,还是跨zone,如果需要故障域启用,需要cluster支持,master重启,配置更新,同时管控更新现有volume的策略。否则继续沿用原有策略。
- 如果cluster支持,volome不选择使用,则继续原有volome策略,需要在原有zone中按原有策略分配。原有资源耗尽再使用新的zone资源,
- 如果cluster不支持,volome无法自己启用的故障域策略
Cluster:faultDomain | Vol:crossZone | Vol:normalZonesFirst | Rules for volume to use domain |
---|---|---|---|
N | N/A | N/A | Do not support domain |
Y | N | N/A | Write origin resources first before fault domain until origin reach threshold |
Y | Y | N | Write fault domain only |
Y | Y | Y | Write 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"
参数列表
参数 | 类型 | 描述 |
---|---|---|
crossZone | string | 是否跨zone |
normalZonesFirst | bool | 非故障域优先 |
查看故障域是否启用
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上编辑