赞
踩
目录
1 创建一个名为 rbd-xy101 的专门用于 RBD 的存储池
编辑修改RBD镜像特性,CentOS7默认情况下只支持layering和striping特性,需要将其它的特性关闭
将用户的keyring文件和ceph.conf文件发送到客户端的/etc/ceph目录下
先将上一篇博客client节点挂载内容解挂!
ceph osd pool create rbd-xy101 64
ceph osd pool application enable rbd-xy101 rbd
rbd pool init -p rbd-xy101 # -p 等同于 --pool
rbd create -p rbd-xy101 --image rbd-demo1.img --size 10G
- //查看存储池下存在哪些镜像
- rbd ls -l -p rbd-xy101
-
- //查看镜像的详细信息
- rbd info -p rbd-xy101 --image rbd-demo11.img
- rbd image 'rbd-xy101.img':
- size 10 GiB in 2560 objects #镜像的大小与被分割成的条带数
- order 22 (4 MiB objects) #条带的编号,有效范围是12到25,对应4K到32M,而22代表2的22次方,这样刚好是4M
- snapshot_count: 0
- id: 5fc98fe1f304 #镜像的ID标识
- block_name_prefix: rbd_data.5fc98fe1f304 #名称前缀
- format: 2 #使用的镜像格式,默认为2
- features: layering, exclusive-lock, object-map, fast-diff, deep-flatten #当前镜像的功能特性
- op_features: #可选的功能特性
- flags:
-
- //修改镜像大小
- rbd resize -p rbd-xy101 --image rbd-demo1.img --size 20G
-
- rbd info -p rbd-xy101 --image rbd-demo1.img
-
- #使用 resize 调整镜像大小,一般建议只增不减,如果是减少的话需要加选项 --allow-shrink
- rbd resize -p rbd-xy101 --image rbd-demo1.img --size 5G --allow-shrink
-
- //删除镜像
- #直接删除镜像
- rbd rm -p rbd-xy101 --image rbd-demo2.img
- rbd remove rbd-xy101/rbd-demo2.img
-
- #推荐使用 trash 命令,这个命令删除是将镜像移动至回收站,如果想找回还可以恢复
- rbd trash move rbd-xy101/rbd-demo1.img
-
- rbd ls -l -p rbd-xy101
-
- rbd trash list -p rbd-xy101
- 5fc98fe1f304 rbd-demo1.img
-
- #还原镜像
- rbd trash restore rbd-xy101/5fc98fe1f304
-
- rbd ls -l -p rbd-xy101

客户端使用 RBD 有两种方式
- 指定用户标识为client.test-rbd,对另对OSD有所有的权限,对Mon有只读的权限
- ceph auth get-or-create client.test-rbd osd "allow * pool=rbd-xy101" mon "allow r" > ceph.test-rbd.keyring
- rbd feature disable rbd-xy101/rbd-demo1.img object-map,fast-diff,deep-flatten
- rbd info rbd-xy101/rbd-demo1.img
scp ceph.client.test-rbd.keyring ceph.conf client:/etc/ceph
- #安装 ceph-common 软件包
- yum install -y ceph-common
rbd map rbd-xy101/rbd-demo1.img --keyring ceph.client.test-rbd.keyring --user test-rbd
- rbd showmapped
- rbd device list
- 语法格式:
- mkfs -t xfs /dev/rbd0 ##针对xfs文件系统
- mkdir /opt/rbd/
- mount /dev/rbd0 /opt/rbd/
- umount /opt/rbd #解挂
- rbd unmap rbd-xy101/rbd-demo1.img #取消映射
- 在管理节点调整镜像的大小
- rbd resize <存储池名>/<镜像名称> --size 20G
-
- 在客户端刷新设备文件(扩容镜像后在线刷新)
- xfs_growfs /dev/rbd0 #刷新xfs文件系统容量
- resize2fs /dev/rbd0 #刷新ext4类型文件系统容量
-
- xfs_growfs /dev/rbd0
- df -hT
对 rbd 镜像进行快照,可以保留镜像的状态历史,另外还可以利用快照的分层技术,通过将快照克
隆为新的镜像使用
- //在客户端写入文件
- echo 1111 > /data/bb/11.txt
- echo 2222 > /data/bb/22.txt
- echo 3333 > /data/bb/33.txt
- //在管理节点对镜像创建快照
- rbd snap create --pool rbd-xy101 --image rbd-demo1.img --snap demo1_snap1
-
- 可简写为:
- rbd snap create rbd-xy101/rbd-demo1.img@demo1_snap1
-
- //列出指定镜像所有快照
- rbd snap list rbd-xy101/rbd-demo1.img
-
- #用json格式输出:
- rbd snap list rbd-xy101/rbd-demo1.img --format json --pretty-format
-
- //回滚镜像到指定
- 在回滚快照之前,需要将镜像取消镜像的映射,然后再回滚
- rm -rf /data/bb/*
- umount /data/bb
- rbd unmap rbd-xy101/rbd-demo1.img
rbd snap rollback rbd-xy101/rbd-demo1.img@demo1_snap1
- rbd map rbd-xy101/rbd-demo1.img --keyring /etc/ceph/ceph.client.test-rbd.keyring --user test-rbd
- mount /dev/rbd0 /data/bb
- ls /data/bb #发现数据还原回来了
- //限制镜像可创建快照数
- rbd snap limit set rbd-xy101/rbd-demo1.img --limit 3
-
- #解除限制:
- rbd snap limit clear rbd-xy101/rbd-demo1.img
-
- //删除快照
- #删除指定快照:
- rbd snap rm rbd-xy101/rbd-demo1.img@demo1_snap1
-
- #删除所有快照:
- rbd snap purge rbd-xy101/rbd-demo1.img
快照分层支持用快照的克隆生成新镜像,这种镜像与直接创建的镜像几乎完全一样,支持镜像的所
有操作。唯一不同的是克隆镜像引用了一个只读的上游快照,而且此快照必须要设置保护模式
- #快照克隆
- 1)将上游快照设置为保护模式:
- rbd snap create rbd-xy101/rbd-demo1.img@demo1_snap666
-
- rbd snap protect rbd-xy101/rbd-demo1.img@demo1_snap666
-
- 2)克隆快照为新的镜像
- rbd clone rbd-xy101/rbd-demo1.img@demo1_snap666 --dest rbd-xy101/rbd-demo666.img
-
- rbd ls -p rbd-xy101
-
- 3)命令查看克隆完成后快照的子镜像
- rbd children rbd-xy101/rbd-demo1.img@demo1_snap666
通常情况下通过快照克隆而得到的镜像会保留对父快照的引用,这时候不可以删除该父快照,否会
有影响
- rbd snap rm rbd-xy101/rbd-demo1.img@demo1_snap666
- #报错 snapshot 'demo1_snap666' is protected from removal.
如果要删除快照但想保留其子镜像,必须先展平其子镜像,展平的时间取决于镜像的大小
- 1) 展平子镜像
- rbd flatten rbd-xy101/rbd-demo666.img
- 2)取消快照保护
- rbd snap unprotect rbd-xy101/rbd-demo1.img@rbd-demo1.snap666
- 3)删除快照
- rbd snap rm rbd-xy101/rbd-demo1.img@rbd-demo1.snap666
-
-
- rbd ls -l -p rbd-demo #在删除掉快照后,查看子镜像依然存在
rbd export rbd-xy101/rbd-demo666.img /opt/rbd-demo666.img
- client节点
- #取消挂载、映射
- umount /opt/rbd
- rbd unmap rbd-xy101/rbd-demo1.img
-
- admin节点
- #清除镜像下的所有快照,并删除镜像
- rbd snap rm rbd-xy101/rbd-demo1.img --snap rbd-demo1.snap1 #删除快照
- rbd rm rbd-xy101/rbd-demo1.img
- rbd rm rbd-xy101/rbd-demo666.img #删除镜像
-
- #导入镜像
- rbd import /opt/rbd-demo666.img rbd-xy101/rbd-demo666.img
-
- rbd ls -l -p rbd-xy101
- admin节点
- CentOS7默认情况下只支持layering和striping特性,需要将其它的特性关闭
- bd feature disable rbd-xy101/rbd-demo666.img object-map, fast-diff, deep-flatten
-
- rbd info rbd-xy101/rbd-demo666.img #查看镜像详细情况
-
- client节点重新做映射、挂载
- rbd map rbd-xy101/rbd-demo666.img --keyring ceph.client.test-rbd.keyring --user test-rbd
- rbd showmapped #查看
- mount /dev/rbd0 /opt/rbd/
- ls /opt/rbd
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。