![写入速度要求:1.1GB/s 可能吗?](https://linux22.com/image/696265/%E5%86%99%E5%85%A5%E9%80%9F%E5%BA%A6%E8%A6%81%E6%B1%82%EF%BC%9A1.1GB%2Fs%20%E5%8F%AF%E8%83%BD%E5%90%97%EF%BC%9F.png)
我们将有一台机器在工作,在最佳性能下,它应该能够推动50(“写入磁头”)x 75GB每小时的数据。这是写入速度约为 1100MB/s 的峰值性能。要从机器上获得该速度,需要两条 10GBi 线路。我的问题是什么样的服务器+技术可以处理/存储这样的数据流?
目前,我们使用 ZFS 进行数据存储,尽管写入速度从来都不是问题。(我们甚至还没有接近这些速度)ZFS(Linux 上的 zfs)是一种选择吗?我们还需要存储大量数据,“IT 指南”建议总共存储 50-75 TB 左右。所以除非我们想提供我们的第一个孩子,否则可能不能全部使用 SSD。
根据优秀回复进行的一些补充:
- 高峰期间最大值为 50x75GB/小时,少于 24 小时(最有可能 <6 小时)
- 我们预计这种情况不会很快发生,很可能我们会以每小时 5-10x75GB 的速度运行
- 这是一台预 alpha 版本的机器,但应该满足要求(尽管仍存在许多疑问)
- 我们会使用NFS作为从机器到服务器的连接
- 布局:发电机 -> 存储(这一个) -> (安全 raid 6) -> 计算集群
- 所以读取速度并不重要,但如果能从计算集群中使用就更好了(但这是完全可选的)
- 最有可能的是它将是大数据文件(而不是很多小文件)
答案1
当然……如果架构正确,Linux 上的 ZFS 是可能的。有很多案例ZFS 设计不佳,但做得好,你的要求就可以满足。
因此,主要决定因素将是您如何连接到此数据存储系统。是 NFS 吗?CIFS?客户端如何连接到存储?或者处理等是否完成在存储系统?
填写更多详细信息,我们看看是否可以提供帮助。
例如,如果这是 NFS 并且具有同步挂载,那么绝对有可能在 Linux 上扩展 ZFS 以满足写入性能需求,同时仍保持长期存储容量要求。数据是否可压缩?每个客户端如何连接?千兆以太网?
编辑:
好吧,我就咬你了:
以下是大致的规格1.7万至2.3万美元并适合2U机架空间。
HP ProLiant DL380 Gen9 2U Rackmount
2 x Intel E5-2620v3 or v4 CPUs (or better)
128GB RAM
2 x 900GB Enterprise SAS OS drives
12 x 8TB Nearline SAS drives
1 or 2 x Intel P3608 1.6TB NVMe drives
此设置将使用硬件 RAID6 或 ZFS RAIDZ2 为您提供 80TB 可用空间。
由于重点是基于 NFS 的性能(假设同步写入),我们可以使用 P3608 NVMe 驱动器(条带化 SLOG)轻松吸收所有这些。它们可以容纳 3GB/s 的顺序写入,并且具有足够高的耐久性等级,可以持续处理您描述的工作负载。驱动器可以轻松过度配置以在 SLOG 用例下添加一些保护。
对于 NFS 工作负载,写入将被合并并刷新到旋转磁盘。在 Linux 下,我们会将其调整为每 15-30 秒刷新一次。旋转磁盘可以处理此问题,如果这些数据可压缩,则可能会受益更多。
服务器可以扩展 4 个开放 PCIe 插槽和一个用于双端口 10GbE FLR 适配器的附加端口。这样您就可以获得网络灵活性。
答案2
对于如此极致的写入速度,我不建议使用 ZFS、BTRFS 或任何 CoW 文件系统。我会使用 XFS,它在大型/流式传输方面非常高效。
缺少了很多信息(您计划如何访问这些数据?读取速度重要吗?您要大块写入吗?等等)来给您具体的建议,但是一些一般建议是:
- 在原始分区或胖 LVM 卷上使用 XFS(不要使用精简卷)
- 调整 ioblock 大小以有效应对大量数据写入
- 使用具有断电保护写缓存的硬件 RAID 卡;如果无法使用硬件 RAID,请使用软件 RAID10 方案(避免任何基于奇偶校验的 RAID 模式)
- 使用两个带有 LACP(链路聚合)的 10Gb/s 网络接口
- 确保启用巨型帧
- 因为您要使用 NFS,所以请考虑使用原发性神经纤维(v4.1)以提高可扩展性
- 当然还有很多其他的事情……
答案3
25Gbps 以太网已经接近主流,而基于 PCIe 的 NVMe 将轻松处理该流量。
作为参考,我最近使用四台常规双至强服务器(在本例中为 HPE DL380 Gen9s)构建了一个小型的“日志捕获”解决方案,每台服务器都有 6 个 NVMe 驱动器,我使用了 IP over Infiniband,但那些 25/40Gbps NIC 是相同的,我们每台服务器捕获高达 8GBps 的速度——效果很好。
基本上,这并不便宜,但现在却非常可行。
答案4
1100MB/s 的顺序写入速度对于现代硬件来说不是问题。据传,我家里的配置包括 8 个 5900 RPM 笔记本电脑硬盘、2 个 15000 RPM 硬盘和 2 个 7200 RPM 硬盘,在 16GB 一次性负载下可以维持 300 MB/s 的速度。
网络是 10GbE 光纤电缆,以太网 MTU 为 9000,应用层是 Samba 3.0。存储配置为 raid50,三个条带分布在三个 4 驱动器 raid5 卷上。控制器是 LSI MegaRAID SAS 9271-8i,每个端口最高 6Gb/s(我还有一个额外的、速度较慢的端口倍增器)。
与任何经验丰富的系统管理员交谈,他们应该能够准确地告诉您哪些控制器和驱动器可以满足您的要求。
我认为您可以尝试使用任何 12Gb/s 控制器并配置两个镜像条带,每个条带由八个 7200 RPM 驱动器组成(几乎任何驱动器都可以)。启动 3-4 个 TCP 连接以使链路饱和,如果一对 10GbE 卡无法处理,请使用四张卡。