美文网首页
ceph学习(七) rbd 使用

ceph学习(七) rbd 使用

作者: Joncc | 来源:发表于2020-05-22 13:38 被阅读0次

    1. 创建块设备映像

    rbd create --size {megabytes} {pool-name}/{image-name}
    

    创建块设备映射之前需要创建对应的存储池

    2. 调整块设备映像大小

    rbd resize --size 2048 foo (to increase)
    rbd resize --size 2048 foo --allow-shrink (to decrease)
    

    3. 删除块设备映像

    rbd rm {rbdname }
    rbd rm {pool_name}/{rbd_name}
    

    4. 映射块设备

    sudo rbd map {pool-name}/{image-name} --id {user-name}
    

    出现这个报错的原因是和Linux内核版本和rbd映像格式有关

    创建rbd的时候可以加上
    -image-feature=layering

    rbd create --size {megabytes} {pool-name}/{image-name} --image-feature=layering
    例:
    rbd create --size 10T test_1/rbd_s1 --image-feature=layering   
    

    rbd支持两种镜像格式 --image-format

    format 1 已经弃用, 为一个新的镜像使用原始的格式。这个格式可以被所有的librbd版本和内核rbd模块所理解,但是不支持最新的特性

    format 2 rbd格式第二版,被librbd和3.1内核版本以上支持。这个格式支持克隆,在将来更容易扩展支持更多的特性

    --image-feature 可以指定rbd format2特性启用或者禁用

     rbd  format2 支持的属性有
    
     layering           BIT码为1
    
     striping            BIT码为2
    
     exclusive-lock   BIT码为4
    
     object-map      BIT码为8
    
      fast-diff           BIT码为16
    
      deep-flatten    BIT码为32
    

    查看当前ceph集群版本支持的rbd 的属性

    ceph --show-config|grep rbd|grep features
    rbd_default_features = 61
    
       61=32+16+8+4+1 即默认支持layering,exclusive-lock,object-map,fast-diff,deep-flatten
    

    前面的报错中显示不支持的代号是0x3c, 这是十六进制,换算成10进制就是60。也就是不支持后面4种特性

    查看当前使用的镜像属性

    rbd info foo
    rbd image 'foo':
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.855f2ae8944a
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:
    
    可以关闭后面4个特性
    
    rbd feature disable rbd/foo exclusive-lock, object-map, fast-diff, deep-flatten
    

    再挂载试试

     rbd map rbd/foo 
    /dev/rbd0
    

    挂载成功

    再查看foo的特性

     rbd info foo
    rbd image 'foo':
        size 1024 MB in 256 objects
        order 22 (4096 kB objects)
        block_name_prefix: rbd_data.855f2ae8944a
        format: 2
        features: layering
        flags:
    

    发现只有一个laytering特性了。

    这样每次创建一个镜像都这样启动和关闭特性比较麻烦,可以修改ceph.conf文件

      rbd_default_features = 3
    

    5. 格式化

    lsblk |grep rbd
    
    mkfs.xfs -K /dev/rbd2 
    

    相关文章

      网友评论

          本文标题:ceph学习(七) rbd 使用

          本文链接:https://www.haomeiwen.com/subject/injqahtx.html