ceph rbd mysql_Ceph实践之rbd

image

1.创建image

数据存储池保护策略为副本

命令格式:

rbd create {replicated_pool_name}/{image_name} --size {image_size}

rbd create {image_name} --size {image_size} --pool {replicated_pool_name}

eg:

rbd create data/image --size=1024M

rbd create image4 --size 1M --pool data

数据数据池保护策略为纠删码

ceph Luminous支持image的数据池为纠删码,rbd将imge数据存储在纠删码池中,但image头和元数据仍然需要进入副本存储池(所以需要2个存储池,副本存储池做元数据存储池)

命令格式:

rbd create {replicated_pool}/{image_name} --size {image_size} --data-pool {erasure_pool}

rbd create {image_name} --pool {replicated_pool} --size {image_size} --data-pool {image_name}

eg:(data为副本,ec为纠删码)

rbd create data/image_ec --size 1024 --data-pool ec

rbd create image_ec1 --pool data --size 1024 --data-pool ec

在后续的一次实践中发现使用上述命令遇到创建image失败,报错形如:librbd::image::CreateRequest: 0x564b123bcef0 handle_validate_overwrite: pool missing required overwrite support

rbd: create error: (22) Invalid argument

研究后发现,Luminous支持image的数据池为纠删码,必须设置纠删码存储池的allow_ec_overwrites属性为true

问题解决如下:

[root@node81 test]#

[root@node81 test]# rbd create rbd_meta/image_ec --size 1024 --data-pool rbd_data

2018-12-12 02:00:50.926325 7f7033fff700 -1 librbd::image::CreateRequest: 0x564b123bcef0 handle_validate_overwrite: pool missing required overwrite support

rbd: create error: (22) Invalid argument

[root@node81 test]#

[root@node81 test]#

[root@node81 test]# ceph osd pool set rbd_data allow_ec_overwrites true

set pool 4 allow_ec_overwrites to true

[root@node81 test]#

[root@node81 test]#

[root@node81 test]# rbd create rbd_meta/image_ec --size 1024 --data-pool rbd_data

[root@node81 test]#

[root@node81 test]#

[root@node81 test]# rbd info rbd_meta/image_ec

rbd image 'image_ec':

size 1GiB in 256 objects

order 22 (4MiB objects)

data_pool: rbd_data

block_name_prefix: rbd_data.3.1edeb6b8b4567

format: 2

features: layering, exclusive-lock, object-map, fast-diff, deep-flatten, data-pool

flags:

create_timestamp: Wed Dec 12 02:02:03 2018

[root@node81 test]#

2.查看image信息

查看某个存储池下所有image信息,可选参数-l会例举一些扩展信息(快照、克隆、大小等)

命令格式:

rbd ls [ -l ] {pool_name}

eg:

rbd ls -l data

输出形如:

[root@node81 ~]# rbd ls -l data

NAME SIZE PARENT FMT PROT LOCK

clone1 1GiB 2

image 1GiB 2

image@snap 1GiB 2

image2 1GiB 2

image3 1022MiB 2 excl

image3@1 1022MiB 2

image4 1MiB 2

image_ec 1GiB 2

image_ec1 1GiB 2

[root@node81 ~]#

查看某个image详情(大小)

命令格式:

rbd info {pool_name}/{image_name}

eg:

rbd info data/image2</

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值