ceph作业01-02

1.为集群创建纠删码erasure-code-profile 其中k4 m2
2.由于客户集群只有三节点,而ec4+2需要至少6节点,因此要求配置ec4+2:1,以满足每个节点上分布两个纠删码块

[root@node01 ceph-deploy]# ceph osd erasure-code-profile set   erasure-code-profile  k=4 m=2
[root@node01 ceph-deploy]# ceph osd erasure-code-profile get erasure-code-profile
crush-device-class=
crush-failure-domain=host
crush-root=default
jerasure-per-chunk-alignment=false
k=4
m=2
plugin=jerasure
technique=reed_sol_van
w=8



#通过纠纠偏码创建pool
[root@node01 ceph-deploy]# ceph osd pool create ecpool 64 64 erasure erasure-code-profile
pool 'ecpool' created


#查看当前crushmap的id
ceph osd getcrushmap -o crushmap


#导出
crushtool -d crushmap -o crushmap.txt


#编辑自己的一部分
vim crushmap.txt


#先查看默认配置
rule ecpool {
        id 1
        type erasure   #类型是纠偏码
        min_size 3    #最少需要3个OSD
        max_size 6    #最多多少osd可被用作纠偏码
        step set_chooseleaf_tries 5     #在一个节点上可以选择最多尝试多少次osd
        step set_choose_tries 100       #在所有节点上做多尝试多少次选择合适的OSD
        step take default      #从default的bucket开始选择
        step chooseleaf indep 0 type host   #indep 0,独立选择
        step emit   #规则完成后开始分配数据
}



#修改配置为2:1.精简的EC结构
rule ecpool {
        id 1
        type erasure
        min_size 3
        max_size 6
        step set_chooseleaf_tries 5     #在一个节点上可以选择最多尝试多少次osd
        step set_choose_tries 100       #在所有节点上做多尝试多少次选择合适的OSD
        step take default
        step choose indep 3 type host   # 注意这里的类型是host   独立选择3个host类型的bucket,也就是选三个不同的节点节点作
        step chooseleaf indep 2 type osd   #注意这里的类型是OSD chooseleaf(选择分片)  在每个主机上(这里一共是3个主机),每个主机上选择2个OSD来存储数据碎片,也就是说通过3个主机,每个主机两个碎片的方式
}

#通过上面修改后的crushmap.txt来生成新的crushmap规则
crushtool -c crushmap.txt -o newcrushmap2

ls



#修改好后,重新应用到集群
[root@node01 ~]# ceph osd setcrushmap -i newcrushmap2
28


#查看已经应用的规则,是否被修改
[root@node01 ~]# ceph osd crush rule dump ecpool
[root@node01 ~]# ceph osd crush rule dump ecpool
{
    "rule_id": 1,
    "rule_name": "ecpool",
    "ruleset": 1,
    "type": 3,
    "min_size": 3,
    "max_size": 6,
    "steps": [
        {
            "op": "set_chooseleaf_tries",
            "num": 5
        },
        {
            "op": "set_choose_tries",
            "num": 100
        },
        {
            "op": "take",
            "item": -1,
            "item_name": "default"
        },
        {
            "op": "choose_indep",
            "num": 3,    #看到已经修改了
            "type": "host"
        },
        {
            "op": "chooseleaf_indep",
            "num": 2,    看到已经被修改了
            "type": "osd"
        },
        {
            "op": "emit"
        }
    ]
}



#测试
停掉两块不同节点上的OSD,集群应该正常工作
停掉三块不同节点上的OSD,集群工作异常
模拟一整节点宕机,集群工作异常
正在测试中

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值