ceph在线扩盘

2020-06-25 14:56发布

OSD扩容方案使用ceph_deploy进行,扩容后默认一个磁盘设置两个分区,一个分区为data,另一个为journal,其中journal默认分区为2G。

1. 检查ceph状态

ceph -s

ceph osd tree

ceph df

2. 检查硬盘

各节点扩容osd前需要关机插入新磁盘,并最好raid划分工作,raid完成后开机通过lsblk命令查看是否可正常看到要扩容的磁盘

本例中,每台服务器添加两块600G硬盘


3. 设置ceph参数

ceph osd set noout

osd down 超过一定时间,会自动out,数据就平衡走了,noout就是不让它自动out出去,避免不必要的数据平衡

ceph osd set nobackfill

ceph osd set norecover

4. Ceph扩容

各节点内可正常查看到扩容磁盘后,通过ceph_deploy命令开始扩容;

    Ceph-deploy osd create 

云主机备份完毕后,开始备份LVM云硬盘,云硬盘在备份时要先进行卸载;

  1. 添加OSD

ceph-deploy osd create

5. 设置ceph 数据均衡参数

修改pg_num和pgp_num

因osd的增加,ceph集群中每个pool的pg_num和pgp_num就需要进行修改,pg的修改可以参照公式进行:

      pg数=( Target PGs per OSD ) x ( OSD # ) x ( %Data ) /( Size )

Target PGs per OSD : 表示预计osd个数,

        1,假如osd数,以后不会增加,那这个值是100

        2,假如osd数,以后会增长为2倍,那这个值是200

        3,假如osd数,以后会增长为2~3倍,那这个值是300

OSD # :  当前pool的pg所在的osd数量

%Data :  存储到这个pool中的数据在pool所在的osd集合中的大概百分比

Size :  要创建pool的副本数

修改pg和pgp通过命令进行修改;

     ceph osd pool set

Pg修改完成后等待一会,然后修改pgp:

     ceph osd pool set

如果不知道需要修改的pool name可通过命令查看:

     ceph osd dump |grep pool

本例中:volumes和compute都是512,其它都是256

pg backfill调整

现在默认应该只有一个pg backfill

可以加快下速度

查看当前recovery速度

ceph daemon osd.132  config show | egrep “backfill|recovery”

调整recovery速度

ceph tell osd.* injectargs ‘–osd_max_backfills 2’

ceph tell osd.* injectargs ‘–osd_max_backfills 2’  平衡完之后,把这个再改回1

6. 恢复ceph 参数

ceph osd unset noout

ceph osd unset nobackfill

ceph osd unset norecover




登录 后发表评论
0条评论
还没有人评论过~