最近弄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分层存储分析相关推荐

  1. 《Ceph源码分析》——导读

    本节书摘来自华章出版社<Ceph源码分析>一书中的导读,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 目 录 序言 第1章 Ceph整体架构 1.1 ...

  2. 《Ceph源码分析》——第1章,第5节RADOS

    本节书摘来自华章出版社<Ceph源码分析>一书中的第1章,第1.5节RADOS,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 1.5 RADOS RA ...

  3. Ceph分布式存储系统优化分析

    前篇文章"Ceph分布式存储系统架构研究综述"重点分析了Ceph分布式存储系统架构,今天接着Ceph话题,继续分享Ceph常见的系统和性能优化技术. Ceph支持多种存储访问接口, ...

  4. 《Ceph源码分析》——第1章,第一节Ceph的发展历程

    本节书摘来自华章出版社<Ceph源码分析>一书中的第1章,第1.1节Ceph的发展历程,作者常涛,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 Ceph ...

  5. 基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇

    简介: 本文简要介绍了基于 MySQL 结合 Tablestore 的大规模订单系统方案.这种方案支持大数据存储.高性能数据检索.SQL搜索.实时与全量数据分析,且部署简单.运维成本低. 作者 | 弘 ...

  6. 深度 | 数据仓库分层存储技术揭秘

    简介: 作者: 沄浩.士远 一 .背景 据IDC发布的<数据时代2025>报告显示,全球每年产生的数据将从2018年的33ZB增长到2025年的175ZB,平均每天约产生491EB数据.随 ...

  7. Ubuntu16.04LTS部署CEPH文件存储集群

    直接从word文档复制的 懒得整理格式了 基础环境安装 添加硬盘 步骤1集群安装需要三台及以上服务器,此处以3台作为示例,此处直接使用每台主机第二块硬盘空间作为存储空间方案,每台服务器须添加一块硬盘. ...

  8. 集群基础之04(部署ceph实验环境、部署ceph集群、创建Ceph块存储、块存储应用、挂载Ceph文件系统、创建对象存储服务器)

    目录 前言: Ceph简介 Ceph特点 Ceph架构 Ceph核心组件及概念介绍 1.部署ceph实验环境: 2 .部署ceph集群 3.创建Ceph块存储 4.块存储应用 5.挂载Ceph文件系统 ...

  9. 极简实现 TiDB 冷热数据分层存储 | He3 团队访谈

    参加 Hackathon 可以接触到内核.工具.生态各个领域中志同道合的小伙伴,通过他们的项目学习到非常好的创意.大家的想法都很奇妙,充满了创新力,在平时的研发过程中,很少能接触到这些,Hackath ...

最新文章

  1. Oracle to_char() to_date() to_number()函数
  2. Codeforces 138C(区间更新+离散化)
  3. Python中的时间转换和时间获取
  4. BXP_4.1安装配置及域应用随记一
  5. GEO基因芯片数据处理精华(一):GEOquery包
  6. 俄罗斯方块代码 java_俄罗斯方块java代码-java编写俄罗斯方块代码详解分享
  7. 一级计算机office选择题题库及答案,计算机一级msoffice选择题题库40套含答案
  8. Java笔试面试-算法常用面试题
  9. cd40系列芯片_CD40系列 74系列芯片
  10. 互联网晚报 | 8月22日 星期日 | 抖音回应腾讯《扫黑风暴》相关投诉;比亚迪半导体被中止上市审核;三星正式推出UPC技术...
  11. Linux查看系统自启动服务
  12. 杰奇 v1.7去限制版橙色模板小说源码
  13. 产品读书《B端产品经理必修课:从业务逻辑到产品构建全攻略》
  14. 15_微信小程序之svg地图自定义组件编写
  15. SWUSTOJ #67 学生成绩管理
  16. 科技感十足五款APP软件,让你的手机不再低调!
  17. 如何使用测试仪进行400G交换机性能测试
  18. 【优动漫 PAINT应用篇】绘制插画之上墨线
  19. Python WOE的使用
  20. Pytorch预训练模型加载

热门文章

  1. iSCSI软件套件 介绍
  2. 禁止windows系统的自动运行功能
  3. 全球链界科技发展大会_如何成为科技界的团队合作者
  4. IP地址和MAC地址
  5. 1151 LCA in a Binary Tree (含求LCA的通法)
  6. (C++)1002 写出这个数
  7. java培训分享:java培训架构师学习线路图
  8. PMP®考试是什么机构
  9. 手机应用软件测试的思路与要点
  10. 人工智能--野人过河