本文主要是介绍An introduction to BeeGFS-2018 v2.0——论文泛读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Paper 分布式元数据论文阅读笔记整理
BeeGFS介绍
BeeGFS是并行集群文件系统,提供高性能和可扩展性,高度的灵活性,并为健壮性和易用性而设计。在多个服务器之间透明地分布用户数据,将所有磁盘和服务器的容量和性能聚合在一个命名空间中。
开源代码:Home - BeeGFS - The Leading Parallel Cluster File System
架构
BeeGFS由四个主要服务组成:
-
管理服务:所有其他服务的注册表和监视程序
-
存储服务:存储分布式用户文件内容
-
元数据服务:存储访问权限和条带信息
-
客户端服务:安装文件系统以访问存储的数据
-
可选的图形管理和监控服务(Admon)。
管理服务
管理服务可以配置为BeeGFS元数据、存储和客户端服务的“汇合点”。监视所有注册的服务并检查它们的状态,维护所有其他BeeGFS服务及其状态的列表。
元数据服务
元数据服务存储关于数据的信息,例如目录信息、文件和目录所有权以及用户文件内容在存储目标上的位置。每个元数据服务都负责其全局命名空间的独占部分。
每个元数据服务实例有一个元数据对象来存储其数据。在元数据对象上,为每个用户文件创建一个元数据文件,以避免将所有元数据存储在可能损坏的单个数据库中。通常,元数据对象是基于闪存驱动器的RAID1或RAID10的ext4文件系统,以实现低元数据访问延迟。
元数据非常小,并且随着用户创建的文件数量的增加而线性增长。512GB的可用元数据容量通常适合大约1.5亿个用户文件。
存储服务
存储对象通常是内部或外部连接驱动器的硬件RAID-6(通常由8+2或10+2组成)或zfs RAIDz2卷。存储服务可与任何本地Linux POSIX文件系统配合使用。通常,在硬件RAID控制器的情况下,存储对象是基于xfs的。
利用RAM缓存,小I/O聚合写入。
对于单个大文件也使用条带化,将文件被拆分为固定大小的块,分布在多个存储对象上。条带模式可以按目录进行配置(例如,通过使用beegfs-ctl命令行工具),也可以针对单个文件进行配置。
默认情况下,随机选择文件的存储对象,因为在多用户环境中(从文件系统的角度来看),不同的用户会同时创建大小文件的随机混合,从而提供最佳结果。
客户端服务
本机BeeGFS客户端性能最高,也可以通过NFSv4或Samba重新导出BeeGFS挂载点,或者使用BeeGFS作为Hadoop HDFS的替代品。
管理和监控服务
-
后端服务,运行在任何可以通过网络访问元数据和存储服务的计算机上。收集其他BeeGFS服务的状态信息,并将其存储在数据库中。
-
图形化的基于Java的客户端,在工作站上运行。它通过http连接到远程Admon守护程序。
内置复制:伙伴镜像
基于服务器对(伙伴)的概念,服务器对在内部相互复制,并在其中一个出现问题时相互帮助。与共享存储方法相比,伙伴镜像的优势在于,一个组的两个伙伴可以放置在不同的硬件故障域中。与共享RAID-6卷的方法相比,伙伴镜像提高了容错级别,即使一个伙伴的完整RAID-6卷丢失,另一个伙伴仍有所有数据。
伙伴镜像是同步的(这对于透明故障切换很重要),这意味着应用程序在两个伙伴都收到数据后才收到I/O完成信息,复制通过正常的网络连接进行。
总结
对BeeGFS的基本介绍,包括四个基本服务:管理服务:所有其他服务的注册表和监视程序;存储服务:存储分布式用户文件内容;元数据服务:存储访问权限和条带信息;客户端服务:安装文件系统以访问存储的数据。提出伙伴镜像的概念, 进行服务器间相互复制,实际就是同步的多副本。
这篇关于An introduction to BeeGFS-2018 v2.0——论文泛读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!