并行文件系统BeeGFS介绍-并行文件系统应用场景

2023-04-08 19:39:11

 

1 什么是BeeGFS

BeeGFS是一款易于使用、部署和管理简单的并行文件系统,其已经发展成为一个世界范围内有价值的文件系统,能够提供高性能、可扩展性、高度的灵活性和健壮性。

Bee GFS可供用户终身免费使用。对于企业用户,提供专业的商业支持。

2 主要优势

分布式文件内容和元数据

BeeGFS最基本的概念之一是严格避免架构瓶颈。跨多个服务器的条带化文件内容仅是此概念的一部分,另一个最终要的方面是文件系统的元数据存放于多个元数据服务器内,通常,大型系统和元数据密集型应用程序可以从后一种功能中获益匪浅。高性能计算技术

BeeGFS建立在具有本机RDMA支持的高性能、可扩展的多线程核心组件上。文件系统节点可以同时为RDMA(InfiniBand、Omni-Path、RoCE)和TCP/IP的网络提供服务,并如果有其中一个出现故障时,可自动切换至冗余连接路径。易于使用

BeeGFS不需要内核补丁,其服务器组件是用户空间守护进程,带有图形化安装工具,可以随时向正在运行的系统增加客户端和服务器。对高并发访问进行优化

简单的文件系统(比如NFS)不仅在高并发访问的情况下存在严重的性能问题,甚至在多个客户端写入同一个共享文件时会损坏数据,这是集群应用程序的典型案例。BeeGFS专门针对此案例进行了优化,用于在高I/O负载的情况下提供最佳的稳健性和性能。能够运行在所有服务器

运行BeeGFS不需要特定的Linux发行版或者其他特殊环境。BeeGFS客户端和服务器甚至可以运行在同一台机器上,以提高小型集群或者网络的性能。BeeGFS不需要服务器上的专用文件系统分区,可以使用现有分区,使用任何标准的Linux文件系统格式化,例如XFS、ext4或ZFS。对于较大的网络,还可以创建多个具有不同配置的BeeGFS文件系统分区。

3 架构

3.1 概览

BeeGFS结合了多个存储服务器,以提供具有条带化文件内容的高度可扩展的共享网络文件系统。通过这种方式,它可以让用户克服单一服务器、单一网络互联、有限数量的硬盘等严格的性能限制。在这样的系统中,可以轻松满足大量客户端的高吞吐量需求,但即使在单个客户端也能从这个存储系统的聚合性能中获益。

这是通过元数据和文件内容的分离来实现的。存储服务器负责存储用户文件实际内容的条带,而元数据服务器则负责协调存储服务器之间的文件放置和条带化,并在必要时通知客户端某些文件内容的详细信息。在访问文件内容时,BeeGFS客户端直接与存储服务器建立联系以执行文件I/O并同时与多个服务器通信,使应用程序真正实现对文件数据的并行化访问。为了使元数据访问延迟最小,BeeGFS也允许你在多个服务器上分发元数据,以便使每个元数据服务器能够存储全部文件系统的命名空间的一部分。

在服务器端,BeeGFS作为普通用户空间守护进程运行,对其操作系统没有任和特殊要求。BeeGFS客户端实现了Linux内核模块,提供了一个正常的挂载点,以便你的应用程序可以直接访问BeeGFS存储系统,而无需修改即可使用BeeGFS。该模块可以安装在所有受支持的Linux内核上,无需任何补丁。

下图是BeeGFS的系统架构和角色:

在上图中,所有服务器都运行在不同的主机上,以显示BeeGFS存储集群中一般存在那些服务。但是也可以在同一台服务器上同时运行BeeGFS服务(客户端和服务器组件)的任意组合。这也适用于使用Multi Mode的同一服务的多个实例。当BeeGFS没有单独的专用存储服务器的情况下完全使用时,我们称之为“融合设置”,如下图所示:

除了BeeGFS中的三个基本角色外(客户端、元数据服务、存储服务),还有两个额外的系统服务也是BeeGFS 的一部分:管理服务,它作为客户端和服务器的注册表和看门狗,它对于系统的操作是必不可少的,但不直接参与文件操作,因此对性能要求不高。还有一个可选服务是监控服务,该服务从服务器收集性能数据并将其提供给时间序列数据库(比如InfluxDB)。因此,可以结合使用Grafana等工具对系统进行实时监控和统计分析。

3.2 功能

配额支持

BeeGFS支持用户和组配额跟踪以及已用磁盘空间和存储目标上的inode计数的实施。底层文件系统的配额设施用于收集配额信息,这些信息定期报告给管理节点。如果用户或组超过配额的限制,则写入操作被阻止,直到空间被释放。文件系统事件监控

元数据节点可以配置为发出消息流,这允许外部程序监视客户端在文件系统上执行的操作。这包括对文件和目录的创建、删除、移动和其他操作。例如,此信息可用于提供给策略引擎的数据库。容量池

根据创建新文件时可用的可用空间选择存储目标,以平衡磁盘空间使用。目标会根据其可用空间自动放置在不同的容量池中。有三个池:Normal,Low,和Emergency。目标选择器算法更喜欢Normal池中的目标,并且仅当无法实现请求的条带化时才回退到Low 和Emergency池。所有目标的磁盘空间限制都相同,可以在管理守护程序上进行配置。存储池

可以创建不同类型的存储池,同时当应用程序或用户创建文件时,也可以选择将文件存储在哪个存储池中。镜像

警告:镜像不能代替备份。如果文件被用户或进程意外删除或覆盖,镜像将无法帮助你恢复旧文件。用户可以定期备份重要数据。

BeeGFS支持元数据和文件内容镜像。镜像功能以集成到普通的BeeGFS 服务中,因此不需要单独的服务或第三方工具。两种类型的镜像(元数据镜像和文件内容镜像)可以相互独立使用。镜像还提供了一些高可用性功能。

4 架构细节

4.1 文件条带化

一个文件跨多个目标条带化。还可以跨多个目标对文件系统进行条带化并镜像数据以实现弹性。可以更改用于条带化的存储目标数量和块大小。

4.2 元数据分布

元数据基于每个目录分布在元数据节点上。目录的内容总是存储在一个元数据节点上。为每个目录随机选择一个元数据节点。

4.3 删除正在使用的文件

当文件在进程仍处于打开状态时被删除,其inode将移动到元数据节点的目录处理中。稍后,当文件关闭时,它的inode和块最终会被擦除。因此,在处理目录中看到文件是正常的,只要进程仍然保持打开它们。

$ beegfs-ctl --disposeunused --printstats --dispose

如果由于某个进程仍在使用某个处理文件而无法删除它,你将看到如下所示的消息。

[1-573EC7CC-C] File still in use

需等待进程结束,该处置文件将被删除,如果你想识别此类进程,可以执行如下命令:

$ lsof | grep "(deleted)"

如果进程终止,Linux内核将自动关闭进程正在使用的所有文件,并且BeeGFS客户端模块将继续尝试关闭操作,并发送到元数据服务器。如果网络在关闭操作时断开连接,客户端也会这样做。

如果客户端节点崩溃或重新启动,当客户端节点被标记为死机时,元数据服务器将在30分钟后删除处理文件。

备注:摘自BeeGFS官网(https://doc.beegfs.io/)


以上就是关于《并行文件系统BeeGFS介绍-并行文件系统应用场景》的全部内容,本文网址:https://www.7ca.cn/baike/14374.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜