![ZFS 和绿色驱动器/TLER](https://linux22.com/image/606070/ZFS%20%E5%92%8C%E7%BB%BF%E8%89%B2%E9%A9%B1%E5%8A%A8%E5%99%A8%2FTLER.png)
我正在设置一个基于 freenas 和 ZFS 的 NAS 盒。
我读过很多帖子(比如这个一) 关于 ”深度恢复“使用 RAID-5 时,可以使用绿色驱动器。
ZFS(与 Raid-5 相比)是否意味着这个问题消失了,还是我仍然应该考虑将红色或黑色驱动器放入我的 NAS?
答案1
WDC 绿盘存在“深度恢复”问题。您需要红盘或 RE 盘来避免此问题。
我家里有 ZFS RAIDZ 的绿色硬盘。它们已经连续运行了近 3 年,没有出现任何错误。这可能只是运气好,但错误通常不会经常发生。所以你必须问,成本差异是否值得。将正常运行时间的值乘以故障可能性,现在您就知道了应该花在可以减轻潜在故障模式的技术上的额外金额。在大多数商业情况下,答案显然是肯定的,因为成本差异相当小。
答案2
只要您知道如何修改设置,WD Green 硬盘就没问题。我认为 WD 习惯于将其固件标准化为多个产品线,并对固件中的设置进行细微修改以区分这些产品线。
例如,绿色硬盘没有宣传支持 TLER,并且以“凉爽安静”作为营销口号之一。红色硬盘则相反 - 它们具有 TLER 并且不会减速(或超时默认为更长的间隔)。但是,这两种型号的固件都支持打开或关闭这些功能。
我已经使用WDTLER
和WDIDLE3
实用程序修改了绿色驱动器的固件设置,现在 TLER 设置为开启,并且它们不会自动旋转。
我没有使用 ZFS,但据我所知,TLER 可以帮助您避免 ZFS 和硬件 RAID 控制器的“深度恢复”错误。(在 Seagate 中,它也被称为 ERC)。(更新:我现在正在使用 ZFS,随后我已关闭 TLER)。
在我配置的任何 3 种 WD Green 驱动器型号上启用 TLER 时,我都没有遇到任何问题:WD20EZRX, WD20EARX
并且WD20EARS
我可以亲自保证这些型号,但不能保证其他任何型号。
这些年来我购买的 6 个 WD 2TB 绿色硬盘目前用于 RAID-10 阵列,该阵列使用 PCI 直通到 ESXi 6.5a 中的 Synology Diskstation VM,之前是 Ubuntu 12.04 裸机中的 MDADM/LVM 阵列。控制器是 Supermicro X9SCL-FO 上的 Intel Cougar Point HBA。更新:一年后我仍然拥有这些相同的硬盘,现在它们位于使用 ZFS 3-vdev 条带镜像的 FreeBSD 11.1-RELEASE VM 中。
自 2010 年以来,EARS 的硬盘几乎 24/7 全天候运行,EARX 的硬盘自 2012 年以来一直如此,EZRX 的硬盘自 2015 年以来一直如此。在使用上述实用程序修改固件设置后,它们似乎完全可以用于 RAID。但是,不建议将它们原厂用于 NAS 而不进行修改。较旧的硬盘由于 24/7 全天候使用而不关闭空闲/旋转停止功能,因此电源循环次数极高,因为我在拥有它们几年后才知道要关闭它。
WD Reds 还宣传了其他功能,例如减震功能,据说有助于适应各种阵列大小。但是,我在 6 驱动器阵列中使用 Green 驱动器时没有遇到任何问题(我使用两个 IStarUSA 2x5.25 到 3x3.5 热插拔托架转换器)。因此,这种体验让我怀疑这些“功能”只不过是营销热词,以帮助抬高 Red 驱动器的价格。
我想为有兴趣使用的人添加参考 WDIDLE3
:
问题的根源在于西部数据试图让设备“更环保”——使用更少的电力。实现这一目标的一种方法是,在八秒钟没有读/写请求后,将磁头停放在塑料垫上,而不是让它们漂浮在硬盘的旋转盘片上。每天加起来有 10,800 次循环。无数次的刮擦会逐渐磨损磁头。根据一些文献,250,000 到 1,250,000 次循环将导致损坏,从而导致读/写错误。如果你算一下,如果你在一台使用频繁的服务器上使用硬盘,数据损坏将在 23.148 到 115.741 天内开始。普通消费者直到后来才会注意到读/写问题。一些 WD 驱动器报告每天有 3,000 到 5,000 次循环。按照这个速度,第一次数据损坏将在 83.33 到 250 天内开始。
根据我的经验,早期数据丢失一般用户不会注意到。如果未访问、编辑和保存工作文件,则不会出现任何故障迹象。随着多次使用,硬盘驱动器上会出现丢失的扇区,索引也会损坏。然后,损坏就会显现出来。在启动过程中,Windows 操作系统将开始使用检查磁盘 (chkdsk/f) 来修复错误。在此过程中,大量不良信息会被删除,损坏的索引会被重新更正。最终,在用户意识到问题之前,50% 到 60% 的驱动器会被清除。他访问一个文件,但没有任何文件。使用文件管理器,进一步检查会发现其他丢失的数据。这种退化需要时间 - 几个月到一年,具体取决于计算机的使用情况。
尽管如此,六年的投诉迫使制造商采取行动 - 提供固件修复。WDIDLE3.EXE
软件用于将停车周期重置为五分钟。对于普通用户,此更改将停车周期降低到每天 133 次。这在行业平均水平之内。大多数驱动器每天经历 10 到 200 次,额定值约为 600,000。WDIDLE3.EXE
也可以关闭磁头停车。不幸的是,不建议这样做。用户报告说驱动器速度降低到爬行或出现读/写问题。。这个解决方案是公共关系的杰作。WD 没有停用或消除新制造的驱动器上的八秒磁头停车周期,而是强迫用户在售后进行固件更改。这个过程并不容易,公司的网站没有解释或提供任何信息 - 它只提供软件。该过程需要拔下连接到 SATA 端口的所有其他设备,并多次重置 BIOS。计算机必须通过 CD 或 USB 2.0 拇指驱动器在 DOS 中启动并输入所需的代码。仅仅寻找创建启动设备所需的软件就很麻烦。
因此,不懂技术的消费者不会采取任何措施,任由硬盘出现故障。对于“技术人士”来说,这需要花费数小时进行研究、互联网搜索和反复试验。希望他们也会灰心丧气。一举一动,该公司平息了批评者,并保持了高销量。
我已经完成了必要的工作。因此,这是使用启动 USB 2.0 驱动器的最简单的过程。
下载以下程序......
. . . . HP USB 磁盘存储格式化工具
. . . . . Z 压缩包
....wdidle3.exe
. . . . . FreeDOS (fd11src.iso)
按此顺序执行以下操作来创建启动 USB 2.0 闪存驱动器。
. . . . . 1. 安装 Z-Zip
。。。。。。2. 使用 Z-Zip 提取 HP USB 磁盘存储格式化工具和 FreeDOS iso。
.... .... 3. 安装 HP 软件。
.... .... 4. 在计算机的一个 USB 2.0 端口上安装 USB 2.0 闪存驱动器。
. . . . . . . 右键单击 HP 图标。
.... .... .... 转至兼容性/权限级别。
.... .... .... 勾选以管理员身份运行该程序。
......退出程序。
. ...
. . . . . . 选择 FAT 作为文件系统
. . . . . . 勾选“创建 DOS 启动盘”
. . . . . . 转至使用位于的 DOS 系统文件并指向
. . . . . . . . . FreeDOS 文件的子目录。它是 \FREEDOS\SETUP\ODIN
. . . . . 6. 格式化 USB 2.0 闪存驱动器。根据大小,可能需要一些时间。
. . . . . . 7. 使用 WINDOWS EXPLORER 将 WDIDLE3.EXE 复制到已格式化的 USB 2.0 闪存驱动器。
关掉你的电脑。
。。。。。。。1. 拔掉 SATA 端口上所有设备的两根线,使其失效。您肯定不希望 WDIDLE3.EXE 破坏它们的固件设置。
.... .... 2. 连接您的西部数据红盘。
重启你的电脑。
.... .... 1. 进入您的电脑的 BIOS 设置。
。。。。。。。2. 关闭 AHCI。这样您的闪存驱动器才能被识别。
. . . . . . 3. 将拇指驱动器设置为第一个可启动驱动器。
.... .... 4. 保存 BIOS 设置并退出。
重启电脑。你的 U 盘应该可以启动电脑并进入 MS-DOS。
. . . . . 1. 输入“wdidle3.exe”(不带引号)并按 ENTER。这将激活该程序。
。。。。。。2. 输入“wdidle3.exe /r”(不带引号)并按 ENTER。这将显示当前超时时间。出厂默认值为 8 秒。
。。。。。。。3. 输入“wdidle3.exe /s300”(不带引号)并按 ENTER。这会将自动停车计时器更改为 300 秒或 5 分钟 - 允许的最大值。
. . . . . 4. 输入“wdidle3.exe /r”(不带引号)并按 ENTER。这将检查硬盘是否已接受更改。
.... .... 5. 关闭您的电脑。
如果需要处理另一个硬盘,请拔出两根连接线,将其连接到下一个西部数据红盘,然后重复上述过程。
完成后,关闭计算机并重新插入 SATA 设备。
. . . . . 1. 打开电脑
. . . . . 2. 返回您的 PC BIOS 设置。
.... .... 3. 打开 AHCI。
.... .... 4. 更改您的启动顺序。
.... .... 5. 保存设置并退出。
注意:我没有写本指南,据我记得,我在执行固件修改时已插入所有驱动器(您可以使用软件选择特定驱动器),并使用 AHCI,并且没有遇到任何问题。YMMV。
答案3
我认为真正的问题是将要ZFS 的 TLER 有问题?我无法从个人经验中说出来,因为我还没有遇到过这个问题。FreeNAS 论坛对这个问题有一些很好的讨论。我认为这个帖子最适合回答你的问题。回答你问题的最佳段落是:
那么 TLER 对 ZFS 重要吗?据我所知,这个 TLER 答案实际上是基于硬件而不是软件。只要您的硬盘没有从阵列中掉线,并且硬盘不会永久尝试读取扇区,那么您应该没问题。只要您接受这样一个事实:当发现坏扇区并且您正在观看电影时,该电影可能会冻结 30 秒左右,那么一切都会好起来。
我找到了另一个线在 FreeBSD ZFS 论坛上也讨论了 TLER 的作用。这个帖子看起来也回答了你的问题。
使用 ZFS,您希望让驱动器自行处理,而不是因为 TLER 而提前返回。该功能仅对 RAID 控制器有用,如果驱动器需要时间进行恢复,RAID 控制器会决定崩溃并执行奇怪的操作(例如过早丢弃驱动器)。当驱动器连接到“哑”HBA(如 ZFS 所建议的那样)时,FreeBSD 内核将控制这些超时,ZFS 将等待驱动器从任何介质故障中恢复,而不会真正关心这需要多长时间。我相信最大驱动器超时是由 FreeBSD 磁盘控制器驱动程序以及驱动器本身的默认超时决定的。
所以是的,当不使用特殊的 RAID 控制器时,我认为 TLER 是不相关的。
因此,在阅读这些帖子后,我个人认为硬件控制器确实起到了一定作用(尽管作用很小)。如果你正在使用 JBOD 并让 ZFS 直接访问磁盘,我相信TLER 是可以处理的。我不确定的是 ZFS 的响应能力如何(具体取决于 RAID 配置)。我很好奇,RAID-Z2 处理 TLER 是否会比 RAID-0 或 1 或 10 更困难,因为需要额外的时间进行奇偶校验计算。
编辑:(忘记回答问题)
ZFS(与 Raid-5 相比)是否意味着这个问题消失了,还是我仍然应该考虑将红色或黑色驱动器放入我的 NAS?
我认为 ZFS 可以处理 TLER,但 ZFS 最终可能会从阵列中删除磁盘以使其完成修复。我还认为固件版本对每个磁盘供应商都很重要,但这本身就是另一个问题。我的观点是:如果您在 JBOD/passthrough 中使用带有受支持的 HBA 或 RAID 控制器的 ZFS,我认为您可以选择 WD Red 或 Black。我只是在我的 ZFS 阵列中安装了一对 WD Reds,所以如果发生任何事情,我会更新这篇文章,但我认为要记住的关键思想是您应该没问题只要 ZFS 具有直接访问到磁盘。