我正在配置一个全新的 HPC 服务器,并且对使用 SmartOS 感兴趣,因为它具有虚拟化控制和 zfs 功能。这种配置对 SmartOS HPC 有意义吗?或者你会推荐其他方法吗?
系统规格:2x 8 核 Xeon 384 GB RAM 30 TB HD,带 2x512GB SSD
用途: - zfs 用于向不同的 vm 和通过网络提供数据;1 个 SSD 用于 L2ARC,1 个用于 ZIL - 通常 1-2 个 ubuntu 实例运行 R 和自定义 C/C++ 代码
作为 SmartOS 和 ZFS 的新手,我最大的担忧是:
(1) 如果 Ubuntu 是唯一活动的虚拟机,我能否从在 SmartOS 上运行的 Ubuntu 获得近乎完美的性能? (2) 如何将数据从全局 zfs 池提供给容器和其他网络设备?
答案1
您的服务器规格看起来不错,但我不知道您在哪里可以找到 30TB 的驱动器(至少在近十年内找不到)。
ZIL 不需要很大,当然 512GB 的 SSD 是浪费。您必须计算“最佳”大小,但通常在 2-20 GB 范围内。选择 zpool 中最快的“存储”驱动器,计算传输速度,乘以约 10 秒。(例如,如果您最快的驱动器是 170MBps,那么 ZIL 大约需要 2GB)。
不过,L2Arc 可以使用尽可能多的高速 SSD。对 SSD 进行分区,使前几 GB 用于 ZIL,其余部分用于 L2Arc,这样做很有意义,这样 ZFS 就可以充分利用多个设备。
顺便说一下……事实证明,让 20-25% 的 SSD 闲置可以显著帮助垃圾收集算法,使其在正常使用中速度明显加快。并且一如既往,SSD 在频繁使用时会相对较快地报废(根据我的经验,通常 2-4 年是正常情况,YMMV)。
您必须定义“近乎金属的性能”。SmartOS 使用的 KVM 通常会导致 2-10% 的性能损失。使用可以利用半虚拟化(virt-io 等)的客户操作系统将使您的性能接近该范围的低端。Ubuntu 应该可以很好地工作。
将数据从 ZFS 池提供给虚拟机和其他网络设备的方式与任何其他存储相同... ZFS 可以提供块存储或文件存储。虚拟机可以使用任一类型。 NFS 和 Samba/SMB/CIFS 使用文件存储。 iSCSI 或 FC 通过网络提供块存储。只要有足够的耐心,SmartOS 就可以配置为执行其中任何一项。