Ceph rbd 命令日常操作

查看某个 pool 下的 img

rbd -p ceph-demo ls

创建 img

rbd create ceph-demo/ceph-trash.img --size 1G

删除 img

rbd rm ceph-demo/ceph-trash.img

把 img 移到回收站

rbd create ceph-demo/ceph-trash.img --size 1G
rbd trash move ceph-demo/ceph-trash.img --expires-at 20210612
rbd trash -p ceph-demo ls

把 img 从回收站中恢复

[root@node-1 ~]# rbd trash -p ceph-demo ls
3e199935e4ead ceph-trash.img

rbd trash restore -p ceph-demo 3e199935e4ead
rbd -p ceph-demo ls

查看 img 实际使用了多少容量

# ceph osd lspools
# rbd -p rbd ls
rbd diff rbd/harbor-registry |awk '{ SUM += $2 } END { print SUM/1024/1024/1024 " GB" }'

创建快照

# 创建 img
rbd create ceph-demo/rbd-test.img --image-feature layering --size 1G

rbd info ceph-demo/rbd-test.img

# 挂载 img
rbd device map ceph-demo/rbd-test.img

# 格式化 img
mkfs.ext4 /dev/rbd0

mount /dev/rbd0 /media/

# 写入测试数据
cd /media/
echo "aaa" > 1.txt

# 创建快照
rbd snap create ceph-demo/rbd-test.img@snap_20210612

# 查看 img 下有多少快照
rbd snap ls ceph-demo/rbd-test.img

测试回滚快照

cd /media/
rm -f 1.txt 

cd

# 回滚
rbd snap rollback ceph-demo/rbd-test.img@snap_20210612

# 重新挂载
umount /media/
mount /dev/rbd0 /media/
cat /media/1.txt 

取消挂载

rbd device unmap ceph-demo/rbd-test.img

删除快照

rbd snap remove ceph-demo/rbd-test.img@snap_20210612

克隆快照,保护快照

rbd snap create ceph-demo/rbd-test.img@template
rbd snap ls ceph-demo/rbd-test.img
rbd snap protect ceph-demo/rbd-test.img@template
rbd clone ceph-demo/rbd-test.img@template ceph-demo/vm1-clone.img
rbd -p ceph-demo ls
rbd -p ceph-demo info vm1-clone.img

挂载快照和查看快照模板下有多少个克隆

rbd device map ceph-demo/vm1-clone.img
mkdir /mnt/vm1-clone
mount /dev/rbd0 /mnt/vm1-clone/
ll /mnt/vm1-clone/
rbd children ceph-demo/rbd-test.img@template

让克隆的快照成为独立的img

rbd flatten ceph-demo/vm1-clone.img
rbd info ceph-demo/vm1-clone.img

取消快照保护

rbd snap unprotect ceph-demo/rbd-test.img@template

查看挂载的设备

rbd device ls

导出和导入快照

rbd snap create ceph-demo/rbd-test.img@snap-demo
rbd export ceph-demo/rbd-test.img@snap-demo /root/rbd-test.img

# 导入快照,新名为 rbd-test-new.img
rbd import /root/rbd-test.img ceph-demo/rbd-test-new.img

初始化这个pool 为 RBD (不加时默认为rbd)

rbd pool init ceph-demo
posted @ 2021-06-13 20:41  klvchen  阅读(261)  评论(0)    收藏  举报