Ceph块存储
创始人
2024-02-18 00:21:32
0

目录

一、环境准备

二、什么是块存储

三、创建块共享

1、查看存储池

2、创建镜像、查看镜像

3、镜像扩容、缩容

四、客户端通过KRBD访问共享镜像

1、客户端安装

2、客户端配置

3、客户端获取镜像

4、客户端写入数据

五、快照

1、查看、创建快照

2、还原快照

六、客户端卸载网络磁盘

1、卸载磁盘

2、取消磁盘映射


一、环境准备

Ceph集群搭建参照:Ceph集群部署_桂安俊@kylinOS的博客-CSDN博客

以下Ceph存储实验环境均基于上述Ceph集群环境搭建。

二、什么是块存储

  • Ceph块设备也叫做RADOS块设备,全称:RADOS Block Device;简称:RBD;
  • RBD提供了企业功能,如快照、COW克隆等等;

三、创建块共享

1、查看存储池

所有的块设备必须在一个存储池中,ceph默认有一个rbd池:

# 在任意一个node节点执行,查看所有存储池
ceph osd lspools

2、创建镜像、查看镜像

块设备也叫镜像,每创建一个镜像,对应的就是一个块设备,在服务端创建完镜像,客户端就可以访问这个镜像(块设备):

#在任意node节点操作#创建镜像写法一,不指定存储池,那默认就放到rbd默认存储池下
#create为创建,jacob为自定义镜像名称,--image-feature后面跟这个镜像支持哪些功能,layering指支持分层功能(允许快照和写时复制),--size 10G为指定镜像存储大小
rbd create jacob --image-feature layering --size 10G#创建镜像写法二,指定存储池,那默认就放到rbd默认存储池下
#在rbd存储池下创建名为nb的镜像块设备,大小为10G
rbd create rbd/nb --image-feature layering --size 10G

【注】:如上创建镜像的时候,创建的镜像存储大小可以大于实际总存储池大小,存储池不会立刻分配全部大小给镜像,只是当实际写入存储内容超过存储池大小是,会写入失败,等后面存储池扩容时,就可以继续成功写入。

查看镜像:

rbd list   #查看所有镜像rbd info jacob   #查看jacob镜像详细信息    

3、镜像扩容、缩容

(1)扩容

rbd resize jacob --size 15G   #从原来的10G扩容至15Grbd info jacob   #查看jacob镜像详情

 (2)缩容

#因为缩容会有丢数据风险,所以这里比扩容多了一个--allow-shrink参数
rbd resize jacob --size 7G --allow-shrink   #查看缩容后大小
rbd info jacob

四、客户端通过KRBD访问共享镜像

1、客户端安装

客户端需要安装ceph-common软件包:

yum install ceph-common -y

如果安装没找到ceph-common包,可能是因为没有挂载ceph源,ceph源挂载参照Ceph集群部署_桂安俊@kylinOS的博客-CSDN博客,本文所有环境均基于前文Ceph集群部署完成。

2、客户端配置

客户端要想访问到ceph共享存储,需要完成以下2步:

  • 拷贝配置文件:否则不知道集群在哪
  • 拷贝连接密钥:否则无连接权限
#随便拷贝一份node节点的ceph配置文件和keying密钥文件,每个节点配置文件和密钥文件都一样
scp root@node1:/etc/ceph/ceph.conf /etc/ceph/scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/

3、客户端获取镜像

#获取jacob共享
rbd map jacoblsblk  #查看客户端本地多了一个磁盘

#上面还创建了一个nb镜像,也可以获取
rbd map nblsblk

 查看磁盘和ceph集群对应关系:

rbd showmapped

4、客户端写入数据

客户端获取到磁盘后,就可以和本地磁盘一样使用,可以格式化、挂载、写入数据等

#格式化为xfs格式
mkfs.xfs /dev/rbd0#挂载
mount /dev/rbd0 /mnt#写入数据
echo "test" > /mnt/test.txt

五、快照

ceph支持存储快照,前文提过ceph是默认是3副本,那为什么还要做快照?副本概念是预防存储设备故障时保障数据安全(数据写入时存3份),解决的是单点故障的问题。但如果不是设备故障,是人为误删,那副本概念就不能实现数据恢复,而定期做快照,可以保证数据误删的时候进行快照恢复。

1、查看、创建快照

#node1操作
#查看jacob的快照,默认没有快照
rbd snap ls jacob   #创建快照,为jacob镜像创建快照,快照名称为jacob-snap1
rbd snap create jacob --snap jacob-snap1#查看快照
rbd snap ls jacob

2、还原快照

模式数据丢失,在客户端删除数据:

#在客户端操作,将之前创建的txt删除
rm -rf /mnt/test.txt#快照恢复之前,必须要将客户端镜像存储先卸载,不支持在线数据恢复
umount  /mnt

回滚快照,还原数据(在node节点操作):

# 在node节点还原快照
rbd snap rollback jacob --snap jacob-snap1

客户端重新挂载分区,检查数据是否恢复(在client端操作):

mount /dev/rbd0 /mntcat  /mnt/test.txt

六、客户端卸载网络磁盘

(以下均在client操作)

1、卸载磁盘

#像普通存储一样umount取消挂载
umount /mnt

2、取消磁盘映射

#取消前先查看一下
rbd showmapped

#取消映射
rbd unmap /dev/rbd0#查看是否取消成功
rbd shwmapped

 可以看到原来的jacob rbd0已经没有了。

相关内容

热门资讯

公司股东与妻子分居期间出轨女下... 近日据报道,宁夏永宁县人民法院一审查明公司股东李某乙在与妻子李某甲分居期间,与公司女员工马某某存在不...
动物学家、律师和创作者,Thi... 12月21日,以“一起·了不起”为主题的2025 ThinkPad黑FUN礼在京举办。活动现场,律师...
徐奇渊:扩内需与对外政策紧密相... 近日,中国海关总署发布了一组数据令人关注:2025年前11个月,我国货物贸易顺差达到1.08万亿美元...
46岁上海独居女子不幸离世,官... 居住在上海虹口区46岁的蒋女士因突发脑溢血于今年10月入院,远亲吴先生与其公司共同垫付了医药费,但她...
威海市汽车以旧换新补贴政策调整... 根据稳妥有序开展消费品以旧换新工作统一部署,经研究决定,对我市汽车以旧换新补贴政策进行调整。现将有关...
动物学家、律师、创作者都pic... 12月21日,在2025 ThinkPad黑FUN礼现场,三名专业领域用户用真实案例诠释了Think...
从拒赔到和解:涉外货运保险理赔... 近日,国家金融监管总局、最高人民法院遴选出6个具有典型性、示范性的金融领域纠纷多元化解案例,12月1...
湖北大冶一男子当街拦车砸玻璃,... 大象新闻2025-12-21 16:21:41 12月20日,湖北大冶市网民发视频称,一名男子在新冶...
韩媒曝尹锡悦夫妇下周将被同时起... 据韩联社21日报道,负责调查韩国前总统尹锡悦夫人金建希弊案的独立检察组(独检组)将于下周同时对尹锡悦...
大冶一男子拦停轿车打砸!大冶公... 原标题:大冶公安查处一起妨碍交通工具正常行驶案件 2025年12月20日15时许,我辖区居民刘某(男...