RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中,通常的挂载方式有两种:

公司主营业务:做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出北关免费做网站回馈大家。
- Kernel模块(KRBD)
- 利用QEMU模拟器通过LIBRBD方式
块是一个有序字节,普通的一个块大小为512字节。基于块存储是最常见的方式,常见的硬盘、软盘和CD光驱等都是存储数据最简单快捷的设备。
在物理机上提供块设备时,使用的是Kernel的RBD模块,基于内核模块驱动时,可以使用Linux自带的页缓存(Page Caching)来提高性能。
当在虚拟机(比如QUEM/KVM)提供块设备时,通常是使用LIBVIRT调用librbd库的方式提供块设备。
在部署之前,需要检查内核版本,看是否支持RBD,建议升级到4.5以上版本内核
一. 初始化集群
- 在部署RBD之前,需要先部署一个Ceph 集群,集群状态如下:
- 初始pool
- 创建一个块存储的用户:
- 添加此用户文件到配置目录
二. 创建块设备镜像
- 创建一个指定大小的块设备镜像,这里的size单位为M。 ==在下面的所有命令中,如果不指定pool默认操作名为rbd的pool==
- 查看创建的镜像
- 列出rbd池中将要延迟删除块设备
- 检索镜像的信息:
- 如果有需要,可以给镜像扩容或者缩容
Ceph的块镜像设备是精简配置,在创建他们并指定大小时并不会使用物理存储空间,直到存储数据。但是它们可以通过--size指定最大容量的限制。
- 删除块设备镜像
- 可以将暂时不用的镜像移入trash
- 如果要恢复trash中的镜像可以执行如下命令:
- 如果要在恢复的时候重命名镜像,执行如下命令:
- 删除trash中的镜像,需要使用镜像的ID
提示:
- 即使这个镜像存在快照,或者它自身某一个克隆正在被使用,都可以将镜像移入trash,但是不能从trash中删除。
- 如果想要删除,可以使用-expires-at设置延迟时间(默认为now),如果延迟时间尚未到期,则除非使用-force,否则无法删除
三. 使用内核模块映射RBD
- 检查集群版本和可调参数版本:
- 查看当前存在的镜像
3.在客户端映射块设备(需要安装ceph)
==提示:==
如果在执行映射步骤时出现以下报错,说明当前内核rbd的一些特性并不支持,需要禁用某些特性:
禁用特性:
- 如果设置了密钥认证策略,在映射的时候需要指定密钥,可以是指定keyring文件,也可以是单独保存密钥的文件:
- 查看映射的块存储
- 使用rbd块存储
7 . 如果要卸载设备使用如下命令:
当挂载的rbd 被卸载掉之后,块设备中的数据一般情况下不会丢失(强制重启后可能会损坏数据从而不可用),可以重新挂载到另一个主机上。
RBD支持复制,快照和在线扩容等功能。
RBD 快照
快照是映像在某个特定时间点的一份==只读副本==。 Ceph 块设备的一个高级特性就是你可以为映像创建快照来保留其历史。 Ceph 还支持分层快照,让你快速、简便地克隆映像(如 VM 映像)。 Ceph 的快照功能支持 rbd 命令和多种高级接口,包括 QEMU 、 libvirt 、 OpenStack 和 CloudStack 。
如果在做快照时映像仍在进行 I/O 操作,快照可能就获取不到该映像准确的或最新的数据,并且该快照可能不得不被克隆到一个新的可挂载的映像中。所以,我们建议在做快照前先停止 I/O 操作。如果映像内包含文件系统,在做快照前请确保文件系统处于一致的状态或者使用命令先检查挂载的块设备。要停止 I/O 操作可以使用 fsfreeze 命令。 对于虚拟机,qemu-guest-agent 被用来在做快照时自动冻结文件系统。
- 检查文件系统,在创建快照前冻结IO操作(fsfreeze的更多操作参考: https://blog.pythian.com/fsfreeze-in-linux/),==执行此命令之后所有对此目录文件的操作都会hang住==
- 创建快照:
- 快照创建成功后解除IO冻结
- 查看快照
- 回滚,回滚后的镜像会保留之前的快照数据,但是它是只读的,不能对其进行写入和删除操作。
- 对于挂载的磁盘,需要卸载后重新挂载,如果挂载出现如下错误:
- 挂载后的文件,系统依然是只读的。
- 如果要删除快照,执行如下命令:
RBD 复制
Ceph 可以从快照中克隆写时复制副本,由于快照是只读的,当需要对文件进行修改时,我们可以使用快照创建一个写时复制的副本。(Openstack中,使用这种机制创建新的虚拟机,通常使用快照保存镜像,复制这个快照创建新的虚拟机)
Ceph 仅支持克隆 format 2 的映像(即用 rbd create --image-format 2 创建的,这个在新版中是默认的)。内核客户端从 3.10 版开始支持克隆的映像
具体的流程如下:
- 保护快照。克隆映像要访问父快照。如果用户不小心删除了父快照,所有克隆映像都会损坏。为防止数据丢失,在克隆前必须先保护快照:
- 克隆快照,需要指定父存储池,父映像名和快照,子存储池和子镜像名,可以指定不同的存储池:
查看新创建的镜像:
- 取消快照保护
- 查看快照的生成的子镜像
- 扁平化镜像,使它和父镜像脱离依赖关联,防止父镜像改动后对新镜像产生影响:
- 此时,新生成的镜像就可以任意读写了。
RBD在线扩容
- 对已经挂载的rbd进行扩容:
- 查看扩容后的状态:
- 检查客户机上的容量是否被内核所接受:
- 直接上传超过1G的文件,发现xfs文件系统已经自动扩容了:
RBD 在线缩容 (作死操作,仅用于测试)
- 在执行缩容操作时,确认有足够的空余空间,否则可能会丢失数据:
- 查看缩容后的挂载盘:
- 不建议这样操作。
RBD 卸载
==如果要卸载RBD,存放的数据会丢失。==
- 卸载磁盘,取消映射
- 删除rbd镜像
- 删除池
- 查看集群状态:
分享文章:CephRBD部署与管理
本文地址:http://chengdu.cdxwcx.cn/article/pdipid.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/15509.html