如何快速填满多PB的NAS?

时间:2011-06-09 20:43:05

标签: filesystems storage

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

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

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

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

x:\<year>\<day-of-year>\<hour>\<minute>\<guid-file-name>.ext

1 个答案:

答案 0 :(得分: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。

这需要多于或少于一个月的时间来开发是一个悬而未决的问题:)