1. 云栖社区>
  2. PHP教程>
  3. 正文

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

作者:用户 来源:互联网 时间:2017-11-30 16:10:48

存储搭建cephLuminous12.2RBD

Ceph v12.2 Luminous 块存储(RBD)搭建 - 摘要: 本文讲的是Ceph v12.2 Luminous 块存储(RBD)搭建, 还是上篇文章说的,搭建块存储之前,先把官方的文档看一遍,保证获益匪浅。传送门:Ceph官方文档 注意:(1) rbd块存储最好不要安装在osd节点,可以安装在mon节点、admin节点或其他节点。如果安装在其他节点请按上一篇文章步骤安装


还是上篇文章说的,搭建块存储之前,先把官方的文档看一遍,保证获益匪浅。
传送门: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 rmtest_pool/test_image


4. 查看块设备镜像

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


[email protected]_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

重新映射:


[email protected]_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相关命令

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索存储 , 搭建 , ceph , Luminous , 12.2 RBD ,以便于您获取更多的相关知识。