分布式存储系统之Ceph集群RBD基础使用( 四 )

提示:我们使用rbd map指定用户 , 指定存储池和image即可连入ceph集群 , 将指定存储池里的image映射为本地的磁盘设备;
查看映射的image
[root@ceph-admin ~]# rbd showmappedid poolimage snap device0ceph-rbdpool vol01 -/dev/rbd0[root@ceph-admin ~]#提示:这种手动命令行连入ceph的方式 , 一旦客户端重启 , 对应连接就断开了 , 所以如果我们需要开机自动连入ceph集群使用rbd磁盘 , 我们还需要将对应信息写进/etc/rc.d/rc.local文件中 , 并给该文件加上可执行权限即可;
手动断开映射
[root@ceph-admin ~]# rbd unmap ceph-rbdpool/vol01[root@ceph-admin ~]# rbd showmapped[root@ceph-admin ~]#调整image的大小
命令格式:rbd resize [--pool <pool>] [--image <image>] --size <size> [--allow-shrink] [--no-progress] <image-spec>
增大空间:rbd resize [--pool <pool>] [--image <image>] --size <size>
减少空间:rbd resize [--pool <pool>] [--image <image>] --size <size> [--allow-shrink]
[root@ceph-admin ~]# rbd create --size 2G ceph-rbdpool/vol02[root@ceph-admin ~]# rbd ls-p ceph-rbdpoolvol01vol02[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2vol02 2 GiB2[root@ceph-admin ~]# rbd resize --size 10G ceph-rbdpool/vol02Resizing image: 100% complete...done.[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol015 GiB2vol02 10 GiB2[root@ceph-admin ~]# rbd resize --size 8G ceph-rbdpool/vol02Resizing image: 0% complete...failed.rbd: shrinking an image is only allowed with the --allow-shrink flag[root@ceph-admin ~]# rbd resize --size 8G ceph-rbdpool/vol02 --allow-shrinkResizing image: 100% complete...done.[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2vol02 8 GiB2[root@ceph-admin ~]#提示:缩减空间大小不能少见到小于已用空间大小;
删除image
命令格式:rbd remove [--pool <pool>] [--image <image>] [--no-progress] <image-spec>
[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2vol02 8 GiB2[root@ceph-admin ~]# rbd rm ceph-rbdpool/vol02Removing image: 100% complete...done.[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2[root@ceph-admin ~]#提示:这种方式删除image以后 , 对应镜像就真的被删除了 , 如果有数据想恢复就不行了;所以这种方式不推荐;RBD提供回收站的功能 , 我们可以先将要删除的image移入回收站 , 如果确实不要了 , 可以再从回收站删除即可;
将image移入回收站
[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2[root@ceph-admin ~]# rbd trash mv ceph-rbdpool/vol01[root@ceph-admin ~]# rbd trash ls ceph-rbdpool149196b8b4567 vol01[root@ceph-admin ~]# rbd ls-p ceph-rbdpool -l[root@ceph-admin ~]#将image从回收站删除
[root@ceph-admin ~]# rbd trash ls ceph-rbdpool149196b8b4567 vol01149e26b8b4567 vol02[root@ceph-admin ~]# rbd trash rm --pool ceph-rbdpool --image-id 149e26b8b4567Removing image: 100% complete...done.[root@ceph-admin ~]# rbd trash ls ceph-rbdpool149196b8b4567 vol01[root@ceph-admin ~]#提示:上述命令是删除回收站里指定image , 如果想要清空回收站直接使用rbd trash purge 指定存储池 , 表示清空回收站指定存储池里的镜像;
将image从回收站恢复(移回到原有存储池)
[root@ceph-admin ~]# rbd ls -p ceph-rbdpool -l[root@ceph-admin ~]# rbd trash ls ceph-rbdpool149196b8b4567 vol01[root@ceph-admin ~]# rbd trash restore --pool ceph-rbdpool --image-id 149196b8b4567[root@ceph-admin ~]# rbd trash ls ceph-rbdpool[root@ceph-admin ~]# rbd ls -p ceph-rbdpool -lNAMESIZE PARENT FMT PROT LOCKvol01 5 GiB2[root@ceph-admin ~]#

经验总结扩展阅读