Lustre架构介绍的阅读笔记-基础知识
本文是在阅读Introduction to Lustre* Architecture的如下章节时的笔记。
- Lustre – Fast, Scalable Storage for HPC
- Lustre Scalable Storage
- Lustre Building Blocks
- Lustre Storage Scalability
Lustre software services are implemented entirely within the Linux kernel, as loadable modules.
Lustre作为Linux内核的模块,工作在内核态。
相对于其它存储软件,开发、调试、定位问题时,困难程度会大一些,对参与相关的业务的开发人员、运维人员的技能和经验有一定的要求。
A file in Lustre is comprised of a metadata inode object and one or more data objects.
在Lustre集群中,一个文件由一个元数据对象和多个数据对象组成。
Lustre is a client-server, parallel, distributed, network file system.
关键信息,如下:
CS模式,即客户端、服务端模式,由多个客户端和多个服务端组成。上层应用访问存储提供的服务时,需要集成客户端,通过客户端来访问存储服务器的实例。
并行,即多个应用、多个客户端可以和并行和存储服务器的实例通信,各个业务操作之间没有顺序的依赖。多个文件的访问操作、单个文件的不同部分的访问操作,均可以同时执行。
分布式系统,客户和存储服务器集群均可以水平扩容,具备分布式系统的优点和约束。
NFS,即网络文件系统,兼容POSIX规范。
Lustre separates metadata (inode) storage from block data storage (file content).
存储系统有三类职能:
- 管理职能,管理集群的元数据和配置参数。
- 集群的元数据,比如集群中各节点,服务端节点、客户端节点,存储节点的容量等。
- 配置参数,比如命名空间、容量等。
- 元数据服务,管理目录、文件的元数据。元比如:
- 名称
- 权限,比如uid/gid、UGO、ACL等
- 属性,比如时间类的属性
- crtime即文件的创建时间
- ctime即文件的元数据的变更时间
- mtime即文件的数据的变更时间
- atime即文件的最近访问时间
- 扩展属性
- 数据的分布
- 数据存储服务,管理文件的数据,文件被切割为对象,分布在集群中的多个存储服务节点上。
由上述分工可知,对于目录、文件的元数据的操作,均可由元数据服务实施,无需管理职能和数据存储服务参与。
This is the key concept of Lustre’s
design – separate small, random, IOPS-intensive metadata traffic from the large, throughputintensive, streaming block IO.
Lustre的设计思路,将文件数据和文件元数据的访问操作隔离,由不同的组件处理。这两类数据有不同的访问特征。
- 文件元数据的访问,随机、量小、时延敏感、IOPS要求高。
- 文件数据的访问,流式、吞吐量敏感。
元数据服务和数据存储服务可以独立扩容,依据不同的业务场景配置不同的数量比例。
承担管理职能的服务,由MGS、MGT组成,MGS提供服务,MGT负责存储数据。
承担元数据服务的服务,由MDS、MDT组成,MDS提供服务,MDT负责存储数据。
承担数据存储服务的服务,由OSS、OST组成,OSS提供服务,OST负责存储数据。
Lustre的客户端,对客户应用提供兼容POSIX规范的API接口,因此客户应用无需改造即可访问存储在Lustre集群上的目录、文件。
Lustre的客户端,与存储服务端之间通信时
- 使用私有协议 LNet即Lustre Network protocol。
- 支持网络技术包括
OPA/IB/Ethernet。
In order to ensure that failover is handled seamlessly, data modifications in Lustre are
asynchronous and transactional. The client software maintains a transaction log.
原文中的客户端,指的是部署在客户应用节点上的Lustre户端吗?
All Lustre server types (MGS, MDS and OSS) support failover.
Lustre集群中不存在单点故障,关键进程均有备份,遇到进程故障等现象时,均由后备接替服务,故障恢复时,实现客户应用无感知的效果。
MGT、MDT支持使用LDISKFS或者ZFS作为后端存储系统。
Lustre存储集群的技术规格项,如下:
- 条带的数量
- 条带的大小,包括最大值、最小值
- 对象大小,最大值
- 文件大小,最大值
- 文件系统的容量,最大值
- 单个目录支持的文件数量或者目录数量,最大值
- 文件系统内支持的文件数量,最大值
- 文件名的长度,最大长度
- 文件的全路径的长度,最大长度
上述技术规格项的具体取值和后端存储的类型有关系。
Lustre架构介绍的阅读笔记-基础知识的更多相关文章
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- 10-MySQlL DBA笔记-基础知识
第四部分 运维篇 首先来了解一下数据库的定义,数据库是高效的.可靠的.易用的.安全的多用户存储引擎,我们可以通过它访问大量的持久化数据.我们管理和维护数据库,本质上也是要确保如上的特性,尽可能地保证数 ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
- three.js学习笔记--基础知识
基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...
- HEVC标准介绍+论文阅读笔记
脱离视频编解码.投入计算机视觉一年,这个博客也歇业一年,最近偷些时间回顾一下编解码,毕竟花费了整个研一的时间(虽然这一年基本上在上课). 之前写过几篇H.264标准的几篇介绍文章,详见:http:// ...
- 《YouTube 网站的架构演进》阅读笔记
概述 YouTube 在国内是个404网站,需要翻墙得见,这是有用的废话,先铺垫一下. 从全球网站来看,它仅次于母公司 Google,全球排名位列第2.每天超过5亿以上视频播放量,平均每个用户点击10 ...
- mysql笔记--基础知识
SQL基础 SQL语句的分类: DQL: 数据库查询语句,基本的就是select查询命令,用于查询数据 DML: 数据操纵语句,用于插入,更新,删除数据,即INSERT, UPDATE,DELETE ...
- GO Lang学习笔记 - 基础知识
Go lang Learn Note 标签(空格分隔): Go Go安装和Go目录 设置环境变量GOROOT和GOPATH,前者是go的安装目录,后者是开发工作目录.go get包只会将包下载到第一个 ...
- Java Script 学习笔记 -- 基础知识
Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...
- Python3基础笔记--基础知识
目录: 一.变量问题 二.运算符总结 三.字符串问题 四.数据结构 五.文件操作 一.变量问题 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.它自始至终都是在内存中活动,只有指明 ...
随机推荐
- 01、etcd基础介绍
互联网技术发展真的快,层出不穷的新技术.最近项目使用到了etcd,自己之前在部署k8s集群的时候玩过,但是并没有系统的学习.正好趁这个机会,系统性的学习下.文章中的内容有些是来自官方文档,有些是来自网 ...
- webservice之jersey简单实用
前言 项目中更需要使用到webservice,具体的是使用jersey.那么首先需要了解jersey和webservice的关系,捋顺webservice框架的各种实现,通过查阅相关博客,我个人总结w ...
- Redis动态配制,限内存,免重启
p.p1 { margin: 0; font: 14px Menlo; color: rgba(0, 255, 255, 1); background-color: rgba(0, 0, 0, 0.8 ...
- 【Azure Cloud Service】云服务升级后,查看配置文件发现编码变为utf-16
问题描述 通过Migrate to ARM,把经典云服务升级成云服务(外延支持)后,在查看云服务的配置XML文件,发现文件的编码格式由 UTF-8 改变为 UTF-16 由此,引发了三个问题 1)Cl ...
- 【Azure 应用服务】App Service中抓取 Web Job 的 DUMP 办法
问题描述 使用Azure App Service,也可以部署一个Java程序作为Web Job运行.运行一个 .Jar 文件只需要以下4步: 1)把Java应用打包成一个 .jar 文件 2)创建一个 ...
- Mapbox实战项目(1)-栅格图片图层实现地图方位展示
需求背景 需要实现地图上展示一个类似于罗盘的标记,随着地图的缩放.切换.旋转等,能够在地图的中央指示出地图的方位. 系统自带的方位控件太小,在特殊业务场景下不够醒目. 技术选型 Mapbox 实现分析 ...
- C++ //排序案列 //描述:将person自定义数据类型进行排序,Person中有属性 姓名,年龄,身高 //排序规则: 按照年龄进行的升序,如果年龄相同按照身高进行降序
1 //排序案列 2 //描述:将person自定义数据类型进行排序,Person中有属性 姓名,年龄,身高 3 //排序规则: 按照年龄进行的升序,如果年龄相同按照身高进行降序 4 5 #inclu ...
- 酷睿i5与i7处理器有什么区别
本文将深入解析酷睿i5与i7处理器的区别,帮助您做出明智的购买决策.购买笔记本之前,了解处理器相关知识至关重要. 处理器作为电脑的核心部件,其性能直接影响整机运行速度和效率. 市面上主流的笔记本处理器 ...
- git 撤销本地 git提交的commit记录 (git reset --hard ID)
git 撤销本地 git提交的commit记录 (git reset --hard ID) ID的获取方法 这个id,就是你要退回的那个id,我这里截图的时候已经回退了,正常是你提错了的下面那个git ...
- pandas:如何保存数据比较好?
我们在使用pandas处理完数据之后,最终总是要把数据作为一个文件保存下来,那么,保存数据最常用的文件是什么呢?我想大部分人一定会选择csv或者excel. 刚接触数据分析时,我也是这么选择的,不过, ...