长春网站,vantage wordpress,站群是什么意思,无锡住房和城乡建设官网文章目录 1.Reblanceing数据重分布的概念2.验证Reblanceing触发的过程3.Reblanceing细节4.临时关闭Reblanceing机制 1.Reblanceing数据重分布的概念
当集群中OSD进行扩缩容操作后#xff0c;会触发一个Reblanceing数据重分布的机制#xff0c;简单的理解就是将扩缩容前后OSD… 文章目录 1.Reblanceing数据重分布的概念2.验证Reblanceing触发的过程3.Reblanceing细节4.临时关闭Reblanceing机制 1.Reblanceing数据重分布的概念
当集群中OSD进行扩缩容操作后会触发一个Reblanceing数据重分布的机制简单的理解就是将扩缩容前后OSD中的PG在每一个OSD中进行均匀分布如下图所示 在扩容前集群有两个OSD节点这两个OSD中分布着十个PG扩容后集群中有三个OSD节点此时就会触发Reblanceing数据重分布机制将原有的两个OSD中的一部分PG移动到第三个OSD中使的每个OSD中的PG数量均衡。
Reblanceing数据重分布移动的是PG并不是ObjectObject是存放在PG里的如果要移动Object数据量是非常大的并且Object的数据也非常多严重影响集群的性能而PG的数量是有限的移动PG是最好的方式。
Reblanceing数据重分布机制如何触发 当集群中有新的OSD加入进来后会将信息上报给MonitorMonitor就会从Cluster Map中得知OSD Map发送了变化只要OSD Map发送了变化就会触发Reblanceing机制使OSD中的PG平滑的移动到新的OSD。 在实际生产环境中如果PG中的数据量非常大在触发Reblanceing机制时会对集群的性能有所影响如果一次性增加很多个OSD节点那么就意味着会有大量的PG被移动此时就会对集群的性能产生巨大的影响因此建议每次在扩容OSD时只扩容一个OSD。
2.验证Reblanceing触发的过程
向Ceph存储中写入大量数据然后扩容一个OSD节点观察Reblanceing的触发过程。
1在Ceph存储中写入大量的数据
[rootceph-node-1 ~]# cd /cephfs_data/
[rootceph-node-1 cephfs_data]# dd if/dev/zero ofreblanceing-file.txt bs1M count81922新加一个OSD
[rootceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-2 --data /dev/sdd3观察Reblanceing机制的触发过程
[rootceph-node-1 ~]# ceph -s视频 Reblanceing触发过程 3.Reblanceing细节
在触发Reblanceing机制后PG的迁移是比较慢的那是因为OSD默认情况下只有一个线程将线程数适当增加可以提高迁移的速度但是也会消耗部分的性能。
[rootceph-node-1 ceph-deploy]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config show | grep max_backfillsosd_max_backfills: 1,触发Reblanceing机制后集群是使用配置的cluster_network进行通信的在实际环境中一定要将public_network和cluster_network网络分开并且cluster_network网络要使用万兆口可以提高速度。
4.临时关闭Reblanceing机制
在做Reblanceing时如果集群正面临着业务繁忙此时再使用Reblanceing就会对集群的性能产生影响可以临时关闭Reblanceing当业务量较小时再开启。
1关闭Reblanceing
1.关闭Reblanceing
[rootceph-node-1 ~]# ceph osd set norebalance
norebalance is set
[rootceph-node-1 ~]# ceph osd set nobackfill
nobackfill is setnobackfill也会做数据填充也需要关闭2.查看集群的状态
[rootceph-node-1 ~]# ceph -scluster:id: a5ec192a-8d13-4624-b253-5b350a616041health: HEALTH_WARNnobackfill,norebalance flag(s) set #reblanceing处于关闭状态2开启Reblanceing
[rootceph-node-1 ~]# ceph osd unset nobackfill
nobackfill is unset
[rootceph-node-1 ~]# ceph osd unset norebalance
norebalance is unset