ReadyNAS Duo v2 读写性能较慢

ReadyNAS Duo v2 读写性能较慢

尽管使用千兆局域网,我的 ReadyNAS Duo v2 的读写速度仍然很慢。我使用的是 2 个 2TB 的 Western Digital Green 硬盘。我发现读取速度为 3MB/秒,写入速度为 1MB/秒。

如能得到任何指点或建议我将非常感激。

答案1

据悉,Western Digital Green 硬盘受到名为 IDLE3 的问题的影响,该问题是一种固件设置,会告知硬盘过于频繁地停放磁头。我更改了此设置,发现我的 ReadyNAS Duo v2 有所改善。读取速度从 3 MB/秒提高到 30 MB/秒,写入速度从 1 MB/秒提高到 20 MB/秒。

有一个项目叫空闲3ctl可用于更改设置。最简单的方法是将驱动器从 NAS 中取出并放入运行 Linux 的计算机,然后使用以下命令更改设置:

sudo apt-get idle3

./idle3ctl -d /dev/sda

./idle3ctl -d /dev/sdb

关闭 NAS 电源并重新打开。

如果您想直接从 NAS 内部更改设置,则需要更复杂一些。过去,可以使用这些脚步。但是现在 Debian 已经停止支持“Squeeze”版本,因此还需要执行几个步骤:

  1. 通过安装名为“启用 Root SSH 访问”的应用程序来启用 SSH,该应用程序可在netear 网站
  2. 通过 SSH 进入您的 NAS(如果使用 Windows,您可以使用 Putty)。用户名和密码与您通过网页登录时使用的用户名和密码相同。
  3. 检查驱动器磁头停放的次数。如果次数达到数千次,则磁头停放的次数可能太频繁(我的值约为 220 万次)。

    smartctl -A /dev/sda | grep Load_Cycle_Count

    smartctl -A /dev/sdb | grep Load_Cycle_Count

  4. NAS 运行 Debian 6,称为 squeeze。该版本现已过时,因此您需要告诉 apt-get 从哪里获取更新。使用以下步骤将新值添加到 /etc/apt/sources.list

    vi /etc/apt/sources.list

    press 'i' to go into insert mode, then add the following lines:

    deb http://archive.debian.org/debian squeeze main

    deb http://archive.debian.org/debian squeeze-lts main

    now press 'escape' to exit insert mode, and type ':wq' to save the file and quit vi

    这些 URL 来自这里

  5. 安装 Aptitude,它有助于解决缺少的依赖项和冲突:

    apt-get install aptitude

  6. 告诉 apt-get 信任存档包(这些命令来自这里):

    sudo apt-get update -o Acquire::Check-Valid-Until=false

    aptitude install debian-archive-keyring

  7. 更新 apt-get

    update apt-get

  8. 运行以下命令安装 gcc。重要提示 - 不要接受它提供的第一个解决方案。第二个更好,因为它执行所需的降级。

    aptitude install build-essential

  9. 最后,我们可以安装名为idle3的程序,它允许我们更改固件中的值。

    cd ~

    wget https://downloads.sourceforge.net/project/idle3-tools/idle3-tools-0.9.1.tgz

  10. 如何使用它可以找到一般说明这里

  11. 下载 tarball 后(例如 0.9.1 版本),请解压缩它:

    tar xzvf idle3-tools-0.9.1.tar.gz

  12. 切换到源目录,并编译该工具:

    cd idle3-tools-0.9.1

    make

  13. 您现在应该有 idle3ctl 可执行文件。

    ls idle3ctl

  14. 检查版本

    ./idle3ctl -V

  15. 确定将其应用于哪个驱动器:

    cat /proc/partitions

  16. 如果您有两个 WD Green 硬盘,它们可能是:

    /dev/sda

    /dev/sdb

  17. 使用以下命令读取 IDLE3 值。这将告诉您驱动器在停放磁头之前等待的秒数:

    ./idle3ctl -g105 /dev/sda

  18. 要将其设置为 5 分钟(300 秒),请使用以下命令:

    sudo ./idle3ctl -s 138 /dev/sda

    sudo ./idle3ctl -s 138 /dev/sdb

  19. 事实上,完全关闭它可能值得(如上所述这里作者:Daniel Mauerhofer(WD 员工)

    ./idle3ctl -d /dev/sda

    ./idle3ctl -d /dev/sdb

    我禁用了该设置,一切运行正常。现在驱动器由 ReadyNAS 软件关闭,而不是驱动器本身。

  20. 重要提示 - 使用正常管理页面关闭驱动器,而不是重新启动。启动时,性能应该会更好。

PS. Western Digital 为 Windows 提供了一个称为 wdidle3.exe 的工具,可用于更改 Windows 中的设置。

答案2

Western Digital Green 硬盘实际上并不是为 NAS 设计的。除了 IDLE3 设置外,还有一项名为 TLER 的功能,它控制硬盘修复错误所用的时间。在合适的 NAS 硬盘上,此时间会保持较短。原因是,如果硬盘响应时间过长(因为它正在修复错误),RAID 可以判定硬盘出现故障,并将其从 RAID 中移除或启动重建。苏丹娜很好地描述了这个问题:

由于我最近遇到了这个问题,我可以尝试解释大多数人所说的“RAID 功能”的含义。

西部数据的所有硬盘均可放入 RAID 阵列,但并非所有硬盘都支持 RE(RAID 版)硬盘所具备的功能,且连接至 RAID 控制器时 RE(RAID 版)硬盘更适合于这些功能,无论是全硬件附加卡(Adaptec、LSI、Areca、Intel PCIe 和更高端的 HighPoint)还是板载固件控制器(如 Intel ICHxR、SiliconImage 和 Marvell 控制器),如错误恢复控制和双电机头驱动器。

TLER 是限时错误恢复,是 WD 的错误恢复控制版本(Seagates 和 Samsung 的错误恢复控制版本称为 CCLT),只有当阵列中的驱动器在尝试读取或写入扇区/块/页面/等时遇到错误时,它才会真正发挥作用。对于硬件 RAID 控制器上的驱动器,当尝试纠正应该镜像(在 RAID 1 中)或存储在奇偶校验中(在 RAID 5 中)的同一文件/块/页面/扇区之间的冲突时,控制器有自己的错误恢复级别。

当普通台式机硬盘遇到读取或写入错误时,它会尽可能多地重试读取或写入,恢复并重新映射坏扇区/页面/块/等,有时需要几分钟才能完成。在这段时间内,RAID 控制器会将硬盘视为无响应,并与 RAID 控制器的错误恢复方法发生冲突,并且通常会在花费的时间超过卡固件中设置的时间(通常为 10 秒)时从 RAID 阵列中删除“无响应”的驱动器,即使驱动器本身仍处于“良好状态”。在简单的 RAID 镜像中,阵列将经历重建过程,该过程几乎只是将数据从未删除的驱动器复制到删除的驱动器以维护完整镜像,如果同时考虑重建和重新验证过程,则可能需要几个小时 - 具体取决于数据量和镜像的驱动器的大小。在 RAID 5 阵列中,重建可能需要更长的时间。

RAID 版本驱动器(WD 的 RE2/3/4s 和 Seagate 的 Constellation 驱动器)除了硬件和保修差异外,固件中还有一个设置,可在 7 到 10 秒后停止读取或写入恢复操作尝试,并让 RAID 控制器通过从其他驱动器(在 RAID 1 中)或奇偶校验信息(RAID 5)复制数据进行恢复。如果我没记错的话,即使在固件 RAID 控制器(如英特尔的板载 ICHxR ROM)上,ERC 超时也是 10-14 秒。

话虽如此,某些桌面级硬盘可以使用 Linux 或 Windows 中的某些工具(例如 SmartMonTools)启用错误恢复控制,使其更适合在 RAID 阵列中使用 - 事实上,WD 有一个名为“TLER.exe”的工具,它实际上允许人们更改驱动器固件中的 ERC 设置(但是,它会将更改应用于该工具同时检测到的每个 WD 驱动器),但大多数 WD Green 驱动器(2008/2009 年后制造)不再支持其固件中的该功能,而 Seagate Barracuda 驱动器可以支持启用 CCTL,但如果驱动器断电,将恢复为出厂固件设置(换句话说,如果系统热重启,设置会保留,但如果关机并冷启动,则 CCTL 将恢复为禁用状态 - 该设置在固件中是不稳定的)。

也就是说,TLER/CCTL 错误恢复控制设置有时会使 RAID 版本驱动器本身并不真正适合单个桌面使用,因为如果它们遇到类似的读/写错误,驱动器将在 7 到 10 秒后停止尝试,而不是像普通台式机驱动器那样继续尝试尽可能多的次数。

换句话说,只要台式机硬盘永远不会遇到读/写错误或坏扇区(这是不切实际的期望),台式机硬盘就可以像企业硬盘一样在 RAID 阵列中正常工作。唯一不会出现问题的情况是在 Windows 中本机使用软件 RAID,因为操作系统本机知道动态磁盘和镜像/带奇偶校验的条带配置信息,因为它们存储在磁盘上,而不是固件 ROM 或硬件 BIOS 中。

最终,您的里程可能会有所不同,因为有些人在板载 RAID 控制器 (固件 RAID) 上创建了 RAID 5 阵列,使用常规台式机硬盘没有遇到任何问题,而有些人在 LSI PCIe 卡上创建了 RAID 5 阵列,并配有电池备份和 256MB 板载缓存,使用 WD RE4 硬盘,但遇到了问题。RE 硬盘发生故障,并且可以像台式机硬盘一样轻松地在同一位置取下整个阵列,具体取决于它们配置的 RAID 阵列类型。最后,不建议在任何阵列中使用桌面级硬盘,除了简单的镜像,在任何情况下都不支持任何已知驱动器制造商。

如果我遗漏了什么,请随时提出

相关内容