Ceph分层存储分析
最近弄Ceph集群考虑要不要加入分层存储 因此花了点时间研究了下
1,首先肯定要弄清Ceph分层存储的结构 ,结构图大概就是下图所示
缓存层(A cache tier)为Ceph客户端提供更好的I/O性能,而数据存储在存储层(a backing storage tier)。用相对快速/昂贵的设备(比如SSD)创建pool作为缓存层(A cache tier),用纠删码池或者相对慢速/便宜的设备创建pool作为经济的存储池。Ceph(The Ceph objecter)负责对象存放的位置,分层代理(the tiering agent)确定什么时候把数据对象从缓存层(the cache)存储到存储层(the backing storage tier)。因此对Ceph客户端而言缓存层(the cache tier)和存储层(the backing storage tier)是完全透明的。
2,了解了结构图和基本概念 看到一个关键词 分层代理
所谓分层代理其实就是分层存储数据迁移方案,缓存分层代理负责在缓存层与存储层间的数据的自动迁移,然而管理员有权利配置数据如何迁移 有两种数据迁移模式 在下面附上自己见解
回写模式 :如果管理员配置缓存层为回写模式,CEPH客户端把数据写入缓存层,并且收到缓存层的ACK,写入缓存层的数据随后迁移到存储层,然后从缓存层清除,读取的话如果客户端要读取的数据在存储层,代理会把数据先迁移到缓存层,后再发往客户端,客户端与缓存层进行IO 大概流程如下所示
只读模式:客户端写数据到存储层,读数据的时候,ceph从存储层拷贝需要的数据到缓存层,根据定义好的规则,旧数据从缓存层删除 配上自己大概流程图
仔细分析两种模式 可以得知 第一种模式客户端只与缓存层进行交互 第二种模式客户端写入时直接与存储层进行交互
为什么进行这种设计,肯定是有不同的应用场景,第一种回写模式主要用于经常变动的数据,第二种只读模式主要用于不经常变动的数据,因为数据是从缓存层读取的,因此数据可能是过时的数据,换一句话说数据是弱一致的,因为客户端写入的时候是不经过缓存层的,缓存层并不能保证数据是最新的 而第一种模式可以保证这一点
3,分层存储的目的和缺点
无疑分层存储的目的在于更好的利用磁盘资源,可以将SSD作为缓冲层,HDD作为后端存储,这样热数据可以在SSD上被快读的读取,大量的冷数据在HDD上存储
个人认为有以下缺点(本人水平为在校研究生 不足之处请指正但请勿喷):
1:使用分层存储可能会引起性能的下降,因为数据要经常移出或读进缓冲,这会增加读取时间,缓冲 的有效应用场景应该是针对大文件,经常读而少写的数据。而且缓存需要足够大。(我们的应用场景是需要经常性频繁的读写小文件,因此觉得这可能不适用)
2:添加缓存层容易引起机制复杂性
3:进行性能测试时会显示出比较差的性能(确定真正的热数据需要昂贵的代价)
因为项目的原因自己有阅读深信服的技术白皮书 看了CEPH的分层存储方案 在这里对深信服的存储技术是怎么做的做一个介绍
1,整体结构
2,首次文件读操作
3,二次文件读操作
4,文件块首次写预缓存
5,文件块二次写更新缓存
看完深信服的存储方案,自己学习到了很多,无疑它的存储方案更加适用 贴上上述技术纯属分享 如有违权 请联系我我会及时删除 以上内容为自己心得 转载请注明出处
转载于:https://www.cnblogs.com/Mrjie/p/6007581.html
Ceph分层存储分析相关推荐
- 《Ceph源码分析》——导读
本节书摘来自华章出版社<Ceph源码分析>一书中的导读,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 目 录 序言 第1章 Ceph整体架构 1.1 ...
- 《Ceph源码分析》——第1章,第5节RADOS
本节书摘来自华章出版社<Ceph源码分析>一书中的第1章,第1.5节RADOS,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 1.5 RADOS RA ...
- Ceph分布式存储系统优化分析
前篇文章"Ceph分布式存储系统架构研究综述"重点分析了Ceph分布式存储系统架构,今天接着Ceph话题,继续分享Ceph常见的系统和性能优化技术. Ceph支持多种存储访问接口, ...
- 《Ceph源码分析》——第1章,第一节Ceph的发展历程
本节书摘来自华章出版社<Ceph源码分析>一书中的第1章,第1.1节Ceph的发展历程,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 Ceph ...
- 基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇
简介: 本文简要介绍了基于 MySQL 结合 Tablestore 的大规模订单系统方案.这种方案支持大数据存储.高性能数据检索.SQL搜索.实时与全量数据分析,且部署简单.运维成本低. 作者 | 弘 ...
- 深度 | 数据仓库分层存储技术揭秘
简介: 作者: 沄浩.士远 一 .背景 据IDC发布的<数据时代2025>报告显示,全球每年产生的数据将从2018年的33ZB增长到2025年的175ZB,平均每天约产生491EB数据.随 ...
- Ubuntu16.04LTS部署CEPH文件存储集群
直接从word文档复制的 懒得整理格式了 基础环境安装 添加硬盘 步骤1集群安装需要三台及以上服务器,此处以3台作为示例,此处直接使用每台主机第二块硬盘空间作为存储空间方案,每台服务器须添加一块硬盘. ...
- 集群基础之04(部署ceph实验环境、部署ceph集群、创建Ceph块存储、块存储应用、挂载Ceph文件系统、创建对象存储服务器)
目录 前言: Ceph简介 Ceph特点 Ceph架构 Ceph核心组件及概念介绍 1.部署ceph实验环境: 2 .部署ceph集群 3.创建Ceph块存储 4.块存储应用 5.挂载Ceph文件系统 ...
- 极简实现 TiDB 冷热数据分层存储 | He3 团队访谈
参加 Hackathon 可以接触到内核.工具.生态各个领域中志同道合的小伙伴,通过他们的项目学习到非常好的创意.大家的想法都很奇妙,充满了创新力,在平时的研发过程中,很少能接触到这些,Hackath ...
最新文章
- Oracle to_char() to_date() to_number()函数
- Codeforces 138C(区间更新+离散化)
- Python中的时间转换和时间获取
- BXP_4.1安装配置及域应用随记一
- GEO基因芯片数据处理精华(一):GEOquery包
- 俄罗斯方块代码 java_俄罗斯方块java代码-java编写俄罗斯方块代码详解分享
- 一级计算机office选择题题库及答案,计算机一级msoffice选择题题库40套含答案
- Java笔试面试-算法常用面试题
- cd40系列芯片_CD40系列 74系列芯片
- 互联网晚报 | 8月22日 星期日 | 抖音回应腾讯《扫黑风暴》相关投诉;比亚迪半导体被中止上市审核;三星正式推出UPC技术...
- Linux查看系统自启动服务
- 杰奇 v1.7去限制版橙色模板小说源码
- 产品读书《B端产品经理必修课:从业务逻辑到产品构建全攻略》
- 15_微信小程序之svg地图自定义组件编写
- SWUSTOJ #67 学生成绩管理
- 科技感十足五款APP软件,让你的手机不再低调!
- 如何使用测试仪进行400G交换机性能测试
- 【优动漫 PAINT应用篇】绘制插画之上墨线
- Python WOE的使用
- Pytorch预训练模型加载