初试Ceph RBD

前提

在公司的BCLinux 7.2 (CentOS 7.2)安装单节点Ceph。

部署完成,ceph -s查看系统处于active+clean状态


阶段1

ceph osd pool create rbd 64 64

rbd create foo --size 1G

rbd map foo --name client.admin

报错一

在执行第三部时,系统报错如下:

报错一

通过/var/log/messages查看日志,信息如下:

日志

解决

网上查阅一大堆资料,比较有用的是,内核版本问题。

查看内核版本uname -r ,发现版本是3.10.*,于是尝试升级内核。

升级步骤如下:

1.导入key

rpm --importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.安装elrepo的yum源

rpm -Uvhhttp://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3. 安装内核

yum --enablerepo=elrepo-kernelinstallkernel-ml-devel kernel-ml -y

4.查看设置默认启动顺序

awk-F\' '$1=="menuentry "{print $2}' /etc/grub2.cfg,显示结果应该是升级后的最新版本的内核在上面,执行以下命令:

grub2-set-default 0

5.重启

reboot


阶段2

报错二

恢复集群后,执行阶段1中的创建块步骤,依然报错:

报错二

学习后发现,RBD块Ceph支持两种格式:

format 1:新建RBD镜像时使用最初的格式,此格式兼容所有版本的librbd和内核模块,但是不支持较新的功能,像克隆。

format 2:使用第二版rbd格式,librbd和3.11版以上内核模块才支持(除非是拆分的模块)。此格式增加了克隆支持,使得扩展更容易,还允许以后增加新功能。

解决

rbd create rbd/test1 --size 10G --image-format 2 --image-feature  layering

rbd ls

rbd map rbd/test1

终于map成功了。


总结

1.J版本Ceph,使用RBD时,需要关注下内核版本。

2.如果内核版本是比较高的,则注意下新建镜像的format格式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统环境: centos73.10.0-514.26.2.el7.x86_64 机器数量:五台 硬盘:四块一块为系...
    think_lonely阅读 4,736评论 0 5
  • 我们说的Linux其实指的就是 内核(kernel)而已。这个内核控制你主机的所有硬件并提供系统所有的功能,所以它...
    Zhang21阅读 7,453评论 0 18
  • 一、概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目。随着云计...
    魏镇坪阅读 49,480评论 3 54
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 原因:2017年4月14日 星期五 学习记录。说明:整理ceph资料。我的博客 : http://minichao...
    nicocoi阅读 8,234评论 1 9