FreeBSD zfs 超时错误

FreeBSD zfs 超时错误

我有 FreeBSD 8.2 和 ZFS v28。 8 个 CPU 核心,16Gb RAM。 ZFS 镜像 raid 上的两个磁盘驱动器 (1.5Tb WD Green)。

我的系统奇怪地使用内存。当有大量空闲(有线)内存时,它开始使用交换,然后不清理它!掉期使用量持续增长。munin 图交换

然后我在我的 kvm 上看到这些消息: kvm日志

所有文件读取或写入似乎都非常慢。例如,当我使用 ssh 时,nano /etc/rc.conf它会暂停 3-5 秒才开始工作。

我的磁盘驱动器会很快失效吗?或者问题出在其他地方?

答案1

您已阅读ZFS 调优指南, 正确的?

ZFS 的早期版本在内存管理方面存在不少问题,尤其使用重复数据删除和/或压缩选项时。在很长一段时间里,ZFS 挂起的一个简单方法是设置compression=gzip 并开始复制数据。 ZFS 的更高版本要好得多。如果可以的话,您应该升级到 FreeBSD 8.4 或 9.1。

我家里有一个非常相似的系统(16GB RAM,ZFS 镜像中的 2 个 3TB SATA 磁盘),自从升级到 FreeBSD 9.1 以来一直坚如磐石。我启用了压缩,并在 /boot/loader.conf 中设置了这些设置:

# attempts to get ZFS more stable
vfs.zfs.arc_max="4096M"
kern.maxvnodes=250000
vfs.zfs.prefetch_disable=1
vm.kmem_size="1024M"
vm.kmem_size_max="1024M"

另一件需要检查的事情是主板的 SATA 端口设置。最初,我的主板将 SATA 端口设置为 IDE 模式,ZFS 下的性能很糟糕,使内存耗尽问题变得更糟。将它们切换到 AHCI 模式后,磁盘性能非常好。

答案2

这看起来像是硬件问题 - 驱动器或控制器。由于ad4和均存在错误ad6,因此可能是控制器的问题。我建议尽快备份所有重要数据。

您可以尝试安装sysutils/smartmontools以查看是否报告任何 SMART 错误。

至于你的内存使用情况,这似乎很奇怪。即使您使用 ZFS v28 的重复数据删除功能,我也不认为 1.5TB 文件系统会占用那么多 RAM。您可以尝试运行top -S -osize以查看正在使用内存的内容。

答案3

您可以使用以下方法进行检查:

  • smartctl -s on -A /dev/adX

另外,检查当前 PEnding Sector(坏扇区)和 UDMA CRC Error Count(电缆错误)的原始值。

这也可能是旧版 ATA 驱动程序(“ad”)中的问题,而较新的 AHCI 驱动程序称为“ada”,并且使用现代代码和共享 CAM 设计应该会好得多。您的 BIOS 控制器必须设置为 AHCI 才能正常工作。

相关内容