我们有一个由六个 ubuntu 服务器组成的小集群。我们对这些集群进行生物信息学分析。每次分析大约需要 24 小时才能完成,每个核心 i7 服务器一次可以处理 2 个,输入约 5GB 数据,输出约 10-25GB 数据。我们每周运行几十个。该软件是用 C/C++ 编写的自定义 perl 脚本和 3rd 方序列比对软件的大杂烩。
目前,文件由两个计算节点提供(是的,我们使用计算节点作为文件服务器)——每个节点有 5 个 1TB 单独安装的 sata 驱动器(无raid),并通过 glusterfs 2.0.1 汇集。它们每个都有 3 个绑定的英特尔以太网 pci 千兆以太网卡,连接到 d-link DGS-1224T 交换机(300 美元 24 端口消费级)。我们目前没有使用巨型帧(实际上不知道为什么)。然后通过 glusterfs 镜像两个文件服务计算节点。
其他四个节点中的每一个都通过 glusterfs 挂载文件。
这些文件都很大(4gb+),如果重要的话,它们被存储为裸文件(没有数据库/等)。
正如您可以想象的那样,这有点混乱,它在没有预先考虑的情况下有机地增长,我们现在想要改进它,因为我们的空间已经用完了。我们的分析是 I/O 密集型的,这是一个瓶颈——我们在两个文件服务器之间只能获得 140mB/sec,从客户端(只有单个 NIC)获得 50mb/sec。我们有一个灵活的预算,我大概可以得到 5000 美元左右。
我们应该如何花费我们的预算?
我们需要至少 10TB 的存储足够快来为所有节点提供服务。这种文件服务器的 CPU/内存必须有多快/多大?我们应该使用 NFS、ATA over Ethernet、iSCSI、Glusterfs 还是其他什么?我们应该购买两台或更多台服务器并创建某种存储集群,还是一台服务器足以容纳如此少量的节点?我们是否应该投资购买速度更快的 NIC(例如,带有多个连接器的 PCI-express 卡)?开关?我们应该使用raid,如果是,硬件还是软件?以及哪个突袭(5、6、10 等)?
任何想法表示赞赏。我们是生物学家,而不是 IT 专家。
我在计算机科学领域,我研究生物信息学。目前 746 在Biostars :)
我已经在一所大学运行了 3 年的生物信息学计算设施(大约 40 个 Linux 服务器,300 个 CPU,100TB 磁盘空间 + 备份,总共大约 1T RAM - 服务器范围为 16 到 256GB RAM)。我们的集群有 32 个 8 核计算节点,2 个头节点,我们正在扩展它,增加 2 个 48 核计算节点。我们通过 NFS 将文件提供给计算节点。
我建议根据您的情况切换到 NFS。
我们考虑过改用 Gluster、Lustre 和 Samba,但决定不使用它们。
我有一些关于 NFS 的主要提示:
我们当前的集群是 3 年前购买的,因此它不使用 SAS,而是具有扩展的光纤通道驱动器和san控制器。这种情况正在发生变化,我们购买的所有新存储都是 SAS。
我建议考虑使用SAS存储。SAS 正在取代光纤通道,成为一种更便宜、更快和更好的解决方案。最近我对提供的不同解决方案进行了研究。方便地,我们查看的选项记录在服务器故障: 什么是 SAS 外部存储选项(Promise、Infortrend、SuperMircro,...)?
我们最近从 RAID Incorporated 订购了 24TB 6Gb SAS - 6Gb SAS 存储系统。仅仅为了存储,我们就支付了 12,000 美元。订单应该会在几周内送达。这是一个无单点故障系统 - 所有组件都是冗余的,如果任何组件发生故障,它会自动进行故障转移。它连接到 2 个服务器,每个服务器使用阵列的不同分区。这是一个交钥匙解决方案,因此一旦发货,我们只需要连接它,打开电源,它就会工作(RAID6 分区将安装在 Linux 上)。该订单还包括服务器和 RAID Incorporated 将在这些服务器上免费安装 Linux Debian。
不幸的是,如果您从事生物信息学基础设施运营,您可能需要成为一名存储专家。
对于 10TB 分区,选择 RAID6 - 2 个驱动器可以在不丢失数据的情况下发生故障。将 2TB 驱动器重建到热备件需要 24 小时,在此期间另一个驱动器可能会发生故障。我有 2 个驱动器在 16 个驱动器阵列中同时出现故障。
考虑将一个驱动器专用于阵列中的热备用。当您有超过 16 个驱动器时,我会说必须要有一个热备件。
如果专用 NFS 服务器上的硬件出现故障,请考虑一个行动计划。我会保留一个双胞胎作为计算节点,作为原始 NFS 服务器的潜在替代品。
最后,我不得不提到我们的文件服务器正在运行 OpenSolaris(听起来很不寻常 - 我知道)。OpenSolaris(事实证明对我们而言)具有出色的服务器硬件支持(FiberChannel、IniniBand 等)。设置 NFS 服务器需要 1 小时 - 所有步骤都非常简单:安装操作系统、通过 NAT 更新、设置网络、创建 zfs 池、创建 zfs 文件系统、共享 NFS。Sun 是 1984 年开发 NFS 的人,毫不奇怪,OpenSolaris 非常擅长为 NFS 服务。使用 OpenSolaris 的主要原因是ZFS - 一个很好的生物信息学文件系统。我喜欢的一些功能:
zfs send)。将 Linux 用于您的 NFS 服务器会很好 - 在这种情况下,坚持使用 XFS 或 Ext4。
| 归档时间: |
|
| 查看次数: |
1066 次 |
| 最近记录: |