如何快速填满多PB的NAS?

Ant*_*ean 5 filesystems storage

我公司的产品每年将在我们的客户站点生成数PB的数据.我想填写一个多PB的NAS来模拟一个已经运行了很长时间(3个月,6个月,一年等)的系统.我们想要在负载下的存储系统上运行时分析我们的软件.

我可以编写一个创建此数据的脚本(单个脚本可能需要数周或数月才能执行).是否有关于如何修剪脚本(多台机器,多线程)的建议?NAS有3个负载均衡的传入链路......我应该直接在NAS设备上运行吗?

是否有可用于创建负载的第三方产品?我甚至不知道如何开始搜索这样的产品.

数据是否真实有效吗?有谁知道NAS /存储架构?它可以只是随机位还是数据的规律性很重要?我们以这种格式在磁盘上扇出数据

x:\<year>\<day-of-year>\<hour>\<minute>\<guid-file-name>.ext
Run Code Online (Sandbox Code Playgroud)

Mal*_*Box 3

你将受到 NAS/磁盘写入速度的限制 - 我想不出有什么办法可以解决这个问题。

因此,接下来的挑战就是根据需要使磁盘写入饱和。在合理的机器上运行的一个或一组脚本应该能够毫无困难地做到这一点。

首先,使用 Bonnie++ 等工具来了解您的磁盘写入速度。然后,您可以使用 Bonnie 的代码作为起点来饱和写入 - 毕竟,要对磁盘进行基准测试,Bonnie 必须能够比 NAS 写入更快。

假设您有 3x1GB 以太网连接,则盒子的最大网络输入约为 300 MB/s。一台 PC 能够使 1GB 以太网连接饱和,因此 3 台 PC 应该可以工作。让每台 PC 写入树的一​​部分,瞧。

当然,以 300 MB/s 的速度填充 PB 大约需要一个月的时间。

或者,您可以对代码谎报 NAS 的状态。在 Linux 上,您可以编写一个用户空间文件系统,通过为 PB 级文件创建动态元数据(文件名、长度等)来假装拥有数 PB 数据。当产品读取时,则生成随机数据。当您进行产品写入时,将其写入真实磁盘,并记住如果再次读取它,您将获得“真实”数据。

由于您的产品在此测试期间可能不会读取整个 PB,也不会写入大部分内容,因此您可以轻松地立即模拟任意完整的 NAS。

这是否需要花费更多或更少的时间来开发是一个悬而未决的问题:)