Lustre架构介绍的阅读笔记-NFS兼容性

简介: Lustre是分布式NFS系统,融合了分布式系统和NFS特性。它支持线性扩展容量和性能,提供POSIX语义,隐藏复杂存储细节。关键技术涉及分布式计算、缓存、锁、事务、通信(RPC、消息队列、同步/异步模式)、选举、任务调度、健康检查、负载均衡、集群管理和QoS。数据一致性、复制(副本、EC)、热点管理及多种上层协议(如NFS、S3)也是重点。分布式存储通过扩容提升读写带宽和IOPS。

Lustre是分布式的NFS存储系统,因此具备分布式系统和NFS的特征和约束。

  • 作为分布式存储,允许通过扩容实现容量、性能的线性扩展。
  • 作为NFS,对客户应用提供POSIX语义支持,并屏蔽存储系统的实现细节。

分布式系统的技术点,比如:

  • 分布式计算
  • 分布式缓存
  • 预热数据
  • 老化数据
  • 分布式锁
  • 分布式事务
  • 分布式通信
  • RPC
  • 接口的注册
  • 通信的路由
  • API通信超时
  • API通信失败时重试
  • 消息队列
  • 通信模式,即同步、异步。
  • 选举策略
  • 热点
  • 任务系统
  • 周期性执行任务
  • 单次执行
  • 单节点执行任务
  • 多节点并发执行
  • 多节点串行执行
  • 健康检查
  • 负载检查
  • 状态检查
  • 负载均衡
  • 集群管理
  • 扩容节点
  • 缩容节点
  • 配额
  • QoS
  • 非功能
  • 性能
  • 可靠性
  • 故障迁移
  • 安全

分布式存储系统的技术点,比如:

  • 复制数据
  • 副本
  • EC
  • 数据的一致性
  • 不一致的检测
  • 重建数据的策略
  • WAL即write ahead log
  • 热点
  • 访问的热点
  • 存储的热点
  • 自动平衡的策略
  • 上层协议,比如NFS、CIFS、SMB、HDFS、FTP、S3等。
  • 网络技术,比如IB/Ethernet等。
  • 业务网络,存储的应用、存储的客户端与存储系统通信、交换数据。
  • 业务管理网络,管理员执行管理操作,接入管理系统。
  • 运维管理网络,运维团队下发日常运维操作时,接入管理系统,访问存储集群中各节点。
  • 存储网络,存储集群中各节点内部通信。

分布式存储系统与传统的单机存储系统的差别,通过扩容可以快速实现性能的提升,比如:

  • 读带宽/写带宽
  • 单块盘的读/写带宽存在上限,因此同时操作的盘数量越多,可以快速提升集群的读/写带宽。
  • 单机的网络带宽存在上限,分布式存储可通过增加节点数量,实现带宽的线性增长。
  • IOPS,单机的文件存储,硬件配置无法扩展和动态配置,因此处理的IOPS受限。对于分布式存储,可以通过增加节点来提升IOPS。对于Lustre而言,可以通过增强MDS节点的硬件配置,或者增加MDS节点的数量,进而提升集群的IOPS指标的表现。
相关文章
|
11天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
1月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
69 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
23天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
24 1
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
410 37
|
1月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
本系列学习教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin语法的读者,建议参考“简洁”系列教程。本文重点介绍了Kotlin实现MVVM架构的设计思路和代码实现,包括Model、ViewModel和View层的具体实现,以及如何通过LiveData和viewModelScope有效管理数据和内存,避免内存泄漏。此外,还讨论了MVVM架构的常见缺点及应对策略,帮助开发者在实际项目中更好地应用这一设计模式。
33 1
|
1月前
|
前端开发 测试技术 数据处理
Kotlin教程笔记 - MVP与MVVM架构设计的对比
Kotlin教程笔记 - MVP与MVVM架构设计的对比
33 2
|
1月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
31 2
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
|
1月前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
36 0
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
51 0