Ceph 集群监控和告警系统搭建的一些思路。 当然官方也提供了 Grafana 的 Dashboard 来快速搭建 Ceph 的内部监控系统,甚至通过 Ceph 自身的 Dashboard 也能观察到很多指标,这就是从内在的角度去分析 Ceph 的一些性能指标了 ,也有利于用户快速搭建 Ceph 的监控系统。 ,我们还是需要一个系统去稳定记录这些情况,方便我们监控集群的健康程度,有时候可能是机器性能到达瓶颈了,有时候可能是磁盘故障了,这些原因最好能有一个外部系统去记录下来,方便以后复盘和定期的检查,已达到及早采取合适的措施 Health 暴露的一些文字类的信息,来丰富告警系统的信息,来达到让运维随时都可以知道 Ceph 集群的健康情况,这为故障修复争取了时间。
https://ralph.blog.imixs.com/2020/02/28/howto-install-ceph-on-centos-7/ 在 /etc/yum.repos.d/ 创建 Ceph [ceph] name=Ceph packages for $basearch baseurl=https://download.ceph.com/rpm-nautilus/el7/$basearch enabled=1 priority=2 gpgcheck=1 gpgkey=https://download.ceph.com/keys/release.asc [ceph-noarch] name gpgcheck=1 gpgkey=https://download.ceph.com/keys/release.asc [ceph-source] name=Ceph source packages ://download.ceph.com/keys/release.asc 然后直接安装就好了 yum install ceph。
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
这里我们将使用一个符号,:是一个shell内置命令,本质上等同于true命令,它可被用来作为一个 no-op(即不进行任何操作)。另一种清空文件的方法是将 : ...
上一篇文章给大家简单介绍了GlusterFs(查看),今天再给大家来一个目前最流行的分布式存储系统Ceph的介绍,Ceph是开一个开源的项目,它的创始人是Sage Weil,作为当时的博士论文一部分, 目前Ceph已经得到很多厂商的支持,具有很好的生态系统,它同时具有自己的开源社区,活跃度极高。
Ceph 分布式存储系统 Ceph 是一种高度可扩展的分布式存储解决方案,提供对象、文件和块存储。 在每个存储节点上,您将找到 Ceph 存储对象的文件系统和 Ceph OSD(对象存储守护程序)进程。 Rook 使用 Kubernetes 原语使 Ceph 存储系统能够在 Kubernetes 上运行。 处理节点上所需的所有存储操作,例如附加网络存储设备,安装卷和格式化文件系统。 该 rook 容器包括所有必需的 Ceph 守护进程和工具来管理和存储所有数据 - 数据路径没有变化。 / 执行 yaml 文件部署 rook 系统组件: [centos@k8s-master ceph]$ kubectl apply -f operator.yaml namespace/rook-ceph-system
前言 在看集群的配置文件的时候看到ceph里面有一个graylog的输出选择,目前看到的是可以收集mon日志和clog,osd单个的日志没有看到,Elasticsearch有整套的日志收集系统,可以很方便的将所有日志汇总到一起 ,这个graylog的收集采用的是自有的udp协议,从配置上来说可以很快的完成,这里只做一个最基本的实践 系统实践 graylog日志系统主要由三个组件组成的 MongoDB – 存储配置信息和一些元数据信息的 用来存储Graylog server收取的log messages的,Elasticsearch (>= 2.x) Graylog server – 用来解析日志的并且提供内置的web的访问接口 总结 这个系统支持原生的接口接入 ,未来应该可以支持更多类型的日志倒入,这样相当于很容易就部署了一个日志搜索系统了,当然还有很多其他的方案,从功能完整性来说Elasticsearch要比这个强大,这套系统目前来看配置是非常的简单,也是一个优势
Ceph的监控有很多啊,calamari或inkscope等,我开始尝试安装这些的时候,都失败了,后来Ceph-dash走入了我的眼帘,Ceph-dash根据官方描述,我个人觉得是最简单安装的了,但是安装过程中出现的不好使用的情况 我的环境: OS:RedHat 6.1(操作系统是被要求好的,我也没办法,想换CentOS/Ubuntu的,哎,不说了,都是泪) 网络:无 (机房不能连外网,安装什么都是超级烦人的,各种包,各种依赖,都要自己下 ,哎,又是泪) Ceph版本:0.80.7 进入正题: 首先下载ceph-dash,如果不好用,就到 https://github.com/Crapworks/ceph-dash下载 下载完毕后,按照官网给的提示安装 to http://ceph-monitor:5000/ enjoy! 因为ceph-dash是Python写的,我没有成功是缺少了ceph的一些额外的软件包:Flask,安装完成Flask之后,再运行ceph-dash应该就OK了,如果你还是不OK,那么我也没办法了,因为我就遇到的是这个错误
一 Ceph文件系统 1.1 概述 CephFS也称ceph文件系统,是一个POSIX兼容的分布式文件系统。 实现ceph文件系统的要求: 需要一个已经正常运行的ceph集群; 至少包含一个ceph元数据服务器(MDS)。 1.2 相关名词 Ceph:元数据服务器( MDS ),为 Ceph 文件系统存储元数据。 1.4 挂载ceph文件系统的方式 使用本地系统内核驱动程序进行挂载 使用ceph fuse进行挂载 二 文件系统使用 2.1 查看集群 1 [root@deploy ~]# su - manager 从用户空间( FUSE )挂载Ceph文件系统前,确保客户端有一份Ceph配置副本、和具备Ceph元数据服务器的密钥环,本实验通过以上命令直接从deploy节点推送相关配置。
我微微一笑,大声告诉他:Ceph在手,天下我有。 Ceph是一个统一的分布式存储系统,旨在实现出色的性能,可靠性和可扩展性。认了OpenStack做大哥之后更是一发不可收拾,受到大家广泛的关注。 Ceph支持三种调用模式,这三种方式可以一同进行使用: 对象存储(Object):有原生的API,而且也兼容Swift和S3的API 块存储(Block):支持精简配置、快照、克隆 文件系统挂载(File 大文件 or 小文件,文件系统适合大文件还是小文件存储,如何提供I/O效率。 数据高可用 or 空间利用率,通过复制副本技术提高数据可用性必然会降低空间利用率,应该如何取舍。 RBD(Reliable Block Device):提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume Ceph FS:是一个POSIX兼容的分布式文件系统 上层这三个模块都位于 通过上面对Ceph架构的简单介绍我们可以知道Ceph也是以特殊存储格式进行存储的,将文件切分成2M~4M的Object存储到RADOS中,对于小文件和大文件都支持。
ceph-deploy gatherkeys ceph-admin 11、查看节点可用磁盘:ceph-deploy disk list ceph-node1 ceph-node2 ceph-node3 ceph-deploy osd prepare ceph-node1:/dev/sdb ceph-node2:/dev/sdb ceph-node3:/dev/sdb 激活OSD: ceph-deploy ceph-admin ceph-node1 ceph-node2 ceph-node3 sudo chmod 644 /etc/ceph/ceph.client.admin.keyring 以cephFS 00:00:00 /usr/bin/ceph-mds -f --cluster ceph --id ceph-admin --setuser ceph --setgroup ceph 创建pool,pool (这里的客户机是centos6系统) [root@centos6-02 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release
ceph后遇到麻烦可以使用以下命令进行清除包和配置 #ceph-deploy purge ceph1 ceph2 ceph3 #ceph-deploy purgedata ceph1 ceph2 ceph3 #ceph-deploy forgetkeys 初始化,创建配置文件 cd ~/ceph-cluster ceph-deploy new ceph1 ceph2 ceph3 在生成的ceph.conf 中加入(写入[global] 段下) osd pool default size = 2 安装ceph ceph-deploy install cephadmin ceph1 ceph2 ceph3 配置初始 monitors ceph-deploy mon create-initial 新建osd 分别在ceph1,ceph2,ceph3节点上创建osd1,osd2,osd3目录 ssh ceph1 mkdir osd2 ceph3:/var/local/osd3 ceph-deploy osd activate ceph1:/var/local/osd1 ceph2:/var/local/osd2 ceph3
本文主要介绍ceph16版本集群节点系统磁盘故障后的集群恢复,虽然系统盘很多都是做了raid1,但从实际做的项目看,总是有很多未知意外发生,节点挂掉后,上面的mon和osd,mgr都会down掉,如果所在节点的 移除问题主机 节点挂掉后,在确定不能继续开机进入系统的情况下,需要在其他正常的节点将故障节点进行移除,此次宕机的节点为node4,以下命令可能会导致数据丢失,因为 osd 将通过调用每个 osd 来强制从集群中清除 ceph orch host rm node4 --offline --force 节点初始化操作 将node4节点即故障节点更换新的系统盘并重新安装系统,重装后node4主机名我修改成了node1,并更换了新的 ceph集群操作,因为新添加的节点上缺少ceph集群管理的密钥环,在上面的命令中其实可以看到新加的node1是缺少一个_admin标签的,这里提一下ceph是有几个特殊的主机标签的,以_开头的属于ceph osd out 2 ceph osd crush remove osd.2 ceph auth del osd.2 ceph osd rm 2 上步只是在ceph删除,还需要在磁盘上进行格式化 #
导致这类性能下降的原因主要有2个,一方面是filestore底层采用xfs文件系统,xfs不适合做这种大量小文件的存储,另外是我们采用了SMR的SATA磁盘,这类磁盘也不适合用在Ceph里,具体可以参考下面的文档 Ceph 十年演进的经验教训 —— 磁盘文件系统并不适合作为分布式存储后端 Haystack Facebook's Haystack design paper. https://www.usenix.org Small file access is O(1) disk read. https://github.com/chrislusf/seaweedfs#compared-to-glusterfs-ceph 写入数据之前,需要预先分配一个大文件块,调度算法实现较复杂。(单个大文件读写竞争处理) 大文件发生GC时(空洞资源回收),会同时影响小文件读写。 多pool结构方案 按默认方式写入数据,写入过程不需要考虑后续大文件合并的问题,实现较简单。 大文件发生GC时(空洞资源回收),只会会影响部分小文件读。
一、概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目。 Ceph本身并没有主控节点,扩展起来比较容易,并且理论上,它的性能会随着磁盘数量的增加而线性增长。 特性丰富 Ceph支持三种调用接口:对象存储,块存储,文件系统挂载。三种方式可以一同使用。 Ceph的底层是RADOS,RADOS本身也是分布式存储系统,CEPH所有的存储功能都是基于RADOS实现。RADOS采用C++开发,所提供的原生Librados API包括C和C++两种。 · MDS(可选)为Ceph文件系统提供元数据计算、缓存与同步。在ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。 为了解决这些问题,ceph引入了归置组的概念,即PG。 PG是一个逻辑概念,我们linux系统中可以直接看到对象,但是无法直接看到PG。
简介: ceph-dash 是用 Python 开发的一个 Ceph 的监控面板,用来监控 Ceph 的运行状态。同时提供 REST API 来访问状态数据。 安装部署: 1:进入安装目录 cd /root/ 2:下载软件包 git clone https://github.com/Crapworks/ceph-dash.git 3:进入下载软件包文件夹 cd ceph-dash/ 4:后台启动ceph-dash,日志输出到ceph集群一个文件夹 python ceph-dash.py >/root/cephdash.log 2>&1 &
那么我们可以考虑部署多套集群,并且来真正的实现了数据处理能力的横向扩展,因为MDS,可以是多个的了,那么比较重要的问题就是统一命名空间的问题了,怎么实现,这个也简单,主要是跟客户沟通好,让客户接受提出的方案 我们在一些商业系统上面可以看到一些限制
也就是说,使用Ceph系统我们可以提供对象存储、块设备存储和文件系统服务,更有趣的是基于Ceph的key-value存储和NoSQL存储也在开发中,让Ceph成为目前最流行的统一存储系统。 Ceph实现了非常底层的object storage,是纯粹的SDS,并且支持通用的ZFS、BtrFS和Ext4文件系统,能轻易得Scale,没有单点故障。 接下来马上介绍Ceph的各个基础组件。 CephFS : CephFS全称Ceph File System,是Ceph对外提供的文件系统服务。 ---- 更多介绍 前面对Ceph各个组件都简要介绍了一下。 ---- Ceph用法 本章将带领大家一步一步使用Ceph,分布式系统的安装和部署一般都是非常复杂的,而且很多教程不一定适用于本地的环境,我们本章所有代码与命令都使用官方提供Docker容器,保证任何人都能轻易地使用 通过本章大家都可以掌握Ceph的基本操作命令,基于Ceph搭建自己的存储系统。
腾讯云大数据实时可视交互系统 [RayData],基于数据实时渲染技术,利用各种技术从大规模数据通过本系统,实现云数据实时图形可视化、场景化以及实时交互,让使用者更加方便地进行数据的个性化管理与使用。
扫码关注腾讯云开发者
领取腾讯云代金券