资讯专栏INFORMATION COLUMN

Ceph v12.2 Luminous 块存储(RBD)搭建

fancyLuo / 1374人阅读

摘要:还是上篇文章说的,搭建块存储之前,先把官方的文档看一遍,保证获益匪浅。传送门官方文档注意块存储最好不要安装在节点,可以安装在节点节点或其他节点。在版本,在创建集群时,不会自动创建默认的池。参考块存储之相关命令

</>复制代码

  1. 还是上篇文章说的,搭建块存储之前,先把官方的文档看一遍,保证获益匪浅。
    传送门:Ceph官方文档

  2. 注意:
    (1) rbd块存储最好不要安装在osd节点,可以安装在mon节点、admin节点或其他节点。如果安装在其他节点请按上一篇文章步骤安装ceph。
    (2) 在luminous版本,在创建集群时,不会自动创建默认的’rbd’池。这是跟旧版本比较大的区别。

1. 创建pool

创建存储池: ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] [expected-num-objects]
删除存储池: ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
重命名存储池: ceph osd pool rename {current-pool-name} {new-pool-name}

</>复制代码

  1. ceph osd pool create test_pool 128 128 replicated
2. 查看存储池列表

</>复制代码

  1. ceph osd lspools
3.创建块设备镜像

创建块设备镜像命令是rbd create --size {megabytes} {pool-name}/{image-name},如果pool_name不指定,则默认的pool是rbd。 下面的命令将创建一个10GB大小的块设备:

</>复制代码

  1. rbd create --size 10240 test_image -p test_pool

删除镜像: rbd rm test_pool/test_image

4. 查看块设备镜像

查看块设备的命令是rbd info {pool-name}/{image-name}

</>复制代码

  1. hcy@admin_server:~/my-cluster$ rbd info test_pool/test_image
  2. rbd image "test_image":
  3. size 1024 MB in 256 objects
  4. order 22 (4096 kB objects)
  5. block_name_prefix: rbd_data.372674b0dc51
  6. format: 2
  7. features: layering
  8. flags:
  9. create_timestamp: Sat Sep 23 18:16:28 2017

注意到上面的rbd info显示的RBD镜像的format为2,Format 2的RBD镜像支持RBD分层,是实现Copy-On-Write的前提条件。

5.将块设备映射到系统内核

块设备映射到操作系统的命令是rbd map {image-name}

</>复制代码

  1. sudo rbd map test_pool/test_image

取消映射: rbd unmap test_pool/test_image
此时如果打印:

</>复制代码

  1. rbd: sysfs write failed
  2. RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
  3. In some cases useful info is found in syslog - try "dmesg | tail" or so.
  4. rbd: map failed: (6) No such device or address

表示当前系统不支持feature,禁用当前系统内核不支持的feature:

</>复制代码

  1. rbd feature disable test_pool/test_image exclusive-lock, object-map, fast-diff, deep-flatten

重新映射:

</>复制代码

  1. hcy@admin_server:~/my-cluster$ sudo rbd map test_pool/test_image
  2. /dev/rbd0
6. 格式化块设备镜像

</>复制代码

  1. sudo mkfs.ext4 /dev/rbd/test_pool/test_image
7. 挂载文件系统

</>复制代码

  1. sudo mkdir /mnt/ceph-block-device
  2. sudo chmod 777 /mnt/ceph-block-device
  3. sudo mount /dev/rbd/test_pool/test_image /mnt/ceph-block-device
  4. cd /mnt/ceph-block-device

</>复制代码

  1. 至此,Ceph的块设备搭建已完成。但是目前我遇到了一个问题,两台Client机器挂载了同一个镜像,两台机器的文件列表不能保持同步,可能要用到rbd mirror相关的知识,这方面还没接触,后续跟进更新。

  2. 参考:

Ceph块存储之RBD
ceph pool相关命令

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30665.html

相关文章

  • Ceph v12.2 Luminous基于ubuntu16.04集群部署

    摘要:第一次接触集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。应该为每个运行的机器添加一个,否则集群处于状态。至此的集群搭建算是完成了,下一步会进行块设备的搭建。参考分布式存储部署手册如何在中安装存储集群部署版 第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。由于Luminous12.2刚发布不久,部署起来跟旧版本还...

    MiracleWong 评论0 收藏0
  • Rancher如何对接Ceph-RBD存储

    摘要:就目前而言,在支持的三种接口块存储和对象存储接口中,块存储是目前最稳定且达到生产环境要求的接口。月日,北京海航万豪酒店,容器技术大会即将举行。 概要 演示环境说明 整个测试环境由以下2台本地虚拟机组成,相关信息说明如下: showImg(https://segmentfault.com/img/bVScmU?w=811&h=138); 引言 Librbd(RBD)是Ceph提供的块存储...

    instein 评论0 收藏0
  • 跟我学 K8S--运维: helm 安装 ceph 到 kubernetes 集群

    摘要:参考官方文档进行操作本文假设环境正常运行,并且已经安装。只能以单副本运行部署运行命令来安装等待一段时间执行完成后,通过如下命令确定集群是否成功运行检查的状态检查集群状态至此,集群部署完成。 参考 ceph 官方文档进行操作: http://docs.ceph.com/docs/mas... 本文假设kubernetes 环境正常运行,并且 host 已经安装 helm client。 ...

    marser 评论0 收藏0
  • kubernetes挂载存储

    摘要:本文主要介绍如何用挂载目录。如何创建参照上目录下的范例,我们可以创建一个挂载存储的容器。到这里,就可以确定容器已经正常启动并挂载了一个的存储块。除非强制指定另块被挂载后,写入数据是可以很快同步的具体多久需要调查,而读取数据只能在后同步。 本文主要介绍如何用kubernentes挂载rbd目录。以及其中遇到的问题。有关ceph和rbd相关请自行百度。 如何创建 参照github上kube...

    alighters 评论0 收藏0
  • kubernetes挂载存储

    摘要:本文主要介绍如何用挂载目录。如何创建参照上目录下的范例,我们可以创建一个挂载存储的容器。到这里,就可以确定容器已经正常启动并挂载了一个的存储块。除非强制指定另块被挂载后,写入数据是可以很快同步的具体多久需要调查,而读取数据只能在后同步。 本文主要介绍如何用kubernentes挂载rbd目录。以及其中遇到的问题。有关ceph和rbd相关请自行百度。 如何创建 参照github上kube...

    LiuZh 评论0 收藏0

发表评论

0条评论

fancyLuo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<