我的下一层是mdraid,Linux软件RAID.从我读到的内容来看,mdraid本身没有超时但依赖于较低层的超时命令.
对于内核3.2(Debian),默认的SCSI超时值为90秒.
遇到读取错误的硬盘将尽力在固件定义的时间范围内纠正错误.桌面驱动器的超时设置(通常是独立的,因此更正具有高优先级)和服务器驱动器(通常为RAID,因此很快报告坏扇区,让其他驱动器应答)的设置为低.有时它可以通过smartctl(SCTERC,TLER等)进行调整.
所以我想如果硬盘设置为高ERC超时,内核将在中止请求之前默认等待90秒.只有这样,mdraid才会将应用程序的请求重定向到另一个磁盘.
加载网页的时间为90秒.
假设默认SCSI超时用于桌面目的或非硬盘SCSI设备(磁带驱动器,磁带库可以想到),并且可以安全地调低,例如7秒用于RAID使用,这是正确的吗?
解决方法
我在过去看到供应商文档建议将超过60秒的fibre-channel HBA超时设置为更好地处理阵列故障转移,控制器的固件更新等事情.正如你所指出的那样,缺点是:它可能导致很长的滞后以返回存储.
实际上这不是一件坏事.如果LUN上的HBA超时,许多操作系统将强制卸载LUN,这可能比偶尔的长滞后返回块更具破坏性.诀窍是平衡以下几点:
>您的存储堆栈产生长滞后的可能性
>您对后期数据的容忍度
>您对已卸载LUN的容忍度
通常,放入RAID阵列的磁盘应具有较低的超时值,因为它让RAID控制器知道在其他地方处理块请求.这是消费级驱动器与硬件RAID卡一起使用时的一个重要原因;他们的超时很长,这可能导致你不想要的问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。