Lustre架构介绍的阅读笔记-HSM
本文是在阅读Introduction to Lustre* Architecture的Lustre HSM System Architecture时的笔记。
Hierarchical Storage Management (HSM) is a collection of technologies and processes designed to provide a cost-effective storage platform that balances performance, capacity and long term retention (archival).
HMS即Hierarchical Storage Management,数据的分级存储管理。
存储系统管理数据时,需要依据数据的特点即生命周期、访问热度、访问时延、吞吐量等,综合考虑系统性能、容量、保留策略,充分利用不同的存储设备的特点,自动迁移数据。
现有计算的存储设备,比如:
- CPU内的寄存器,访问时延低、存储容量低、成本高。
- CPU内的缓存,访问时延低、存储容量低、成本高。
- 计算机的主存,相比于比CPU内缓存,访问时延高,存储容量大,成本低。
- 存储盘
- SSD,即固态盘,相比于计算机的主存,访问时延接近,存储容量大,成本低一点。
- HDD,即机械硬盘,相比于SSD,访问时延高,存储容量大,成本低。
- CD/DVD,即光盘,相比于HDD,访问时延高,存储容量大,成本低,但只能写一次,反复多读次,一般只用于冷数据归档。
- 磁带库,相比于HDD,访问时延高,存储容量大,成本低,一般只用于冷数据归档。
设计存储系统时,可以依据业务场景以及预算,配置集群的规模,以及数据迁移的策略,充分利用预算,达成业务目标。
数据的分级策略的实现思路,使用不同的存储设备来存储不同访问热度的数据,平衡成本、性能、容量等几方面诉求,实现存储效率最大化。
数据的热度,划分为热、温、冷、冰,对应不同的存储层级。
依据常识,新创建的文件,一般认为是热数据;对于已存在的文件,新写入的数据,也认为是热数据。
受限于热数据存储的容量,在一段时间后,对于访问频率下降的数据,需要依据一定的策略,依次迁移至温存储、冷存储。
对于归档、备份的数据,在可预见的一段时间内,访问频率很低或者没有访问,此时可以迁移至冰存储中。
存储的单位成本,由高至低,依次为热、温、冷、冰。
存储的访问时延,由高至低,依次为热、温、冷、冰。
存储的容量,由小至大,依次为热、温、冷、冰。
分级的迁移操作,可行的实现方案:
- 人工判断,手工操作。由业务管理员人工判定文件的热度,手动将满足要求的文件迁移至不同的存储层级。
- 人工判断,自动执行。由业务管理员人工判定文件的热度,给出迁移的判断条件,由存储系统自行执行迁移操作。依据POSIX规范,可用的判断条件,比如:
- 文件的时间,即crtime/ctime/mtime/atime。
- 文件的归属用户/用户组。
- 文件的目录。
- 文件名,前缀、后缀或者模糊匹配。
- 指定的文件清单。
- 存储系统判定,存储系统执行。由存储系统记录各文件的访问操作,依据一定规则计算文件的热度,按照一定周期,自动将文件迁移至不同的存储层级。
分级的迁移操作,可以实现为一次操作,以及周期性操作。对于周期性操作,考虑到任务执行的成本,需要实现对文件系统的增量扫描,降低对存储系统的影响。
迁移操作运行过程中的注意事项:
- 不能影响存储业务I/O操作的正常运行。
- 运行时自动调整占用的资源,即当存储系统承载的业务请求压力大时,需要自动降低工作负载或者直接暂停,待业务压力下降时再恢复运行。
- 记录必要的日志,方便开发团队、运维团队分析、处理业务故障。
- 文件或者文件的数据在不同的存储层级之间迁移时,需要保证数据的一致性。
对于已分级的数据,当客户应用访问时,应当如何处理?可行的策略如下:
- 当文件的热度上升时,可以依据一定的策略,反向依次从冰、冷、温、热,迁移数据。
- 当文件的热度暂时不满足反向迁移的要求,可以考虑在上一层或者热的存储层级中,临时缓存文件,提升文件的访问效率。
Lustre架构介绍的阅读笔记-HSM的更多相关文章
- HEVC标准介绍+论文阅读笔记
脱离视频编解码.投入计算机视觉一年,这个博客也歇业一年,最近偷些时间回顾一下编解码,毕竟花费了整个研一的时间(虽然这一年基本上在上课). 之前写过几篇H.264标准的几篇介绍文章,详见:http:// ...
- 《YouTube 网站的架构演进》阅读笔记
概述 YouTube 在国内是个404网站,需要翻墙得见,这是有用的废话,先铺垫一下. 从全球网站来看,它仅次于母公司 Google,全球排名位列第2.每天超过5亿以上视频播放量,平均每个用户点击10 ...
- 《京东B2B业务架构演变》阅读笔记
一.京东 B2B 业务的定位 让各类型的企业都可以在京东的 B 平台上进行采购.建立采购关系. 京东 B2B 的用户群体主要分为 2 类: 一类是大 B 用户.另一类是小 B 用户.京东 B 平台需要 ...
- IT架构的本质--阅读笔记01
万物都有其本质,也只有了解了事物的本质之后,才不至于出现在事物稍作改变时就难以应对的情况,作为软件工程专业的学生,我们应该对IT架构的本质有一定的了解.“老僧三十年前未参禅时,见山是山,见水是水.及至 ...
- 【阅读笔记】rocketmq 概念与架构 (一)
介绍 rocketmq 框架与基本概念 1. 概念 1.1 namesrv(name server) 记录了 broker 集群信息,消息队列的信息以及 key-value 配置,见 RouteInf ...
- 云时代架构阅读笔记六——Java内存模型详解(二)
承接上文:云时代架构阅读笔记五——Java内存模型详解(一) 原子性.可见性.有序性 Java内存模型围绕着并发过程中如何处理原子性.可见性和有序性这三个特征来建立的,来逐个看一下: 1.原子性(At ...
- MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎
文章目录 Mysql逻辑架构介绍 总体概览 总体概览 mysql存储引擎 查看命令 看你的 mysql 现在已提供什么存储引擎 : 看你的 mysql 当前默认的存储引擎 : 各个引擎简介 MyISA ...
- 阅读笔记 1 火球 UML大战需求分析
伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本 <火球 UML大战需求分析>,首先 ...
- QCon 2015 阅读笔记 - 其他精选主题
QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 QCon 2015 阅读笔记 - 其他精选主题 以前分享过两个主题:移动开发 ...
- QCon 2015 阅读笔记 - 移动开发最佳实践
所有ppt下载地址:http://pan.baidu.com/s/1mg9o4TM 下面是移动开发实践部分的阅读笔记. 移动开发网络性能优化实践 - 陈浩然 (携程) 携程是非常标准的移动App架构, ...
随机推荐
- 第一百一十篇:内存泄漏和垃圾回收(JS)
好家伙,本篇内容为<JS高级程序设计>第四章的学习笔记 1.内存泄露 1.1.什么是内存泄漏? 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释 ...
- 【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
问题一:App Service 的默认启动路径为wwwroot,如何修改到到PHP代码运行目录呢? 如Laravel的启动目录为public/?那如何修改呢? App Service 的默认 PHP ...
- [C++逆向] 7 变量在内存中的位置和访问方式
目录 全局变量和局部变量的区别 局部静态变量 有意思的 堆变量 变量类型 作用域 可访问 全局变量 进程作用域 整个进程可访问 静态变量 文件作用域 当前代码文件可访问 局部变量 函数作用域 函数内可 ...
- 5. JVM虚拟机栈
1.概述 说到jvm 其中让人印象最深的就是栈和堆,也是 jvm中占用内存最大的两个地方. 从宏观上来看栈是运行时的单位,而堆是存储的单位 ,栈解决程序的运行问题,即程序如何执行,或者说如何处理数据. ...
- Java 自定义数组的工具类
1 /** 2 * 3 * @Description 自定义数组的工具类 4 * @author Bytezero·zhenglei! Email:420498246@qq.com 5 * @vers ...
- ReentrantLock原理CAS+AQS队列
ReentrantLock主要利用CAS+AQS队列来实现.它支持公平锁和非公平锁,两者的实现类似. CAS:Compare and Swap,比较并交换.CAS有3个操作数:内存值V.预期值A.要修 ...
- java基础 韩顺平老师的 面向对象(基础) 自己记的部分笔记
194,对象内存布局 基本数据类型放在堆里面,字符串类型放在方法区. 栈:一般存放基本数据类型(局部变量) 堆:存放对象(Cat cat,数组等) 方法区:常量池(常量,比如字符串),类加载信息 19 ...
- [VueJsDev] 快速入门 - 开发前小知识
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html 开发前小知识 ::: details 目录 目录 开发前小知 ...
- Editor - Goto Location: Multiple Definitions - vscode 多个定义,直接跳转到主定义 不进行选择
Editor - Goto Location: Multiple Definitions - vscode 多个定义,直接跳转到主定义 不进行选择 配置里面 搜 多
- Android热点SoftAP使用方式
一.背景 最近项目中Android设备需要获取SoftAP信息(wifi账号.密码.IP等),然后传递到投屏器中,那么如何获取到SoftAP信息呢?我们知道可以通过WifiManager类里的方法可以 ...