Ceph学习(2)---RBD具体使用

RBD具体使用

RBD具体使用

1、RBD简单介绍

Ceph块设备,RADOS Block Device的简称,为客户机提供可靠的、分布式的和高性能的**块存储磁盘。RADOS块设备利用librbd库并以顺序的形式在Ceph集群中的多个osd上存储数据块。RBD是由Ceph的RADOS层支持的,因此每个块设备都分布在多个Ceph节点上,提供了高性能和优异的可靠性。RBD有Linux内核的本地支持,这意味着RBD驱动程序从过去几年就与Linux内核集成得很好。除了可靠性和性能之外,RBD还提供了企业特性,例如完整和增量快照、瘦配置、写时复制克隆、动态调整大小等等**。RBD还支持内存缓存,这大大提高了其性能。

1.1 相关概念
  • resizable:大小可调,即是这个块可大可小
  • data striped:数据条带化,这个块在Ceph里面是被切割成若干小块按照一定算法分布在不同的OSD上
  • thin-provisioned:精简置备,其实就是块的大小和在 Ceph 中实际占用大小是没有关系的,刚创建出来的块是不占空间,今后用多大空间,才会在 Ceph 中占用多大空间。举例:一个 32G 的 U盘,存了一个2G的电影,那么 RBD 大小就类似于 32G,而 2G 就相当于在 Ceph 中占用的空间 ;
1.2 使用场景
  • 云平台(OpenStack做为云的存储后端提供镜像存储)
  • K8S容器
  • map成块设备直接使用
  • ISCIS,安装Ceph客户端
2、RBD配置使用
2.1 RBD挂载到本地操作系统

1)创建rbd使用的pool

# pg_num 128 pgp_num 128
[root@cephadmin my-cluster]$ ceph osd pool create kvm 128 128
# 查看详细信息
[root@cephadmin my-cluster]$ ceph osd pool ls detail
# 查看状态
[root@cephadmin my-cluster]$ ceph pg stat

2)创建一个块设备(10G)

[root@cephadmin my-cluster]$ rbd create --size 10240 image001 -p kvm

3)查看块设备

[root@cephadmin my-cluster]$ rbd ls -p kvm
[root@cephadmin my-cluster]$ rbd info image001 -p kvm
# 从底层查看创建rbd后所创建的文件
[root@cephadmin my-cluster]$ rados -p kvm ls --all

4)禁用当前系统内核不支持的feature

[root@cephadmin my-cluster]$ rbd feature disable image001 exclusive-lock,object-map,fast-diff,deep-flatten -p kvm
# 查看image具体信息
[root@cephadmin my-cluster]$ rbd info image001 -p kvm

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

[root@cephadmin my-cluster]$ rbd map image001 -p kvm
# map成功后,会出现/dev/rbd0
[root@cephadmin my-cluster]$ lsblk

6)格式化块设备镜像

[root@cephadmin my-cluster]$ mkfs.xfs /dev/rbd0

7)mount 到本地

[root@cephadmin my-cluster]$ mount /dev/rbd0 /mnt
# 查看mount情况
[root@cephadmin my-cluster]$ df -h
# 写入数据
[root@cephadmin my-cluster]$ cd /mnt && echo 'hello world' > aa.txt
# 查看底层的存储组织方式
[root@cephadmin my-cluster]$ rados -p kvm ls --all
# 查看磁盘情况
[root@cephadmin my-cluster]$ ceph df

8)查看相关映射情况

[root@cephadmin my-cluster]$ rbd showmapped
2.2 RBD挂载到客户端操作系统
  • 服务器端:CephAdmin
  • 客户端:ceph03
2.2.1 客户端准备

[客户端验证]

# 加载rbd模块
[root@ceph03 my-cluster]$ modprobe rbd
# 加载rbd模块成功,返回0为成功
[root@ceph03 my-cluster]$ echo $?
# 安装ceph-common
[root@ceph03 my-cluster]$ yum install -y ceph-common

[服务器端配置]

  • 创建ceph块客户端认证
# 切换到cephuser的cluster目录
[root@cephadmin my-cluster]$ su - admin
[root@cephadmin my-cluster]$ cd my-cluster/
# 创建了对pool名为kvm的认证权限
[root@cephadmin my-cluster]$ ceph auth get-or-create client.rbd mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=p_rbd' |tee ./ceph.client.rbd.keyring
# 查看权限
[root@cephadmin my-cluster]$ ceph auth get client.rbd
  • 拷贝配置文件到客户端并验证
# 拷贝ceph.conf和密钥文件到客户端
[root@cephadmin my-cluster]$ scp ceph.conf ceph.client.rbd.keyring root@192.168.3.191:/etc/ceph
# 客户端验证,需要到客户端操作系统下执行,能返回id和服务器一样则验证成功
[root@cephadmin my-cluster]$ ceph -s --name client.rbd
  • 服务器创建池
# 创建pool
[root@cephadmin my-cluster]$ ceph osd lspools
2.2.3 客户端配置
  • 创建一个容量为10G的rbd块设备
[root@cephadmin my-cluster]$ rbd create image002 --size 10240 --name client.rbd -p kvm
# 客户端查看image002块设备
[root@cephadmin my-cluster]$ rbd ls --name client.rbd -p kvm
# 查看image002块设备信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值