部署 BeeGFS 并行文件系统

BeeGFS 是一个并行群集文件系统,它以输入输出性能为重点开发,并设计为便于安装和管理。使用 BeeGFS,可以在 Oracle Cloud Infrastructure 上构建高性能计算 (HPC) 文件服务器。

BeeGFS 在多个服务器上透明地传播用户数据。通过增加系统中的服务器和磁盘数,可以将文件系统的性能和容量从小型集群扩展到具有数千个节点的企业级系统。

体系结构

此引用体系结构使用具有单个可用性域和区域子网的区域。可以在具有多个可用性域的区域中使用相同的引用体系结构。建议您使用区域子网进行部署,而不管可用性域数如何。

下图说明了此引用体系结构。

后面是 architecture-deploy-beegfs.png 的说明
插图 architecture-deploy-beegfs.png 的说明

体系结构包含以下组件:

  • 区域

    区域是由一个或多个可用性域组成的本地化地理区域。区域独立于其他区域,其距离很大(跨越国家或大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,这些资源提供故障容差。可用性域不共享基础设施,例如电源、冷却或内部可用性域网络。因此,一个可用性域的故障不可能影响该区域中的其他可用性域。

  • 故障域

    故障域是可用性域中的一组硬件和基础结构。每个可用性域都有三个具有独立电源和硬件的故障域。将计算实例放置到多个故障域时,应用程序可以容忍物理服务器故障、系统维护以及可用性域中的许多常见网络和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是在 Oracle Cloud Infrastructure 区域中设置的软件定义的网络。VCN 可以分为特定于某个区域或可用性域的子网。特定于区域的子网和可用性域特定的子网都可以在同一 VCN 中共存。子网可以是公共的或专用的。

  • 安全列表

    对于每个子网,可以创建安全规则,以指定必须允许进出子网的源、目标和流量类型。

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 外部的目标的规则,通常是通过网关路由。

  • Internet 网关

    Internet 网关允许 VCN 与公共 Internet 之间的通信。

  • 客户机节点

    客户机是访问 BeeGFS 文件系统的计算实例。

  • 管理服务器

    管理服务器 (MGS) 是 BeeGFS 元数据、存储和客户机服务的会议点。MGS 存储一个或多个文件系统的配置信息,并将此信息提供给其他主机。此全局资源可以支持多个文件系统。

  • 元数据服务

    元数据服务 (MDS) 存储有关数据的信息,例如目录信息、文件和目录所有权以及用户文件内容在存储目标上的位置。元数据服务是一个横向扩展服务,这意味着您可以在 BeeGFS 文件系统中使用一个或多个元数据服务。

    元数据内容存储在名为元数据目标 (MDT) 的卷上。

  • 对象存储服务

    对象存储服务 (OSS) 是用于存储用户文件内容或数据块文件的主要服务。对象存储服务器也称为存储服务器。

    与元数据服务类似,对象存储服务基于扩展设计。OSs 实例具有一个或多个对象存储目标。

    每个存储服务器都提供对一组存储卷(称为对象存储目标 (Object Storage Target, OST))的访问。每个 OST 包含多个表示文件数据的二进制对象。

建议

您的要求可能与此处描述的体系结构不同。使用以下建议作为起点。

  • VCN

    创建 VCN 时,确定每个子网所需的云资源的 IP 地址。使用无类域间路由 (Classless Inter-Domain Routing, CIDR) 表示法,指定足够大于所需 IP 地址的子网掩码和网络地址范围。使用标准专用 IP 地址空间内的地址范围。

    选择不与内部部署网络重叠的地址范围,以便可以根据需要在 VCN 与内部部署网络之间设置连接。

    创建 VCN 后,无法更改其地址范围。

    设计子网时,请考虑流量和安全要求。将同一层或角色中的所有计算实例附加到可用作安全边界的同一子网。

  • 安全列表

    使用安全列表定义适用于整个子网的入站和出站规则。

  • 底座主机

    堡垒主机用于访问专用子网中的任何节点。使用 VM.Standard.E2.1 形状。

  • 管理服务器 (MGS)

    由于 MGS 不是资源密集型的,因此可以选择使用 MDS 服务器部署它。如果单独部署,则 VM.Standard2.2 形状就足够了。

    使用 50GB 平衡的性能层块存储卷。如果需要更多空间,可以调整块存储卷的大小。

  • 元数据服务 (MDS) 服务器

    使用 VM.Standard2.8 或更高版本。要求取决于工作量是否为元数据密集型(对于小型文件工作量)、每个节点运行的元数据实例数等。

    为了获得最高性能,建议使用裸金属形状(例如 BM.Standard2.52),因为它具有两个物理 NIC,每个 NIC 的网络速度为 25-Gbps。对所有通信使用一个 NIC 来阻止存储,并将其他 NIC 用于从客户机节点传入 MDS 节点的数据。

    使用块存储卷;每个部署要求的大小和编号更改以获得更多存储。如果需要更多空间,则可以调整块存储卷的大小。

  • 对象存储服务 (OSS) 服务器

    使用 VM.Standard2.8 或更高版本。需求取决于 GBps 中需要的文件系统中的聚集 IO 吞吐量。

    为了获得最高性能,建议使用裸金属形状(例如 BM.Standard2.52),因为它具有两个物理 NIC,每个 NIC 的网络速度为 25-Gbps。对所有通信使用一个 NIC 来阻止存储,并将其他 NIC 用于从客户机节点传入 OSS 节点的数据。

  • 客户端节点

    根据您的部署计划选择 VM 配置。该配置确定了可用于实例读取和写入文件系统的网络带宽。例如,VM.Standard2.16 配置的最大网络带宽为 16.4 Gbps,这意味着最大 IO 吞吐量为 2.05 GBps。

    Intel 和 AMD VM 以及裸金属计算配置均可用于客户机。

考虑事项

  • 性能

    要获得最佳性能,请选择具有相应带宽的正确计算形状。

  • 可用性

    考虑根据您的部署要求使用高可用性选项。

  • 成本

    裸金属服务提供较高的网络带宽,但成本较高。评估需求以选择适当的计算形状。

  • 监视和预警

    为 MGS、MDS 和 OSS 节点设置 CPU 和内存使用情况的监视和预警,以根据需要向上或向下扩展 VM 配置。

部署

GitHub 上提供了此引用体系结构的 Terraform 代码。

可以直接使用 Terraform 脚本或通过 Oracle Cloud Infrastructure Resource Manager 服务进行部署。

  1. 转到 GitHub
  2. 将资料档案库克隆或下载到本地计算机。
  3. 要使用 Terraform 脚本,请按照 README 文档中的说明操作。
  4. 要使用 Oracle Cloud Infrastructure Resource Manager,请按照资料档案库 orm 目录中的 README 中的说明操作。