ceph对象存储 作为文件系统的磁盘,操作系统不能直接访问对象存储。相反,它只能通过应用程序级别的API访问。...ceph是一种分布式对象存储系统,通过ceph对象网关提供对象存储接口,也称为RADOS网关(RGW)接口,它构建在ceph RADOS层之上。...RGW为应用程序提供了一个RESTful S3/swift兼容的接口,用于在ceph集群中以对象的形式存储数据。ceph还支持多租户对象存储,可以通过RESTful API访问。...此外,RGW还支持ceph管理API,可以使用本机API调用来管理ceph存储集群。...librados软件库非常灵活,允许用户应用程序通过C、C++、java、python和php绑定直接访问ceph存储集群。ceph对象存储还具有多站点功能,即灾难恢复提供解决方案。
PV、PVC概述 管理存储是管理计算的一个明显问题。PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息。...该API对象包含存储的实现细节,即NFS,iSCSI或云提供商特定的存储系统。 PersistentVolumeClaim(PVC)是用户存储的请求。 它类似于pod。...k8s帮助创建pv,创建pvc就直接api调用存储类来寻找pv。...而动态供给主要的一个实现就是StorageClass存储对象,其实它就是声明你使用哪个存储,然后帮你去连接,再帮你去自动创建pv。...CephFS需要使用两个Pool来分别存储数据和元数据 1、如下操作在ceph的mon或者admin节点CephFS需要使用两个Pool来分别存储数据和元数据 ceph osd pool create
文件存储 ceph文件系统提供了任何大小的符合posix标准的分布式文件系统,它使用Ceph RADOS存储数据。...要实现ceph文件系统,需要一个正在运行的ceph存储集群和至少一个ceph元数据服务器(MDS)来管理其元数据并使其与数据分离,这有助于降低复杂性和提高可靠性。...只有Ceph FS才需要Ceph MDS,其他存储方法的块和基于对象的存储不需要MDS。Ceph MDS作为一个守护进程运行,它允许客户机挂载任意大小的POSIX文件系统。...部署cephfs [ceph-admin@ceph-node1 my-cluster]$ ceph-deploy mds create ceph-node2 创建池 FS [ceph-admin@ceph-node1...21 查看状态 [ceph-admin@ceph-node1 my-cluster]$ ceph mds stat cephfs-1/1/1 up {0=ceph-node2=up:active}
ceph2 ssh-copy-id ceph3 [root@ceph1 ~]# vim /etc/yum.repos.d/ceph.repo [ceph] name=Ceph packages for...mkdir /etc/ceph && cd /etc/ceph ceph-deploy new ceph1 ceph2 ceph3 yum install -y python-setuptools...install ceph1 ceph2 ceph3 ceph-deploy mon create-initial [root@ceph1 ceph]# ceph -s cluster:...ceph1 ceph2 ceph3 [root@ceph1 ceph]# ceph -s cluster: id: fcb2fa5e-481a-4494-9a27-374048f37113...rgw集群 ceph-deploy install --rgw ceph1 ceph2 ceph3 ceph-deploy admin ceph1 ceph2 ceph3 ceph-deploy rgw
最近我在kubernetes中使用了ceph的rbd及cephfs存储卷,遇到了一些问题,并逐一解决了,在这里记录一下。...ceph rbd存储卷扩容失败 第一个问题是某应用程序使用了ceph rbd存储卷,但随着时间的推移,发现原来pvc申请的存储空间不够用了,需要进行扩容。这里参考官方指引,进行了一些配置。...cephfs存储卷quota失效 项目里还有一些应用程序使用了cephfs的存储卷,但经过验证,发现pvc里设置的存储卷大小无效,应用程序可以随意往存储卷里写入大量数据,这就很危险了。...函数,以实现给创建的cephfs存储卷设置quota的。...验证一把,这下应用程序终于在受限的盒子里使用cephfs存储卷了。 真正的用户场景还是涉及cephfs存储卷的扩容,在网上找了下,发现已经有人实现了,文章在这里。
1、列出存储池 ceph osd lspools 2、创建存储池 ceph osd pool create poolname pg-num pgp-num replicated crush-ruleset-name...crush-ruleset-name expected-num-objects //poolname 要唯一 3、设置存储池配额 ceph osd pool set-quota poolname...max-objects max-bytes 4、删除存储池 ceph osd pool delete poolname 5、重命名存储池 ceph osd pool rename {current-pool-name...} {new-pool-name} 6、存储池统计信息 rados df 7、存储池快照 ceph osd pool mksnap poolname snapname 8、删除存储池快照 ceph...osd pool rmsnap poolname snapname 9、查看存储池配置 ceph osd pool get poolname [key]
Ceph 基本概念 为什么要使用ceph Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs...),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时都会通过计算得出该数据的位置,尽量的分布均衡。...Ceph使用RADOS提供对象存储,通过librados封装库提供多种存储方式的文件和对象转换。...使用场景: 云平台(OpenStack做为云的存储后端提供镜像存储) K8s容器 map成块设备直接使用 ISCIS,安装Ceph客户端 Ceph RBD IO流程 ?..., 并且协调着对 Ceph 存储系统的访问。
本文目标:理解ceph存储流程,例如:当client向ceph集群中写入一个文件时,这个文件是如何存储到ceph中的,其存储过程是如何?...# ceph存储流程图 # ceph存储流程详解 File: 就是我们想要存储和访问的文件,这个是面向我们用户的,是我们直观操作的对象。...Object:object就是Ceph底层RADOS所看到的对象,也就是在Ceph中存储的基本单位。object的大小由RADOS限定(通常为2m或者4m)。...PG (Placement Group): PG是一个逻辑的概念,它的用途是对object的存储进行组织和位置的映射,通过它可以更好的分配数据和定位数据。...进入到对应osd的存储目录,找到对应文件即可 root in iscloud163-200 in ceph-0/current/3.7_head ➜ pwd /var/lib/ceph/osd/ceph
1、安装Ceph对象网关 从管理节点的工作目录,在ceph_admin节点上安装 Ceph 对象网关软件包 ceph-deploy install --rgw ceph_admin ?...2、 ceph-deploy rgw create ceph_admin ? 3、通过7480端口来访问 http://10.20.10.215:7480/ ?...4、为S3访问新建一个RADOSGW用户 为了使用 REST 接口, 首先需要为 S3 接口初始化一个 Ceph 对象网关用户. 然后为 Swift 接口新建一个子用户.
Part1Ceph 存储架构 Ceph 集群搭建使用标准硬件和存储设备的服务器,是一个高度可扩展的分布式存储系统, 采用模块化分布式架构。Ceph 主要通过 RADOS 核心组件来提供能力。...RBD(RADOS Block Device):Ceph 块设备,将 Ceph 存储集群的对象存储能力暴露为块设备,支持虚拟机和容器等应用的块存储需求。...Ceph 对象存储设备 OSD Ceph 对象存储设备 (OSD) 是 Ceph 存储集群的构建块,OSD 将存储设备(如硬盘或其他块设备)连接到 Ceph 存储集群。...Ceph 块设备 RBD RBD 全称为 RADOS Block Device,它将 Ceph 存储集群的对象存储能力暴露为块设备,支持虚拟机和容器等应用的块存储需求。...pool:Ceph 存储池的相关信息,例如 size、min_size、pg_num、pgp_num 等等。 pool 1:这是存储池的编号,Ceph 存储集群中的每个存储池都有一个唯一的编号。
全局Ceph节点宕机处理 在极端情况下,如数据中心断电,造成 Ceph 存储集群全局宕机,可以按照本节所示流程进行 Ceph 集群上电恢复操作。...ceph -w 使用 ceph-w 可查看集群运作输出,同步完毕后集群 health 应为HEALTH_OK 状态。...ceph -s 状态为HEALTH_OK ceph osd tree OSD 状态皆为UP 4.3 恢复使用指令及其说明 ceph -s : 确认 ceph cluster status ceph...-w : 查看集群运作输出 ceph osd tree : 查看ceph cluster上osd排列及状态 start ceph-all : 启动 所有 ceph service start ceph-osd-all...start ceph-mon id={hostname} : 启动指定 ceph monitor host ceph osd set noout : ceph stopping w/out rebalancing
单个Ceph节点宕机处理 在某些情况下,如服务器硬件故障,造成单台 Ceph 节点宕机无法启动,可以按照本节所示流程将该节点上的 OSD 移除集群,从而达到 Ceph 集群的恢复。...5.1 单台 Ceph 节点宕机处理步骤 登陆 ceph monitor 节点,查询 ceph 状态: ceph health detail 将故障节点上的所有 osd 设置成 out,该步骤会触发数据...recovery, 需要等待数据迁移完成, 同时观察虚拟机是否正常: ceph osd out osd_id 从 crushmap 将 osd 移除,该步骤会触发数据 reblance,等待数据迁移完成...,同时观察虚拟机是否正常: ceph osd crush remove osd_name 删除 osd 的认证: ceph auth del osd_name 删除 osd :ceph osd rm
所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。...为Ceph文件系统提供元数据计算、缓存与同步(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。在ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。...Ceph 结构包含两个部分 ceph client:访问 ceph 底层服务或组件,对外提供各种接口。比如:对象存储接口、块存储接口、文件级存储接口。 ...ceph node:ceph 底层服务提供端,也就是 ceph 存储集群。...CephFS 文件存储 CephFS全称Ceph File System,是Ceph对外提供的分布式文件存储服务。
###前言 一直想弄对象存储,以前弄过一次,不是很理解region是个什么东西,后来时间和工作上的原因没有再折腾,这两天闲了下来,再次折腾了一次。我是参考的ceph的中文翻译文挡进行的部署和测试。...对象存储额外需要安装的包是:ceph-radosgw和ceph-common 安装完毕你的系统上应该至少存在三个命令:rados 、 radosgw 、 radosgw-admin 其中整个对象网关服务就是由...####关于region 对象存储设计考虑到数据中心区域的问题,这里的region就是区域的标识。比如中国西部数据中心,中国南方数据中心,不同的区域数据中心的bucket还可以异地同步(?...my-new-bucket', 'hello.txt', AmazonS3::ACL_PUBLIC); php sdk传送门 核心逻辑代码/services/s3.class.php ###终端玩转对象存储...在终端下要用s3对象存储,最好的工具无非是s3cmd,一般yum就可以直接安装下来,不过这玩意要注意版本,老版本的和最新的文档用法差别比较大。
testpool testobject testsnap1 # rados -p testpool ls testobject 在资源池testpool 中的对象数据testobject 的osd映射关系: ceph...查看数据存储的物理位置: 1、ceph osd tree 查看osd【5,4,6】其中一个所在的节点 2、ssh ceph-nodeN,进入该节点 #osd.5所在的node节点 3、df -h | grep...-i ceph-5找出该osd.5的物理存储位置 ,ceph-5是指osd.5 4、cd /var/lib/ceph/osd/ceph-5/current进入osd.5所在的物理存储文件夹 5、ls...-l |grep -i 6.31找出和PG(6.31)相关的文件夹 6、cd 6.31_head进入该PG文件夹 7、ls -l就可以看到我们存储的testobject数据的详细信息 vdbench vdbench...是存储性能测试的一个常用工具。
ceph-xxx-osd03.gz01 [ceph_deploy.cli][INFO ] ceph-deploy options: [ceph_deploy.cli][INFO ] verbose...than once in the configuration [ceph-xxx-osd03.gz01][DEBUG ] Cleaning repos: Ceph Ceph-noarch base ceph-source...cd /etc/ceph/ $ ceph-deploy admin ceph-xxx-osd03.gz01 [ceph_deploy.conf][DEBUG ] found configuration...][DEBUG ] Deploying rgw, cluster ceph hosts ceph-xxx-osd03.gz01:rgw.ceph-xxx-osd03.gz01 [ceph-xxx-osd03...osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-xxx-osd03.gz01/keyring [ceph-xxx-osd03
管理存储池 1.1 创建存储池 PG数量的预估 集群中单个池的PG数计算公式如下:PG 总数 = (OSD 数 * 100) / 最大副本数 / 池数 (结果必须舍入到最接近2的N次幂的值) #ceph...create test_pool 512 512 replicated pool 'test_pool' created 1.2 删除存储池 #ceph osd pool delete {pool-name...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...挂载文件系统 $ sudo mkdir /mnt/ceph-block-device $ sudo mount /dev/rbd0/ /mnt/ceph-block-device $ cd /mnt/ceph-block-device
图片 视频 音频 文档 代码js/html 缺点 应用代码需要改动,无法修改对象,需要一次性完整写入 优点 无限扩容 基于Ceph的对象存储构建实践 什么是Ceph 加州大学 Santa Cruz 分校的...软件定义存储(Software Defined Storage, SDS)。统一的存储解决方案。 提供了三种存储方式:块存储、文件存储、对象存储。Ceph的架构如下: ?...在Ceph中所有的数据都是以对象的形式存储,RADOS就负责存这些数据,不考虑它们的类型。 Ceph对象存储设备OSD Ceph 分布式对象存储系统的对象存储守护进程。...MDS(Ceph元数据服务器) 为CephFS跟踪文件层次结构和存储元数据。...CephFS(Ceph Filesystem) Ceph文件系统提供了一个使用Ceph存储集群存储用户数据的与POSIX兼容的文件系统。和RBD、RGW一样,基于librados封装了原生接口。
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性,不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用...,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。...MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。...元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。 Ceph 把客户端数据保存为存储池内的对象。...CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。 Rook 将分布式存储系统转变为自我管理、自我扩展、自我修复的存储服务。
1.2.前题假设 这篇指南假定读者对Ceph存储集群和Ceph对象网关具备基本的知识。...本指南假定的“单点”集群是由一个Ceph存储集群与在同一个zone内的多个Ceph对象网关组成。...2.1.确定应用场景 Ceph存储能够提供很多不同类型的存储应用场景,对于Ceph对象存储而言,典型的应用场景如下: 吞吐量优化型:一个吞吐量优化的集群旨在确保快速的数据访问。...Ceph集群时,一个最重要的因素就是确定存储需求(存储规模或大小);Ceph本身就支持存储的扩展性,支持存储PB规模的数据量或更大的数据量。...7.2.使用NFS-Ganesha迁移数据 如果Ceph对象网关与Ceph存储集群替代基于文件系统的存储方案,那么可以考虑使用Ceph的NFS-Ganesha方案将文件系统中的数据迁移至Ceph对象网关
领取专属 10元无门槛券
手把手带您无忧上云