我们在具有大约200TB存储的集群中使用Lustre,12个对象存储目标(使用QDR Infiniband连接到DDN存储系统)以及大约160个四核和八核计算笔记。 这个系统的大多数用户根本没有任何问题,但我的任务是I / O密集型的。 当我运行有250-500个进程的arrays作业时,同时冲击文件系统,通常在10到20之间的进程将失败。 日志文件表明OST上的负载已超过2,Lustre客户端正在返回错误的数据或read()函数调用失败。
目前我们解决我的问题的唯一方法是运行较less的同时工作。 这是不令人满意的,因为事先不知道我的工作负载是CPU负载还是I / O负担过重。 此外,只是减less负载不是运行supercomptuer的方式:我们希望在负载下运行时运行速度更慢,不会产生不正确的答案。
我想知道如何configurationLustre,以便客户端在OST负载过高时阻塞,而不是让客户端收到不好的数据。
如何configurationLustre使客户端阻止?
你有没有想过添加更多的OSS并分发OST? 这应该减less负载。 在这方面,你在做什么样的I / O模式? 你有很多大文件,如果是的话,他们是否有条纹? 默认条带化为1,这意味着每个文件只驻留在一个OST上,可以在每个文件(创build时)或每个目录(对于新文件)中进行更改。
你也可以尝试增加光泽的超时(lctl get_param / set_param),即: