我正在调整 Centos 6 服务器上的多路径 iscsi 配置。目前,我使用以下参数进行路径重试:
...
polling_interval 1
no_path_retry 12
...
这意味着“如果一条路径失败,则将 I/O 请求保留在队列中 12 秒,然后将其设置为失败”。
我正在考虑将超时时间增加到 60 秒(no_path_retry 60
),但我担心这会对我的系统产生影响。
我知道 I/O 等待(以及负载)会大幅增加,而且我认为在这种情况下这是不可避免的,但它会耗尽我所有的 RAM 吗?系统最终会崩溃吗?
考虑到通过此多路径的平均 I/O 约为 30MB/s。
答案1
no_path_retry
不是以秒为单位的超时时间,而是向上层块设备(例如文件系统)报告故障之前的重试次数。它接受queue
as 值,这意味着无限期重试并且永不报告错误。这将冻结任何 I/O。如果您关心数据,并且您不介意当所有路径都不可用时应用程序是否被冻结,那么请使用queue
。如果您不关心数据并且您希望您的应用程序收到文件系统错误,那么请使用整数值。如果您不知道该怎么做,请使用queue
。
禁止路径重试
此属性的数值指定系统在禁用排队之前应尝试使用失败路径的次数。值失败表示立即失败,不进行排队。值表示queue
排队不应停止,直到路径修复。