# 新建名为img1的镜像
[root@node1 ~]# rbd create img1 --size 10G
# 查看镜像名确保创建已成功
[root@client1 ~]# rbd list
# 映射为本地硬盘
[root@client1 ~]# rbd map img1
(这里的格式化只需要第一次操作)
# 映射为本地硬盘
[root@client1 ~]# rbd map img1
/dev/rbd0
# 格式化文件系统
[root@client1 ~]# mkfs.ext4 /dev/rbd0
# 查看映射列表
[root@client1 ~]# rbd showmapped
id pool image snap device
0 rbd img1 - /dev/rbd0
# 挂载/mnt目录
[root@client1 ~]# mount /dev/rbd0 /mnt
[root@client1 ~]# df -h /mnt/
文件系统 容量 已用 可用 已用% 挂载点
/dev/rbd0 10G 33M 10G 1% /mnt
# 存入测试数据或者文件
[root@client1 ~]# cp /etc/hosts /mnt/
[root@client1 ~]# cp /etc/passwd /mnt/
# 查看是否存储成功
[root@client1 ~]# ls /mnt/
hosts passwd
[root@node1 ~]# rbd snap create img1 --snap img1-sn1
# 查看快照列表
[root@node1 ~]# rbd snap ls img1
SNAPID NAME SIZE
8 img1-sn1 10240 MB
# 先删除镜像挂载点目录数据文件
[root@client1 ~]# rm -f /mnt/*
# 解除挂载点(防止数据误操作)
[root@client1 ~]# umount /mnt/
# 解除映射
[root@client1 ~]# rbd unmap /dev/rbd0
# 回滚img1到快照img1-sn1
[root@node1 ~]# rbd snap rollback img1 --snap img1-sn1
# 重新映射img1
[root@client1 ~]# rbd map img1
/dev/rbd0
# 查看映射列表
[root@client1 ~]# rbd showmapped
id pool image snap device
0 rbd img1 - /dev/rbd0
#重新挂载(此时不需要进行格式化)
[root@client1 ~]# mount /dev/rbd0 /mnt/
#查看数据是否还原
[root@client1 ~]# ls /mnt/ # 数据还原完成
hosts passwd
# 查看子命令
[root@node1 ~]# rbd --help
# 查看子命令create的帮助
[root@node1 ~]# rbd help create
# 可以通过rbd help查看子命令帮助
[root@node1 ~]# rbd help snap rollback
# 删除快照
[root@node1 ~]# rbd snap remove img1 --snap img1-snap1
# 卸载挂载点
[root@client1 ~]# umount /mnt
# 卸载映射
[root@client1 ~]# rbd unmap /dev/rbd0
# 删除镜像
[root@node1 ~]# rbd rm img1