美文网首页Ceph
Ceph Luminous部分指令更新(OSD RBD POOL

Ceph Luminous部分指令更新(OSD RBD POOL

作者: KidneyBro | 来源:发表于2018-08-24 18:29 被阅读10次

    不定期更新

    1. 替换OSD

    # destory osd first
    ceph osd destroy {id} --yes-i-really-really-mean-it
    
    # zap disk for new osd
    ceph-volume lvm zap {disk-path} --destroy
    
    # replace new osd with same osd id
    ceph-volume lvm create --osd-id {id} --data {disk-path}
    

    2. 删除OSD

    # purge OSD
    ceph osd purge {osd-id} --yes-i-really-really-mean-it
    # then remove ceph.conf about osd x
    

    3. 存储池

    rbd池关联

    rbd pool init {pool-name}
    

    4. 指定pool application

    ceph osd pool application enable {pool-name}{application-name}
    

    5. 获取/添加元数据

    ceph osd pool application set {pool-name} {pool-type} {key} {value}
    ceph osd pool application get {pool-name} {pool-type} [{pool-type} {key}]
    

    6. 删除存储池

    ceph osd pool delete {pool-name} {pool-name} --yes-i-really-really-mean-it
    

    7. trash-垃圾桶功能

    如果rbd有snapshot或者clone image,也能够放进trash里面,但不能够真正地删除因为内部关联还是存在的

    7.1 查看trash内容
    rbd trash ls {pool-name}
    
    7.2 将image放进trash
    rbd trash mv {pool-name}/{image-name} [--delay <seconds>]
    
    7.3 删除trash的image
    rbd trash rm {pool-name}/{image-id} [--force]
    

    如果前面的mv trash的操作指定了delay时间,且为满足delay时间失效,则需要加上--force才能强制删除trash的image。当删除trash的image后,image才能真正地执行删除操作。

    7.4 恢复trash的image
    rbd trash restore {pool-name}/{image-id} [--image {new-name}]
    

    8. snapshot limit 约束快照数量

    rbd snap limit set {pool-name}/{image-name} --limit {int}
    # clear limit
    rbd snap limit clear {pool-name}/{image-name}
    

    image是否有快照数量约束可以通过rbd info命令查到。当然,其数据均是存储在image header内的,也可以通过

    rados listomapvals rbd_header.{image-id} -p {pool-name}
    

    9. EC-pool rbd

    EC-pool 已经支持完全覆盖写功能,使rbd和cephfs也能够使用ec-pool,但是目前仅限于数据存储,元数据还不能使用ec-pool
    纠删码池创建,并打开允许覆盖写的特性(由于checksuming原因,该特性仅限于Bluestore使用)

    # create
    ceph osd pool create {pool-name} {pg-num} {pgp-num} {erasure [{profile}]}/{rule}
    # allow-overwrite
    ceph osd pool set {ec-pool} allow _ec_overwrite true
    

    rbd image 创建:元数据存储在副本吃中,数据存储在纠删码池

    rbd create {replicated-pool}/{image-name} --size {num} --data-pool {ec-pool}
    

    可以通过rbd info {pool-name}/{image-name} 的方式查看关联的data-pool

    10. flatten copy import

    flatten 已经可以省略不存在的object,在J版本中,即使image是空的,但是flatten时仍然会把所有objects创建起来,现在指挥创建已存在的objects.
    copy和import命令支持稀疏检测,在使用时添加

    rbd cp {pool-name}/{image-name} {dest-pool}/{dest-image} [--sparse-size {numB/K/M}]
    rbd import {file-path} {dest-pool}/{dest-image} [--sparse-size {numB/K/M}]
    

    相关文章

      网友评论

        本文标题:Ceph Luminous部分指令更新(OSD RBD POOL

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