UIS6.5/7.0版本、ONEStor3.0版本
某局点客户因为性能调优的需要,将数据池的副本数从三副本修改为两副本
副本数的修改,请谨慎操作,对于数据安全可能产生影响,如有需要建议首先联系用服二线进行方案评估。
1、副本数的修改可以从三副本改为两副本,也可以从两副本改为三副本。
2、三副本改为两副本的情况,不会触发数据均衡,旧的数据依然保持三副本,新写入的数据会是两副本。
3、由两副本改为三副本,数据占用的容量增加,务必保证改为三副本后,集群还有足够的空间。
4、因为调整副本数会引发数据的平衡,降低集群的性能,建议直接在断业务下进行操作。若客户实在没有办法协调停机窗口,请在业务不繁忙的时候进行操作,降低对客户业务的影响,并同时申请用服二线进行风险评估。
ONEStor两副本和三副本区别如下:
三副本的最小工作副本数是二,两副本的最小工作副本数是一,当数据满足最小工作副本数时,集群可以正常对外提供服务;若存在有数据小于最小工作副本数时,集群会暂停对外服务。所以三副本的场景下,故障一个副本,集群可以正常工作,若在未完全恢复前又故障了一个副本,集群将无法对外提供服务,但数据不会丢失。二副本的情况下,故障一个副本,可以对外提供服务,若在未完全恢复前又故障了一个副本,集群将无法对外提供服务,数据也会丢失。
所以两副本的情况下,存在数据丢失的风险。
副本数修改方法:
1、handy节点操作。首先使用命令:ceph osd pool ls detail,查看数据池的名称:
如图pool1是默认创建的元数据池,前台看不到,pool2即为要修改的数据池,size 3表示副本数为3,min_size 2表示最小副本数为2。
2、执行ceph osd pool set 存储池名称 size X和ceph osd pool set 存储池名称 min_size X,修改副本数和最小副本数。对于要修改的数据池defaultDataPool,即修改size为2,min_size为1。(对于UIS环境,需要同步修改元数据池副本数为2,否则会出现前台显示异常。)
执行完成后再次查看副本数,可以看到副本数已经完成修改。
3、后台修改完成后需要进入数据库中修改,执行sudo -u postgres psql calamari,进入数据库,之后执行select * from op_cluster_pool;查看当前信息。
如图可以看到,数据库中的副本数还未调整,需要手动进行修改。
4、需要修改的参数有三个,replicate_num、size、min_size,使用命令update op_cluster_pool set replicate_num='2',size=2,min_size='1' where pool_name='dafaultDataPool';
此处pool_name同样是要修改的数据池名称,replicate_num和size相同,都修改为2.(UIS环境元数据池也需要修改)
修改完成后再次查看,如下
5、此时副本数已修改完成,退出数据库使用\q,前台查看数据池副本数,已修改为2副本,状态正常。(如两副本修改为三副本,则会触发数据均衡,此时需要等待数据均衡完成,存储才会恢复健康)
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
handy当前工作节点执行