奇怪的文件服务器 I/O 峰值-是什么原因造成的?

奇怪的文件服务器 I/O 峰值-是什么原因造成的?

我目前遇到了一个问题,即一台小型 Linux 服务器为四个 Windows 7 32 位客户端提供文件共享服务。该服务器是一台 AMD PhenomX3,配有两个 Western Digital 10EADS (1TB) 硬盘,连接到 Gigabyte GA-MA770T-UD3 主板,运行 Ubuntu Server 10.04.1 LTS。

客户端计算机需要花费极长的时间才能访问/传输文件服务器上的数据。应用程序在尝试打开远程文件时经常会变得无响应,或者一个程序尝试打开文件但必须等待,这将阻止其他软件访问网络资源。其他示例包括一张图像需要 20 秒或更长时间才能打开,有一次用户等待了 110 秒才让 Microsoft Word 2007 保存文档。

我最初以为问题与网络有关,但事实似乎并非如此。已测试所有电缆和交换机(更换了一根电缆)以进行验证。关闭所有客户端计算机并重新启动服务器导致硬盘指示灯在启动过程中一直亮起,这也进一步证实了这一点。在启动、登录和登录后(未连接任何客户端计算机)的前 15 分钟内,系统显示的平均负载为 4 或更高。症状包括等待几分钟才能出现登录提示,然后等待几分钟才能在输入用户名后出现密码提示。登录后,在发出命令“man smartctl”后,还需要 45 秒以上才能出现“smartctl”手册页。这种行为持续 15 分钟后,平均负载降至 0.02 左右,机器运行正常。

我也认为问题与硬盘有关,但诊断程序显示没有硬盘问题。Western Digital DLG、Spinrite 和 SMARTUDM 没有显示任何异常特征 - 就硬件而言,硬盘状况良好。

我迄今为止完全无法找出该问题的原因,因此非常感谢任何帮助。

所需信息:

'free' 的输出
hxxp://pastebin.com/mfsJS8HS(愚蠢的垃圾邮件过滤器)
命令“hdparm -d /dev/sda1”报告:HDIO_GET_DMA 失败:设备的 ioctl 不合适(BIOS 设置为 AHCI - 我可能应该提到这一点)。

答案1

如果它不是“现代”Ubuntu,我会说你的硬盘驱动器已禁用DMA;请检查hdparm。如果我没记错的话应该是这样的,hdparm -d1但你可能需要先查看手册页。

也许您用于磁盘的控制器默认没有启用 DMA,而是依赖 CPU 进行 I/O?

另一件事可能是硬盘上的一些并发;或者没有更多的交换空间。

答案2

听起来你已经确保了物理网络基础设施是健全的。你排除了配置问题了吗?在你的情况下,我会尝试以下方法:

  1. 确保其他内部资源可访问,以便我可以排除 DNS、防火墙等。例如,看看通过 IP 地址安装共享是否能解决问题。
  2. 设置一台 Linux 机器作为客户端,看看无论使用什么操作系统,问题是否会重现

答案3

回答我自己的问题,结果发现系统中的一个硬盘确实有故障,但正如我最初指出的那样,通常的诊断程序都无法检测到故障。最后,出于沮丧,我从服务器上复制了所有关键数据,并将两个驱动器放入两个相同的台式机系统中,我一直在尝试安装 Linux。其中一个工作正常,但另一个在格式化驱动器时几乎总是锁定。更换格式化期间锁定的驱动器解决了问题,但我仍然无法确定具体故障。西部数据无论如何都更换了驱动器。

相关内容