皮皮网

【速阻线源码】【lunx源码】【源码影院】lustre源码解读

2024-12-25 01:56:08 来源:云蹦迪源码代理

1.Lustre的Lustre 优缺点
2.Lustre的介绍
3.什么叫对象存储?源码
4.什么是对象存储?
5.深入理解 Lustre 系列二:测试

lustre源码解读

Lustre的Lustre 优缺点

       Lustre 采用分布式的锁管理机制来实现并发控制,元数据和文件数据的通讯链路分开管理。与 PVFS 相比,Lustre 虽然在性能,可用行和扩展性上略胜一踌,但它需要特殊设备的支持,而且分布式的元数据服务器管理还没有实现。

       æ³¨ï¼šPVFS: Clemson 大学的并行虚拟文件系统(PVFS) 项目用来为运行 Linux 操作系统的 PC 群集创建一个开放源码的并行文件系统。PVFS 已被广泛地用作临时存储的高性能的大型文件系统和并行 I/O研究的基础架构。 作为一个并行文件系统,PVFS 将数据存储到多个群集节点的已有的文件系统中,多个客户端可以同时访问这些数据。

Lustre的介绍

       Lustre,一种平行分布式文件系统,通常用于大型计算机集群和超级电脑。Lustre是源自Linux和Cluster的混成词。最早在年,由皮特·布拉姆(英语:Peter Braam)创建的集群文件系统公司(英语:Cluster File Systems Inc.)开始研发,于年发布 Lustre 1.0。采用GNU GPLv2开源码授权。

什么叫对象存储?

       å¯¹è±¡å­˜å‚¨ï¼Œä¹Ÿå«åšåŸºäºŽå¯¹è±¡çš„存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。

       å°±åƒæ–‡ä»¶ä¸€æ ·ï¼Œå¯¹è±¡åŒ…含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。每个对象都在一个被称作存储池的扁平地址空间的同一级别里,一个对象不会属于另一个对象的下一级。

       æ–‡ä»¶å’Œå¯¹è±¡éƒ½æœ‰ä¸Žå®ƒä»¬æ‰€åŒ…含的数据相关的元数据,但是对象是以扩展元数据为特征的。每个对象都被分配一个唯一的标识符,允许一个服务器或者最终用户来检索对象,而不必知道数据的物理地址。这种方法对于在云计算环境中自动化和简化数据存储有帮助。

       å¯¹è±¡å­˜å‚¨ç»å¸¸è¢«æ¯”作在一家高级餐厅代客停车。当一个顾客需要代客停车时,他就把钥匙交给别人,换来一张收据。这个顾客不用知道他的车被停在哪,也不用知道在他用餐时服务员会把他的车移动多少次。在这个比喻中,一个存储对象的唯一标识符就代表顾客的收据。

什么是对象存储?

       对象存储,也叫做基于对象的解读存储,是源码用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。解读

       就像文件一样,源码对象包含数据,解读速阻线源码但是源码和文件不同的是,对象在一个层结构中不会再有层级结构。解读每个对象都在一个被称作存储池的源码扁平地址空间的同一级别里,一个对象不会属于另一个对象的解读下一级。

       文件和对象都有与它们所包含的源码数据相关的元数据,但是解读对象是以扩展元数据为特征的。每个对象都被分配一个唯一的源码标识符,允许一个服务器或者最终用户来检索对象,解读而不必知道数据的源码物理地址。这种方法对于在云计算环境中自动化和简化数据存储有帮助。

       对象存储经常被比作在一家高级餐厅代客停车。当一个顾客需要代客停车时,他就把钥匙交给别人,换来一张收据。这个顾客不用知道他的lunx源码车被停在哪,也不用知道在他用餐时服务员会把他的车移动多少次。在这个比喻中,一个存储对象的唯一标识符就代表顾客的收据。

        推荐使用蓝队云对象存储!蓝队云对象存储系统是非结构化数据存储管理平台,支持中心和边缘存储,能够实现存储需求的弹性伸缩,应用于海量数据管理的各类场景,满足您的多样性需求。

深入理解 Lustre 系列二:测试

       Lustre 测试框架

       Lustre 的源码影院功能和性能测试通过一套完整的测试集进行,即Lustre测试套件集(LTS)。LTS由超过个测试组成,涵盖了从bash脚本、C程序到外部应用的多种测试类型。LTS提供了自动化执行测试流程的工具,允许用户选择性地执行测试或分组执行,同时支持对特定配置、特性如ldiskfs、ZFS、DNE、星盘 源码HSM的验证。LTS测试代码位于源码树的/lustre/tests目录下,主要组件见下表。

       Lustre测试术语

       LTS包括被集成到lustre-tests-*.rpm和lustre-io-kit-*.rpm中的所有脚本和应用。在目录/usr/lib/lustre/tests下的一个集合称为测试套件,如sanity.sh。独立测试,如large-lun.sh中的test 4,属于特定的测试套件。测试套件可以组合执行,代写源码例如回归测试。LTS包括回归测试、特定特性的测试、配置验证、恢复测试和错误测试。下表列出了一些活跃的单元、特性和回归测试及其简要描述。

       Lustre代码测试

       在Lustre编码时,推荐在开发周期早期进行持续的测试。开发者在提交代码前,应确保通过小型验收测试(acceptance-small)套件。若引入新测试用例,先查找并重现bug,修复后验证代码。新测试用例若未覆盖新bug,则需专门添加,用于测试该bug。

       错误规避

       在测试时,若执行失败是由于与bug无关的问题,且问题已被修复,可通过配置规避选项参数。例如,规避sanity.sh中的“g”和“”子测试,或所有insanity.sh测试,设置环境变量即可。在运行acceptance-small测试时,也可使用命令规避测试。

       Lustre测试框架选项

       下面的例子展示了运行完整acceptance-small测试或其子测试的方法。Lustre测试脚本可方便灵活地添加新的测试用例。

       Lustre小型验收测试

       小型验收测试(acceptance small,acc-sm)是Lustre在开发早期阶段捕获bug的测试。acc-sm测试脚本位于目录/lustre/tests中,包括三个分支:b1_6( tests)、b1_8_gate( tests)和HEAD( tests)。下表列出了一些通用acc-sm测试。在acceptance-small.sh和每个测试脚本中定义了执行命令。

       Lustre测试中的环境变量

       本节介绍用于测试的环境变量,通常在/lustre/tests/cfg/$NAME.sh配置脚本中定义。通过NAME=name访问环境变量。默认单节点测试配置是NAME=local,在/lustre/tests/cfg/local.sh中访问。下表列出了一些重要环境变量及其用途。