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).

HMSHierarchical Storage Management,数据的分级存储管理。

存储系统管理数据时,需要依据数据的特点即生命周期、访问热度、访问时延、吞吐量等,综合考虑系统性能、容量、保留策略,充分利用不同的存储设备的特点,自动迁移数据。

现有计算的存储设备,比如:

  • CPU内的寄存器,访问时延低、存储容量低、成本高。
  • CPU内的缓存,访问时延低、存储容量低、成本高。
  • 计算机的主存,相比于比CPU内缓存,访问时延高,存储容量大,成本低。
  • 存储盘
    • SSD,即固态盘,相比于计算机的主存,访问时延接近,存储容量大,成本低一点。
    • HDD,即机械硬盘,相比于SSD,访问时延高,存储容量大,成本低。
    • CD/DVD,即光盘,相比于HDD,访问时延高,存储容量大,成本低,但只能写一次,反复多读次,一般只用于冷数据归档。
    • 磁带库,相比于HDD,访问时延高,存储容量大,成本低,一般只用于冷数据归档。

设计存储系统时,可以依据业务场景以及预算,配置集群的规模,以及数据迁移的策略,充分利用预算,达成业务目标。

数据的分级策略的实现思路,使用不同的存储设备来存储不同访问热度的数据,平衡成本、性能、容量等几方面诉求,实现存储效率最大化。
数据的热度,划分为热、温、冷、冰,对应不同的存储层级。
依据常识,新创建的文件,一般认为是热数据;对于已存在的文件,新写入的数据,也认为是热数据。
受限于热数据存储的容量,在一段时间后,对于访问频率下降的数据,需要依据一定的策略,依次迁移至温存储、冷存储。
对于归档、备份的数据,在可预见的一段时间内,访问频率很低或者没有访问,此时可以迁移至冰存储中。
存储的单位成本,由高至低,依次为热、温、冷、冰。
存储的访问时延,由高至低,依次为热、温、冷、冰。
存储的容量,由小至大,依次为热、温、冷、冰。
分级的迁移操作,可行的实现方案:

  • 人工判断,手工操作。由业务管理员人工判定文件的热度,手动将满足要求的文件迁移至不同的存储层级。
  • 人工判断,自动执行。由业务管理员人工判定文件的热度,给出迁移的判断条件,由存储系统自行执行迁移操作。依据POSIX规范,可用的判断条件,比如:
    • 文件的时间,即crtime/ctime/mtime/atime。
    • 文件的归属用户/用户组。
    • 文件的目录。
    • 文件名,前缀、后缀或者模糊匹配。
    • 指定的文件清单。
  • 存储系统判定,存储系统执行。由存储系统记录各文件的访问操作,依据一定规则计算文件的热度,按照一定周期,自动将文件迁移至不同的存储层级。

分级的迁移操作,可以实现为一次操作,以及周期性操作。对于周期性操作,考虑到任务执行的成本,需要实现对文件系统的增量扫描,降低对存储系统的影响。
迁移操作运行过程中的注意事项:

  • 不能影响存储业务I/O操作的正常运行。
  • 运行时自动调整占用的资源,即当存储系统承载的业务请求压力大时,需要自动降低工作负载或者直接暂停,待业务压力下降时再恢复运行。
  • 记录必要的日志,方便开发团队、运维团队分析、处理业务故障。
  • 文件或者文件的数据在不同的存储层级之间迁移时,需要保证数据的一致性。

对于已分级的数据,当客户应用访问时,应当如何处理?可行的策略如下:

  • 当文件的热度上升时,可以依据一定的策略,反向依次从冰、冷、温、热,迁移数据。
  • 当文件的热度暂时不满足反向迁移的要求,可以考虑在上一层或者热的存储层级中,临时缓存文件,提升文件的访问效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis7(二)数据类型及其用法

一、概述 命令不区分大小写&#xff0c;key区分大小写 数据类型针对value String List Set Hash ZSet bitmap GEO HyperLogLog Stream bitfield 二、String <K,V> 1、设值/取值 getrange key index1 index2 getrange key 0 -1//获取所有的值 SETRANGE KEY_N…

线程池实践篇

文章目录 配置线程池参数定义参数实体bean配置线程池使用 配置线程池参数 定时任务线程池基础参数 # 定时任务线程池基础参数 task:pool:corePoolSize: 5 # 核心线程数maxPoolSize: 20 # 设置最大线程数keepAliveSeconds: 300 # 设置线程活跃时间&#xff0c;单位秒queueCapa…

使用 Go-Ora 连接到 Oracle 数据库

前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。 这个开发者版本可以很便捷的拉起、测试、销毁&#xff0c;对开发者是非常友好的。 本文将介绍如何使用 Go 语言构建项目&#xff0c;并连接到 Oracle 数据库。 Go 环境配置 本文使用的…

第十四天--指针函数的练习

1.a个学生&#xff0c;有b门课程成绩&#xff0c;求不及格的学生的学号&#xff0c;和不合格的科目成绩 思路&#xff1a;定义一个数组存放a个学生,b门课程的成绩---在main函数中用for循环判断n个学生是否有不合格的成绩&#xff08;hine&#xff09;---定义指针指向指针函数&…

如何将本地websocket服务端从本地暴露至公网实现客户端远程连接

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

Rust语言入门第一篇-环境搭建

Rust语言入门第一篇 Rust官网 一&#xff0c;环境搭建 1、C开发环境配置 Rust 语言的底层是依赖于 C/C 编译器的。在安装 Rust 编译器时&#xff0c;通常会自动安装所需的 C/C 编译环境&#xff0c;以便 Rust 能够生成可执行文件或库。因此&#xff0c;在安装 Rust 之前&…

Docker之数据卷和Dockerfile

目录 一、Docker数据管理 二、数据卷 创建数据卷 查看数据卷 删除数据卷 挂载数据卷 三、数据卷容器 创建数据卷容器 测试数据卷容器 备份数据卷容器 还原数据卷容器 四、Dockerfile 什么是Dockerfile 基本结构 常用指令 快速入门 编写Dockerfile文件 构建镜…

一些考研经验

前言 考研结束已有半个月&#xff0c;之前一直想写经验贴&#xff0c;奈何感觉自己本身就比较菜&#xff0c;考了两年才堪堪上岸&#xff0c;所以有些犹豫&#xff0c;拖拖沓沓到现在&#xff0c;思虑再三最终决定把自己对于考研的一些拙见记录一下&#xff0c;供各位参考。 …

安全升级,智能领航:RFID技术推动铁路锁控系统进入新时代

随着我国铁路运输行业的快速发展&#xff0c;铁路安全运营的重要性日益凸显&#xff0c;为了提高铁路运输安全性&#xff0c;降低人为操作失误&#xff0c;航连科技提出了一种基于RFID技术的铁路智能锁控系统解决方案&#xff0c;旨在为我国铁路安全运营提供有力支持。 一、系统…

第3章 数据定义语言DDL

文章目录 第3章 DDL语言&#xff1a;数据定义语言3.1 MySQL的数据类型3.2 表的创建&#xff1a;create3.3 表的删除&#xff1a;drop3.4 快速创建表3.5 快速删除表中的数据&#xff1a;truncate3.6 修改表结构&#xff1a;alter 第5章 约束5.1 非空约束&#xff1a;not null5.2…

LeetCode:2009. 使数组连续的最少操作数(排序 Java)

目录 2009. 使数组连续的最少操作数 题目描述&#xff1a; 实现代码与解析&#xff1a; 排序 去重 双指针 原理思路&#xff1a; 滑动窗口 原理思路&#xff1a; 2009. 使数组连续的最少操作数 题目描述&#xff1a; 给你一个整数数组 nums 。每一次操作中&#xff0c…

点云从入门到精通技术详解100篇-基于激光点云和视觉融合的智能车前方障碍物检测(下)

目录 4 基于传感器信息融合的前方障碍物检测及跟踪 4.1 融合算法总体结构 4.2 传感器时空同步

C++:VS dump调试(2)

之前写的&#xff1a; C&#xff1a;VS2019调试dump文件-CSDN博客 1、需要dump文件【这个一般是客户现场收集的】 2、对应的pdb文件【这个是软件编译时候生成的】 3、代码【有可能只有自己负责模块的代码&#xff0c;没有全部代码&#xff0c;但是基本调试也是只会用到自己部…

IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析

DHCP动态获取 IP 地址 我们的电脑通常都是通过 DHCP 动态获取 IP 地址&#xff0c;大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文&#xff08;DHCP DISCOVER&#xff09; 的 IP 数据报&#xff0c;由于客户端没有 IP 地址&#xff0c;也不知道 DHCP 服务器的…

FPGA:图像数字细节增强算法(工程+仿真+实物,可用毕设)

目录 日常唠嗑一、视频效果二、硬件及功能1、硬件选择2、功能3、特点 未完、待续……四、工程设计五、板级验证六、工程获取 日常唠嗑 有2个多月没写文章了&#xff0c;又是老借口&#xff1a;“最近实在是很忙”&#x1f923;&#xff0c;不过说真&#xff0c;确实是比较忙&am…

DIY可视化UniApp表格组件

表格组件在移动端的用处非常广泛&#xff0c;特别是在那些需要展示结构化数据、进行比较分析或提供详细信息的场景中。数据展示与整理&#xff1a;表格是展示结构化数据的理想方式&#xff0c;特别是在需要展示多列和多行数据时。通过表格&#xff0c;用户可以轻松浏览和理解数…

java数据结构与算法刷题-----LeetCode238. 除自身以外数组的乘积

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 动态规划&#xff1a;左右乘积列表2. 滚动数组对动态规划过程…

老子云、AMRT3D、眸瑞科技

老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 1、基…

Open CASCADE学习|统计形状拓扑数量

边界表示法&#xff08;Boundary Representation&#xff0c;简称B-Rep&#xff09;是几何造型中最成熟、无二义的表示法。它主要用于描述物体的几何信息和拓扑信息。在边界表示法中&#xff0c;一个实体&#xff08;Solid&#xff09;由一组封闭的面&#xff08;Face&#xff…

easyExcel - 按模板导出

目录 前言一、情景介绍二、文档介绍2.1 读取模板2.2 填充模板 三、代码示例3.1 案例一&#xff1a;工资表3.2 案例二&#xff1a;报价单 四、我所遇到的问题 前言 Java-easyExcel入门教程&#xff1a;https://blog.csdn.net/xhmico/article/details/134714025 之前有介绍过如…