上一篇文章给大家简单介绍了GlusterFs(查看),今天再给大家来一个目前最流行的分布式存储系统Ceph的介绍,Ceph是开一个开源的项目,它的创始人是Sage Weil,作为当时的博士论文一部分, 目前Ceph已经得到很多厂商的支持,具有很好的生态系统,它同时具有自己的开源社区,活跃度极高。
Ceph,这个名字听起来像是某种神秘的海洋生物(实际上确实来源于头足类动物),但它其实是一个统一的分布式存储系统。就像一个超级变形金刚,它能同时提供对象存储、块存储和文件存储三种服务。 作为新一代分布式存储系统,凭借其统一架构、高可靠性和强扩展性,已经成为云计算和大数据时代的存储基石。 核心优势回顾: ✅ 统一存储:一套系统提供三种存储服务 ✅ 线性扩展:从TB到PB级别无缝扩展 ✅ 高可靠性:多副本机制保证数据安全 ✅ 无单点故障:分布式架构避免性能瓶颈 ✅ 开源免费:降低存储总拥有成本 在这个数据爆炸的时代,选择一个好的存储系统就像选择一个靠谱的伙伴。 关键词:Ceph架构、分布式存储、CRUSH算法、高可用、性能优化、云存储
Ceph,这个名字听起来像是某种神秘的海洋生物(实际上确实来源于头足类动物),但它其实是一个统一的分布式存储系统。就像一个超级变形金刚,它能同时提供对象存储、块存储和文件存储三种服务。 作为新一代分布式存储系统,凭借其统一架构、高可靠性和强扩展性,已经成为云计算和大数据时代的存储基石。 核心优势回顾: ✅ 统一存储:一套系统提供三种存储服务✅ 线性扩展:从TB到PB级别无缝扩展✅ 高可靠性:多副本机制保证数据安全✅ 无单点故障:分布式架构避免性能瓶颈✅ 开源免费:降低存储总拥有成本在这个数据爆炸的时代 ,选择一个好的存储系统就像选择一个靠谱的伙伴。 关键词:Ceph架构、分布式存储、CRUSH算法、高可用、性能优化、云存储
表1列出了自开源以来 Ceph 的重要版本更新,它以字母为顺序对重要的发行版本排序。 Ceph存储系统的设计目标是提供高性能、高可扩展性、 高可用的分布式存储服务。 本文介绍Ceph 的集群架构、数据放置方法以及数据读写路径,并在此基础上分析其性能特点和瓶颈。 集群架构 RADOS可提供高可靠、高性能和全分布式的对象存储 服务。 Ceph是一个通用的分布式文件系 统,适 用 于 不 同 的 场 景.内部机制的优化对所有的场景都会产生性能的提升,但是优化的难度和复杂度也最高。 在分布式存储系统中,数据被分散在大量的存储服务器上,大部分分布式存储系统都直接使用本地文件系统来存储 数据,如HDFS,Lustre等。 高性能、高可靠的分布式存储系统离不开高效、一致、稳定、可靠的本地文件系统。本地文件系统的代码已经过长时间的测试和性能优化,对于数据持久化和空间管理也有相应的方案。
分布式文件存储系统Ceph 1 分布式文件存储系统Ceph Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph特点: CRUSH算法:Crush算法是ceph的两大创新之一,简单来说,ceph摒弃了传统的集中式存储元数据寻址的方案,转而使用CRUSH算法完成数据的寻址操作。 节点中信息说明: dashbaord:Ceph可视化管理界面。 rgw:RADOSGW,Ceph对象网关,使客户端能够利用标准对象存储API来访问Ceph集群。 mgr:ceph-mgr,主要目标实现 ceph 集群的管理,为外界提供统一的入口。 更新yum源,并安装ceph和ceph-deploy,这个过程非常耗时间,执行如下命令: yum update && yum -y install ceph ceph-deploy 注意:yum update
Sage Weil 读博士的时候开发了这套牛逼的分布式存储系统,最初是奔着高性能分布式文件系统去的,结果云计算风口一来,Ceph 重心转向了分布式块存储(Block Storage)和分布式对象存储(Object Storage),现在分布式文件系统 CephFS 还停在 beta 阶段。 硬件环境准备 准备了6台机器,其中3台物理服务器做监控节点(mon: ceph-mon1, ceph-mon2, ceph-mon3),2台物理服务器做存储节点(osd: ceph-osd1, ceph-osd2 ssh 了,确保那个烦人的连接确认不会再出现: Ceph 部署 比起在每个 Ceph 节点上手动安装 Ceph,用 ceph-deploy 工具统一安装要方便得多: 创建一个 ceph 工作目录,以后的操作都在这个目录下面进行 : 初始化集群,告诉 ceph-deploy 哪些节点是监控节点,命令成功执行后会在 ceph-cluster 目录下生成 ceph.conf, ceph.log, ceph.mon.keyring 等相关文件
1、Rook & Ceph 介绍 1.1、Rook Rook 是专用于 Cloud-Native 环境的文件、块、对象存储服务。它实现了一个自动管理的、自动扩容的、自动修复的分布式存储服务。 1.2、Ceph Ceph 是一个开源的分布式存储系统,包括对象存储、块设备、文件系统。它具有高可靠性、安装方便、管理简便、能够轻松管理海量数据。 Ceph 存储系统,并且提供 Dashboard 供用户查看存储系统信息,Rook 跟 Kubernetes 集成关系示意图如下: ? Rook Operator 负责启动并监控整个底层存储系统,例如 Ceph Pod、Ceph OSD 等,同时它还管理 CRD、对象存储、文件体统。 使用 Rook 部署并管理 Ceph 存储系统,其架构图如下: ?
1.2、Ceph Ceph 是一个开源的分布式存储系统,包括对象存储、块设备、文件系统。它具有高可靠性、安装方便、管理简便、能够轻松管理海量数据。 Ceph 存储集群具备了企业级存储的能力,它通过组织大量节点,节点之间靠相互通讯来复制数据、并动态地重分布数据,从而达到高可用分布式存储功能 使用 Rook 可以轻松实现在 Kubernetes 上部署并运行 Ceph 存储系统,并且提供 Dashboard 供用户查看存储系统信息,Rook 跟 Kubernetes 集成关系示意图如下: ? Rook Operator 负责启动并监控整个底层存储系统,例如 Ceph Pod、Ceph OSD 等,同时它还管理 CRD、对象存储、文件体统。 使用 Rook 部署并管理 Ceph 存储系统,其架构图如下: ?
rook.io 容器的持久化存储 容器的持久化存储是保存容器存储状态的重要手段,存储插件会在容器里挂载一个基于网络或者其他机制的远程数据卷,使得在容器里创建的文件,实际上是保存在远程存储服务器上,或者以分布式的方式保存在多个节点上 Ceph 分布式存储系统 Ceph 是一种高度可扩展的分布式存储解决方案,提供对象、文件和块存储。 在 Ceph 集群上,您还可以找到 Ceph MON(监控)守护程序,它们确保 Ceph 集群保持高可用性。 Rook 使用 Kubernetes 原语使 Ceph 存储系统能够在 Kubernetes 上运行。 部署 Ceph toolbox 默认启动的 Ceph 集群,是开启 Ceph 认证的,这样你登陆 Ceph 组件所在的 Pod 里,是没法去获取集群状态,以及执行 CLI 命令,这时需要部署 Ceph
一、概述 Ceph 是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw) 以及 文件系统存储服务(cephfs),Ceph 在存储的时候充分利用存储节点的计算能力 关于 Ceph 更详细的介绍和环境部署可以参考这篇文章:分布式存储系统 Ceph 介绍与环境部署 二、cephadm 工具的使用 cephadm 官方文档 1)cephadm 工具的介绍 cephadm # 查看ceph集群状态,非交互式 cephadm shell ceph status # 或者 cephadm shell ceph -s 您可以安装 ceph-common 包,其中包含所有 Ceph # 当然也只安装ceph命令 cephadm install ceph 接下来就可以开心的使用 ceph 命令部署软件等等。 的对象存储集群(RADOS),Ceph 的分布式文件系统的一部分进行交互是一种实用工具。
盘点分布式文件存储系统 在项目的数据存储中,结构化数据通常采用关系型数据库,非结构化数据(文件)的存储就有很多种方式,服务器本地存储、Nas挂载、ftp等等,今天就来盘点一下,分布式文件存储系统。 高可用性:在分布式文件系统中,高可用性包含两层,一是整个文件系统的可用性,二是数据的完整和一致性 低成本:分布式存储系统的自动容错和自动负载平衡允许在成本较低服务器上构建分布式存储系统。 弹性存储: 可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行 二、主流分布式文件存储系统 目前主流的分布式文件系统有:GFS、HDFS、Ceph、Lustre、MogileFS 得益于Hadoop的高人气,Hadoop原生的HDFS分布式文件系统,也广泛为人所知。但是分布式文件存储系统,并非只有HDFS。今天的大数据开发分享,我们就主要来讲讲常见的分布式文件存储系统。 Ceph提供三大存储接口,能够将企业中的三种存储需求统一汇总到一个存储系统中,并提供分布式、横向扩展,高度可靠性的存储,具备高可用性、高性能及可扩展等特点。
网上查了一下这个Cassandra的资料,找到一篇较详细的中文资料: Cassandra数据模型 下面一段引自这篇文章: 各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台
单个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 -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
hdfs 分布式网络文件系统 glusterfs 分布式网络文件系统,不需要管理服务器 ceph 分布式网络文件系统,块存储 3.分布式文件系统的特性 可扩展 分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且随着集群规模的增长,系统整体性能表现为线性增长。 ,整个过程不会对业务造成影响; 低成本 分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通的PC机之上。 #可用于对象存储,块设备存储和文件系统存储 Ceph架构 image.png 基础存储系统RADOS Reliable, Autonomic, Distributed Object Store,即可靠的 由于RADOS是一个对象存储系统,因此,librados实现的API也只是针对对象存储功能的。
一 GlusterFS概述 GlusterFS是开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成的无元数据服务器 二 GlusterFS工作原理 扩展性和高性能 高可用性 全局统 个连续的子空间,每个空间对应一个Brick弹性 HASH算法的优点 保证数据平均分布在每一个Brick中 解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈 三 GlusterFS卷类型 3.1 分布式卷 依赖底层的数据保护 创建分布式卷 gluster volume create dis-volume server1:/dir1 server2:/dir2server3:/dir3 3.2 条带卷 兼顾分布式卷和条带卷的功能 主要用于大文件访问处理 至少最少需要4台服务器 创建分布式条带卷: 创建了名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数 兼顾分布式卷和复制卷的功能 用于需要冗余的情况 创建分布式复制卷 创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍) gluster
etcd是什么 简单来说,etcd是一个高可用,强一致性的分布式kv存储数据库。由此可以衍生出很多其他功能需求,比如: 服务注册 服务发现 配置管理 分布式锁 。。。 tcp 30.1.3.43:2379: getsockopt: connection refused 其他的功能验证就需要结合代码来验收了,这里暂时先不做了,后续有时间再说,比如服务注册,服务发现,分布式锁等等
Ceph是一个可以按对象/块/文件方式存储的开源分布式文件系统,其设计之初,就将单点故障作为首先要解决的问题,因此该系统具备高可用性、高性能及可扩展等特点。 底层存储是基于RADOS(可靠的、自动的分布式对象存储),它提供了LIBRADOS/RADOSGW/RBD/CEPHFS方式访问底层的存储系统,如下图所示 2)通过FUSE,Ceph支持类似的POSIX 访问方式;Ceph分布式系统中最关键的MDS节点是可以部署多台,无单点故障的问题,且处理性能大大提升 3)Ceph通过使用CRUSH算法动态完成文件inode number到object number的转换 、可靠性要求比较高官方宣传,存储容量可轻松达到PB级别 源码路径:https://github.com/ceph/ceph §参考 http://ceph.com/ MogileFS §开发语言:perl tm=6 其它参考 http://blog.csdn.net/qiangweiloveforever/ariticle/details/7566779 分布式文件系统MFS、Ceph、GlusterFS
Lustre系统架构 系统组件描述 系统组件联系
[yzyu@dlp ceph-cluster]$ ceph-deploy install node1 node2 ##安装ceph 配置Ceph的mon监控进程 [yzyu@dlp ceph-cluster cp /home/dhhy/ceph-cluster/ceph.conf /etc/ceph/ [yzyu@dlp ceph-cluster]$ ls /etc/ceph/ ceph.client.admin.keyring 验证查看ceph集群状态信息 [yzyu@dlp ceph-cluster]$ ceph health HEALTH_OK [yzyu@dlp ceph-cluster]$ ceph -s ]$ ceph-deploy admin ceph-client [yzyu@dlp ceph-cluster]$ su - [root@dlp ~]# chmod +r /etc/ceph/ceph.client.admin.keyring 的客户端存储 [root@ceph-client ~]# mkdir /mnt/ceph [root@ceph-client ~]# grep key /etc/ceph/ceph.client.admin.keyring