k8s–基础–28.4–ceph–rbd创建和使用


1、前提

使用rbd存储的前提,需要内核支持rbd

1.1、查看内核是否支持rbd

modprobe  rbd
lsmod | grep  rbd

在这里插入图片描述

上面

2、pool(池)

  1. 是ceph存储数据时的逻辑分区
  2. 每个pool包含一定数量的PG,PG里的对象被映射到不同的OSD上,因此pool是分布到整个集群的。
  3. 对不同的pool可以设置不同的优化策略
    1. 隔离数据
    2. 副本数
    3. 数据清洗次数
    4. 数据块
    5. 对象大小等。
  4. 一个pool里面有多个image

3、image

  1. 它将被条带化为 N 个子数据块
  2. 每个数据块 以对象(object)的形式存在,保存在 RADOS对象 存储中
  3. 可以理解为rbd存储块

3.1、创建一个pool池

# 创建一个pool,名称是testpool
ceph osd pool create testpool 256
# 查看都有哪些pool池
ceph osd lspools

在这里插入图片描述

3.2、创建rbd(image)

# 在testpool中创建rbd,名称是myrbd,大小为10240
rbd create testpool/myrbd --size 10240

3.3、映射块设备到自己机器

# 需要禁用,否则挂载不成功
rbd feature disable  testpool/myrbd object-map fast-diff deep-flatten

# 查看块设备
rbd map testpool/myrbd  

在这里插入图片描述

3.4、挂载使用

# 创建目录
mkdir /mnt/firstrbd 

# 格式为xfs文件系统
mkfs.xfs /dev/rbd0 

# 挂载
mount /dev/rbd0 /mnt/firstrbd

 

3.5、测试能否使用

# 进入目录
cd /mnt/firstrbd 
# 创建文件,能够创建文件,说明块设备能使用
touch a.txt

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐