前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ceph 分布式存储-块存储(RBD)搭建

ceph 分布式存储-块存储(RBD)搭建

作者头像
Lucien168
发布2020-07-20 11:22:13
3.1K0
发布2020-07-20 11:22:13
举报

1. 管理存储池

1.1 创建存储池

PG数量的预估 集群中单个池的PG数计算公式如下:PG 总数 = (OSD 数 * 100) / 最大副本数 / 池数 (结果必须舍入到最接近2的N次幂的值)

#ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name]
 
$ ceph osd pool create test_pool 512 512 replicated
pool 'test_pool' created

1.2 删除存储池

#ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
 
$ ceph osd pool delete test_pool test_pool --yes-i-really-really-mean-it
pool 'test_pool' removed

1.3 重命名存储池

#ceph osd pool rename {current-pool-name} {new-pool-name}
 
$ ceph osd pool rename test_pool test_new_pool
pool 'test_pool' renamed to 'test_new_pool'

1.4 查看存储池列表

$ ceph osd lspools
1 rbd,2 test_data,3 test_metadata,5 test,6 benmark_test,7 .rgw.root,8 default.rgw.control,9 default.rgw.meta,10 default.rgw.log,11 default.rgw.buckets.index,12 web-services,13 test_pool,

2. 管理块设备镜像

2.1 创建块设备镜像

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

2.2 删除块设备镜像

#rbd rm {pool-name}/{image-name}
 
$ rbd rm test_pool/test_image

2.3 查看块设备镜像

#rbd info {pool-name}/{image-name}
 
$ rbd info test_pool/test_image
rbd image 'test_image':
    size 10240 MB in 2560 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.172e42ae8944a
    format: 2
    features: layering
    flags:
    create_timestamp: Wed Nov  8 17:50:34 2017

2.4 将块设备映射到系统内核

#sudo rbd map {image name} --name client.admin -m {monitor node ip or hostname} --cluster {cluster name}
 
$ sudo rbd map test_pool/test_image
/dev/rbd1
 
#如果打印:
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
 
dmesg
image uses unsupported features: 0x40
不支持特性 0x40 = 64,也就是不支持特性 journaling
 
#rbd-nbd用户态
yum install  kmod-nbd
yum  install rbd-nbd
sudo rbd-nbd map test_pool/test_image

RBD特性解析

RBD支持的特性,及具体BIT值的计算如下

属性

功能

BIT码

layering

支持分层

1

striping

支持条带化v2

2

exclusive-lock

支持独占锁

4

object-map

支持对象映射(依赖 exclusive-lock )

8

fast-diff

快速计算差异(依赖 object-map )

16

deep-flatten

支持快照扁平化操作

32

journaling

支持记录 IO 操作(依赖独占锁)

64

2.5 取消块设备映射到系统内核

#rbd unmap {image-name}
 
$ rbd unmap test_pool/test_image

2.6 格式化块设备镜像

$ sudo mkfs.ext4 /dev/rbd1
 
# sudo mkfs.xfs -f  /dev/nbd0

3. 挂载文件系统

$ sudo mkdir /mnt/ceph-block-device
$ sudo mount /dev/rbd0/ /mnt/ceph-block-device
$ cd /mnt/ceph-block-device
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 管理存储池
    • 1.1 创建存储池
      • 1.2 删除存储池
        • 1.3 重命名存储池
          • 1.4 查看存储池列表
          • 2. 管理块设备镜像
            • 2.1 创建块设备镜像
              • 2.2 删除块设备镜像
                • 2.3 查看块设备镜像
                  • 2.4 将块设备映射到系统内核
                    • RBD特性解析
                      • 2.5 取消块设备映射到系统内核
                        • 2.6 格式化块设备镜像
                        • 3. 挂载文件系统
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档