Lustre架构介绍的阅读笔记-客户端

本文是在阅读Introduction to Lustre* Architecture的Lustre File System – Clients时的笔记。

Lustre客户端部署在客户的计算节点上,工作时不占用本地的硬盘。

  • 不使用本地硬盘作为缓存或者后备空间。
  • 对存储系统的访问均通过网络。

Lustre客户端作为Linux内核的模块,工作在内核态,有如下特点:

  • 通过提供硬盘的挂载点来提供访问服务。
  • 客户应用的访问方法兼容POSIX规范,保证客户端无需修改、适配即可访问。

使用Lustre客户端时,有如下注意事项:

  • 对开发、测试、运维团队的技能有一定的要求,需要对内核有相应的了解。
  • 开发、调试、定位问题,相对比较困难。
  • 故障后的恢复手段比较单一,可能很多问题都需要重启系统,此时将中断业务。

Lustre客户端包括如下组件:

  • MGC即Management Client,负责与MGS通信。MGC部署在MGS节点和客户端节点。
  • MDC即Metadata Client,负责与MDS通信。MDC部署在客户端节点。
  • OSC即Object Storage Client,负责与OST通信。OSC部署在MDS和客户端节点。

LNet router即Lustre Network Routers,负责桥接不同网络协议,纯软件解决方案。

说起存储系统的客户端,可以联想到很多,比如:

  • 客户端的体量
    • 胖客户端
    • 瘦客户端
    • 无客户端
  • 客户端与客户应用间通信的方式
    • POSIX
    • NFS
    • CIFS
    • S3
    • SDK
  • 客户端与存储系统间通信的方式
    • NFS
    • CIFS
    • S3
    • 私有
  • 集成方式
    • 作为SDK,内置在客户应用内部。
    • 独立进程,与客户应用共节点部署。
      • 1个进程对应多个客户应用。
      • 1个进程对应1个客户应用。
    • 独立进程,单独节点部署。
  • 占用的资源
    • CPU
    • 内存
    • 硬盘
    • 网络
  • 缓存策略
    • 缓存的内容
      • 元数据
      • 数据
    • 缓存的可用范围
      • 进程内可用
      • 节点内可用
      • 节点间可用
    • 资源消耗
    • 性能
    • 一致性
    • 老化算法
      • LRU
    • 老化时机
      • 访问时老化
      • 定时,即启用定时任务,定期检查缓存占用的空间
      • 定量,实时监控占用空间,超出阈值即老化
    • 缓存的位置
      • 内存
      • 硬盘
  • 外部依赖
    • 网络
  • 集成的成本
    • 学习成本
    • 改造现有应用的成本
    • 版本管理
    • 升级成本
  • 运维
    • 故障
      • 业务恢复手段
      • 业务中断时长
      • 业务中断次数
    • 日常维护
    • 版本升级
      • 版本管理
      • 停机时长
      • 业务中断时长

依据上述分析,对Lustre客户端总结如下:

  • Lustre客户端可以认为是胖客户端。
  • Lustre客户端与客户的应用同机部署,需要消耗计算节点的资源,占用资源的规格,与性能的关系,需要后续分析,掌握评估方法。
  • 在客户计算节点上,安装并加载Lustre的内核模块,挂载硬盘访问点,客户的应用通过POSIX的文件API,即可访问Lustre存储集群。
  • Lustre客户端和Lustre存储集群之间使用私有的协议交互数据。
  • 客户的应用通过Lustre客户端访问Lustre存储集群时,所有的操作均直接通过网络操作完成,不占用本地存储的空间。
  • Lustre客户端是否使用缓存、以及缓存的使用方式,需要再深入代码来研究、确认。
  • 考虑到对客户应用而言,通过Lustre客户端访问Lustre存储集群,和访问本地挂载的盘或者分区类似,因此不涉及学习成本及应用的改造成本。
  • 由于Lustre客户端工作在内核态,因此在日常运维、问题定位、版本管理等方面,存在一定的工作量。
  • 当遇到Lustre客户端相关的故障时,可能需要中断业务、重新挂载、重启节点等才能规避,因此需要评估业务中断时长对客户的影响。

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

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

相关文章

文本溢出体验进阶:CSS 技巧实现单行/多行隐藏展示以及实际场景应用,确保内容可读性和布局整洁性

CSS文本溢出隐藏是一种常见的场景,它广泛应用于各种网页设计中,旨在确保内容的可读性和布局的整洁性,特别是在空间有限或需要适应不同屏幕尺寸的情况下。 一、文本溢出隐藏并显示省略号 1、单行文本溢出隐藏并显示省略号 对于单行文本&…

form的作用

HTML中的<form>标签主要用于收集用户输入的数据&#xff0c;并在用户提交表单时将这些数据发送到服务器进行处理。<form>标签及其内部的元素&#xff08;如<input>, <textarea>, <select>等&#xff09;一起构成了一个表单&#xff0c;用户可以通…

paho-mqtt 库揭秘

文章目录 **paho-mqtt 库揭秘**第一部分&#xff1a;背景介绍第二部分&#xff1a;paho-mqtt 是什么&#xff1f;第三部分&#xff1a;如何安装这个库&#xff1f;第四部分&#xff1a;库函数使用方法第五部分&#xff1a;场景应用第六部分&#xff1a;常见Bug及解决方案第七部…

【C语言笔记】dll库“__declspec”属性关键字总结,dllexport,dllimport

dll库“__declspec”属性关键字总结&#xff0c;dllexport&#xff0c;dllimport 一&#xff0c;简介二&#xff0c;介绍2.1 __declspec(dllexport)示例&#xff1a;1&#xff0c;extern "C"&#xff1a;2&#xff0c;__declspec(dllexport)&#xff1a; 2.2 __decls…

Swift-25-普通函数、闭包函数与Lamda表达式编程

函数 语法定义 先来看下swift中函数的定义&#xff0c;函数用关键字func来指定&#xff0c;语法相对复杂一点&#xff0c;主要有下列4种基本情况&#xff0c;还有比较复杂的&#xff0c;会在后续详细讲解。 无参函数定义 有参函数定义 一个简单的函数和函数调用示例如下&…

分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测

分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测 目录 分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类…

A1322 电烙铁发热芯热电偶温度与电压数据

就是这种四根线比较细的发热芯&#xff1a; 两根红色线是发热丝&#xff0c;另外两根是热电偶线&#xff0c;透明线是正极&#xff0c;不能搞错了。 非常粗略的测了一下&#xff0c;根本没有考虑误差。拿万用表直接测量热电偶的输出电压&#xff1b;用可调电源手动调节电压&am…

suse15 系统分区信息损坏修复案例一则

关键词 suse linux、系统分区fdisk、分区类型testdisk、grub2、bios There are many things that can not be broken&#xff01; 如果觉得本文对你有帮助&#xff0c;欢迎点赞、收藏、评论&#xff01; 一、问题现象 业务反馈一台suse服务器&#xff0c;因错误执行了fdisk分区…

TCP三次握手的原因

三次握手才可以阻止重复历史连接的初始化&#xff08;主要原因&#xff09;三次握手才可以同步双方的初始序列号三次握手才可以避免资源浪费为了确认双方的接收能力和发送能力都正常 为了实现可靠传输&#xff0c; 通信双方需要判断自己已经发送的数据包是否都被接收方收到&…

Linux 服务器硬件及RAID配置实战

服务器详解 服务器分类 可以分为&#xff1a;塔式服务器、机架服务器、刀片服务器、机柜服务器等。 其中以机架式居多 服务器架构 服务器品牌&#xff1a; 戴尔、AMD、英特尔、惠普、华为、华3&#xff08;H3C&#xff09;、联想、浪潮、长城 服务器规格&#xff1a; 规格…

【 C++ 】 讲解与实现 对数器接口

什么是对数器 说是叫对数器&#xff0c;但我觉得叫做核验器更好。 为什么&#xff1f;因为其作用是核验算法是否正确&#xff0c;所以我觉得叫核验器更好。 注意&#xff1a;本文实现的是生成只能int类型的对数器&#xff0c;其余类型不支持。 对数器的原理 对于一个核验器&am…

怎么用手机远程控制电脑 远程控制怎么用

怎么用手机远程控制电脑&#xff1a;远程控制怎么用 在这个科技日新月异的时代&#xff0c;远程控制电脑已经成为了很多人的需求。有时&#xff0c;我们可能在外出时突然需要访问家中的电脑&#xff0c;或者在工作中需要远程操控办公室的电脑。这时&#xff0c;如果能用手机远…

layui框架实战案例(27):弹出二次验证

HTML容器 <button class"layui-btn layui-btn-sm layui-btn-danger" lay-event"delete"><i class"layui-icon layui-icon-delete"></i>批量删除</button>删除封装函数 function delAll(school_id, school_name) {var lo…

Springboot+Vue项目-基于Java+MySQL的网上超市系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

【信号处理】基于EEG脑电信号的自闭症预测典型方法实现

理论 自闭者主要受到遗传和环境因素的共同影响。由于自闭症是一种谱系障碍&#xff0c;因此每个自闭症患者都有独特的优势和挑战。自闭症患者学习、思考和解决问题的方式可以是高技能的&#xff0c;也可以是严峻的挑战。研究表明&#xff0c;高质量的早期干预可以改善学习、沟…

ZStack教育云计算解决方案入选高质量数字化转型技术解决方案集

近日&#xff0c;中国信通院“铸基计划”《高质量数字化转型技术解决方案&#xff08;2023年度&#xff09;》&#xff08;以下简称“方案集”&#xff09;发布&#xff0c;云轴科技ZStack智慧教育云计算解决方案入选《高质量数字化转型技术解决方案集》。 为促进数字化转型相…

第63天:服务攻防-框架安全CVE 复现DjangoFlaskNode.JSJQuery

目录 思维导图 案例一&#xff1a;JavaScript-开发框架安全-Jquery&Node node.js目录穿越 CVE-2021-21315命令执行 Jquery CVE-2018-9207 案例二&#xff1a;Python-开发框架安全-Django&Flask django cve_2019_14234 CVE-2021-35042 flask ssti 思维导图 案…

Cocos Creator 节点的相关组件介绍与组件化代码开发详解

前言 Cocos Creator 它基于 JavaScript 和 TypeScript&#xff0c;并且提供了可视化编辑器&#xff0c;让开发者可以快速创建游戏。在 Cocos Creator 中&#xff0c;节点是游戏中的基本元素&#xff0c;所有的游戏对象都是由节点组成的。节点可以包含各种组件&#xff0c;组件…

目标检测YOLO实战应用案例100讲-基于多尺度特征融合的水下小目标检测方法研究(中)

目录 基于自监督对比学习的水下目标检测方法 4.1基于自监督对比学习的水下目标检测

Jenkins和gitlab实现CICD

1 背景 在开发TracerBackend服务的时候&#xff0c;每次更改代码之后需要推送到gitlab&#xff0c;然后ssh登录到Ubuntu的服务器上部署新的代码。服务成功启动之后&#xff0c;在本地执行测试用例&#xff0c;觉得这一套操作流程还是挺复杂的。想起公司的代码发布流程&#xf…