资讯专栏INFORMATION COLUMN

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

fancyLuo / 1080人阅读

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

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

注意:
(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}

ceph osd pool create test_pool 128 128 replicated
2. 查看存储池列表
ceph osd lspools
3.创建块设备镜像

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

rbd create --size 10240 test_image  -p test_pool

删除镜像: rbd rm test_pool/test_image

4. 查看块设备镜像

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

hcy@admin_server:~/my-cluster$ rbd info test_pool/test_image
rbd image "test_image":
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.372674b0dc51
    format: 2
    features: layering
    flags: 
    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}

sudo rbd map test_pool/test_image

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

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

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

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

重新映射:

hcy@admin_server:~/my-cluster$ sudo rbd map test_pool/test_image
/dev/rbd0
6. 格式化块设备镜像
sudo mkfs.ext4 /dev/rbd/test_pool/test_image
7. 挂载文件系统
sudo mkdir /mnt/ceph-block-device
sudo chmod 777  /mnt/ceph-block-device
sudo mount /dev/rbd/test_pool/test_image /mnt/ceph-block-device
cd /mnt/ceph-block-device

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

参考:

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元查看
<