![Beowulf 集群存储设置](https://linux22.com/image/631414/Beowulf%20%E9%9B%86%E7%BE%A4%E5%AD%98%E5%82%A8%E8%AE%BE%E7%BD%AE.png)
我是一名计算机工程专业的学生,正在研究一个使用 Verari 刀片集群的项目,这个集群对于今天的标准来说有点过时了。我积累了一些 Unix 经验,但我根本不是专家。
这个 Verari 集群有 30 个工作刀片节点,其中 20 个节点有两个双核 AMD CPU(Opteron 250)、4Gb DDR 内存和两个 250GB 的 IDE 硬盘。其他 10 个节点刀片有两个四核 Opteron CPU 和 8Gb 内存,以及相同的 IDE 硬盘。这 30 个节点连接到一个接线板,接线板末端是两个千兆交换机,通过两根 cat-6 电缆相互连接,并在两个交换机上启用绑定。此外,我还有一台 IBM 工作站,它为我的域托管 DNS、DHCP、HTTP、LDAP、PXE/TFTP 和 FOG 服务器。
我的任务是使用此硬件安装一个 beowulf 集群。它将用于 MPI 程序、科学计算和地质模拟。我最初的计划是使用 CentOS 6.5 和一个好的 kickstart 文件来促进部署,在每个节点上设置软件 RAID 1,使用 OpenLDAP 服务器进行集中用户身份验证,OpenMPI 软件和 SLURM 资源管理器。
由于我还没有中央存储可用,我必须寻找一种方法来保持每个计算节点都可以访问用户主目录,同时将性能开销降至最低,并确保在出现问题时有一点冗余(这是 2004~2006 年的硬件,更容易出现故障)。我想到的是使用自动安装的 NFS 共享,每个计算节点导出一个 /home 文件夹,并将 homeDirectory 路径存储在用户 ldap 帐户上。这会导致千兆字节链接上最多有 30 个 NFS 服务器,将存储节点与计算节点混合在一起,这不是一个好的做法,但我得到了这样的结果。请记住,这些是 IDE HDD,因此我们在那里遇到了老旧的写入和读取瓶颈。
我想到的另一个想法是使用分布式文件系统,再次将计算节点与存储节点混合。我有 GlusterFS、Ceph、AFS、PVFS2、OrangeFS 和 Lustre。对于我的需求,我认为 Lustre 是可行的,但它适用于连接到计算节点的一组 NAS/SAN 服务器,这些服务器使用 Infiniband、Myrinet 或其他高速低延迟链路。要在我的基础设施上使用 Lustre,我需要有一个用于 MDT 和 MDS 的中心节点,其他 29 个节点作为 OST/计算节点。如果两个选项都失败,我都可以恢复,但我不知道 Lustre 将如何扩展,因为有超过 30 个节点同时充当存储和计算单元。
有人知道在我的项目中该使用什么吗?有类似设置的经验或反馈吗?
提前感谢您的回答。
答案1
我对集群的使用一直是以速度为主要目标,以速度为次要目标。
我发现,如果并发用户少于 1000 个,那么采用非常保守的方法就可以实现这两个目标。
对于主目录,我会选择一个简单的基于 nfs 的双节点主动/被动集群,并且在主/辅助 drbd 角色的两个节点之间分布均等数量的共享。